| name | lint-fix |
| description | Run all project linters (ruff check, ruff format, mypy, eslint) and auto-fix every violation. Fixes line-length, type annotations, unused vars, and formatting in one pass. |
Lint Fix — Full Project Lint & Type Sweep
Run every linter the project uses, collect all violations, and fix them in a single
pass. Handles Python (ruff + mypy) and TypeScript (eslint) together.
Instructions
Phase 0 — Run All Linters
Run all four checks in parallel and collect their output:
ruff check cachibot/ — lint errors (E501, F841, etc.)
ruff format --check cachibot/ — formatting drift
mypy cachibot/ — type errors (only in cachibot/, NOT transitive errors
from prompture or other installed packages)
cd frontend && npx eslint src/ — TypeScript lint (errors only, warnings are informational)
Parse each tool's output into a list of { tool, file, line, code, message } findings.
Important: When parsing mypy output, discard any finding whose file path is
outside cachibot/ (e.g., errors in installed packages like prompture). Also
discard import-not-found errors for prompture.* and tukuy.* modules — those are
expected when the editable installs are out of sync and are not CachiBot bugs.
If zero findings remain after filtering, tell the user everything is clean and stop.
Phase 1 — Auto-Fix What Tools Can
Run the auto-fixers first to knock out the easy ones:
ruff check --fix cachibot/ — auto-fix simple lint issues
ruff format cachibot/ — reformat any drifted files