Files
compounding-intelligence/tests
Alexander Payne a9c652e576
Some checks failed
Test / pytest (pull_request) Failing after 9s
feat(linter): add linter runner for multi-language repo scanning (#155)
Implements #155 — a language-aware linter runner that detects repository
languages and runs appropriate linters (pylint, eslint, shellcheck, yamllint,
etc.), collects violations, and outputs structured reports.

Acceptance criteria:
  [x] Detects language per repo — based on file extensions
  [x] Runs: pylint (Python), eslint (JS/TS), shellcheck (Shell), yamllint (YAML)
  [x] Collects violations: file, line, column, message, severity, linter, code
  [x] Output: lint report per repo in console or JSON (--format json)

Files added:
- scripts/linter_runner.py — CLI tool + library functions
- tests/test_linter_runner.py — unit tests (language detection, parsing)

Usage:
  python3 scripts/linter_runner.py --repo .
  python3 scripts/linter_runner.py --repo . --format json
  python3 scripts/linter_runner.py --repo . --fail-on error

Output example:
  === Lint Report: my-repo ===
    python: 3 issues (1 errors, 2 warnings)
    shell:  1 issues (1 errors)
    Total:  4 issues
2026-04-26 00:58:02 -04:00
..