Skip to content

Pre-commit Integration

Use rumdl as a pre-commit hook to catch issues before they're committed.

Setup

Add to your .pre-commit-config.yaml:

.pre-commit-config.yaml
repos:
  - repo: https://github.com/rvben/rumdl-pre-commit
    rev: v0.0.222  # Use latest version
    hooks:
      - id: rumdl      # Lint + auto-fix, fails if unfixable issues remain
      - id: rumdl-fmt  # Pure format, always exits 0

Then install the hooks:

pre-commit install

Available Hooks

rumdl

Lints and auto-fixes files. Exits 1 if unfixable violations remain. Use this as your primary hook.

- id: rumdl

rumdl-fmt

Formats files in place and always exits 0. Relies on pre-commit's file-change detection to signal failures. Use alongside rumdl when you want to separate formatting from linting.

- id: rumdl-fmt

Recommended setup

Use rumdl first for lint coverage, then rumdl-fmt for formatting — the same pattern as ruff + ruff-format.

Configuration

Custom Arguments

hooks:
  - id: rumdl
    args: [--config, .rumdl.toml, --verbose]

File Filtering

hooks:
  - id: rumdl
    files: ^docs/.*\.md$  # Only lint docs/
    exclude: ^docs/drafts/

No Exclude

Exclude patterns from your config are always respected by default (as of v0.0.156).

To disable all configured exclusions, use --no-exclude flag.

hooks:
  - id: rumdl
    args: [--no-exclude]  # Disable exclude patterns defined in config

Stages

Run hooks at different stages:

hooks:
  - id: rumdl
    stages: [commit]  # Default

  - id: rumdl
    stages: [push]    # Run on push instead

Running Manually

# Run on all files
pre-commit run rumdl --all-files

# Run on staged files only
pre-commit run rumdl

Updating

# Update to latest version
pre-commit autoupdate --repo https://github.com/rvben/rumdl-pre-commit

Troubleshooting

Slow First Run

The first run downloads and installs rumdl. Subsequent runs use the cached version.

Files Not Being Checked

Check your files pattern matches your Markdown files:

hooks:
  - id: rumdl
    types: [markdown]  # Use file type instead of pattern

Conflicts with Other Formatters

Run rumdl last to ensure consistent formatting:

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    hooks:
      - id: trailing-whitespace

  - repo: https://github.com/rvben/rumdl-pre-commit
    hooks:
      - id: rumdl      # Run after other hooks
      - id: rumdl-fmt