Code Quality Check (Read-Only)
Run all quality checks and report results. Do not auto-fix anything.
Tools
This project uses the following hooks in .pre-commit-config.yaml:
- ruff — Python lint
- ruff-format — Code formatting
- pyright — Static type checking
- bandit — Security vulnerability scan
Execution
Run in order:
# 1. Lint (no fix)
uv run ruff check src/ tests/
# 2. Format check (no fix)
uv run ruff format --check src/ tests/
# 3. Type check
uv run pyright
# 4. Security scan
uv run bandit -c pyproject.toml -r src/
Output Format
## Code Quality Report
### Ruff Lint
- Status: [pass/fail]
- Issues found: [count]
- Key issues:
- [file:line] [rule-id] [description]
### Ruff Format
- Status: [pass/fail]
- Files needing formatting: [count]
### Pyright
- Status: [pass/fail]
- Type errors: [count]
- Key errors:
- [file:line] [error message]
### Bandit
- Status: [pass/fail]
- Security issues: [count]
- By severity: High [n] / Medium [n] / Low [n]
On failures:
- Lint/format issues → "Auto-fixable with the
auto-fixskill" - Type errors → "Requires manual fix — locations listed above"
- Security issues → "Review High severity first"
If all pass: output Code quality checks passed ✓ only.