Contributing
Contributing to Path Header Scanner
Develop language-aware scanning changes with evidence that preview, apply, and dry-run remain safe.
make checkCategory
Quick Command
scope -> implement -> validate -> document -> hand offOverviewโ
Keep CLI interaction under app/cli, reusable scanning under app/core/scan,
and language syntax under app/languages. A contribution must not silently
turn preview into apply behavior or allow configuration to bypass dry-run.
Contribution Workflow
Workflow Timeline
Implementation Standards
Before You Begin
- Resolve paths onceRequired
Determine workdir and target before discovery and keep output tied to that resolved identity.
- Preserve previewRequired
Default scan behavior must not write target files.
- Keep apply narrowRequired
Only selected files with supported language strategies may be updated.
- Protect dry-runRequired
Dry-run must override CLI and configured apply values without prompting or file writes.
- Document language behaviorRequired
Synchronize syntax, examples, supported extensions, errors, and recovery guidance.
Quality Gates
# Focused examples
python -m pytest tests/core/scan
python -m pytest tests/languages
# Complete validation
python -m pytest
make check
# Hook validation
make pre-commit-validate
make pre-commit-run-staged
make pre-commit-runFinal Review Checklist
Before You Begin
- Scope is focusedRequired
Every change supports the scanner contract, its tests, or documentation.
- Preview is read-onlyRequired
Tests prove ordinary scan and dry-run do not modify target files.
- Apply is preciseRequired
Only intended files and headers change, with useful success and failure summaries.
- Quality results are recordedRequired
Focused tests, full tests, formatting, lint, and relevant builds have explicit outcomes.
- Release actions remain separateRequired
Versions, changelogs, tags, pushes, and publication are untouched unless explicitly requested.