Skip to content
janitor-sh logo

janitor-sh: automated cleanup for real repositories

Run one command to apply formatting and lint fixes across Python, JavaScript/TypeScript, Rust, and Markdown. Use it locally or wire it into CI.

Local development

Start with uv tool install janitor-sh, then run janitor --no-commit to apply fixes without creating a commit.

GitHub Actions

Use janitor-sh/action@v1 with contents: write permissions when you want janitor to commit fixes.

GitLab CI/CD

Include the shared template and set JANITOR_COMMIT_MODE to default, auto, or none for explicit commit behavior.

Language examples

Reference Python, Go, Rust, TypeScript, and Markdown example repositories to copy proven workflows.

janitor orchestrates these tools when they are relevant to your repository:

  • ruff
  • biome
  • clippy
  • cargo-fmt
  • rumdl

Use the docs sidebar to jump directly to setup, CI/CD, examples, and detailed reference pages.