Lewati ke konten utama

Contributing

Contributing to Path Header Scanner

Review Checklist

Kembangkan language-aware scanning changes dengan bukti bahwa preview, apply, dan dry-run tetap aman.

Commandmake check

Category

Developer Guide

Quick Command

scope -> implement -> validate -> document -> hand off

qualitytestspreviewdry-runpre-commit

Overviewโ€‹

Pertahankan CLI interaction di app/cli, reusable scanning di app/core/scan, dan language syntax di app/languages. Contribution tidak boleh secara diam-diam mengubah preview menjadi apply behavior atau mengizinkan configuration melewati dry-run.


Contribution Workflow

Workflow Timeline

1
Telusuri scan path
Ikuti target dan workdir resolution melalui discovery, language selection, validation, processing, update, dan presentation.
completed
2
Tentukan file contract
Daftar discovered files, exclusions, expected headers, allowed writes, failures, dan dry-run behavior.
completed
3
Implementasikan bersama tests
Pertahankan focused scanner dan language responsibilities serta uji preview dan approved mutation paths.
current
4
Jalankan widening validation
Jalankan focused scanner tests, pre-commit checks, make check, dan complete suite.
pending
5
Sinkronkan documentation
Update commands, supported languages, configuration, output, safety, troubleshooting, dan architecture sesuai kebutuhan.
pending
6
Siapkan handoff
Laporkan affected files, test targets, quality outcomes, safety evidence, dan known limitations.
pending

Implementation Standards

Before You Begin

  • Resolve paths satu kaliRequired

    Tentukan workdir dan target sebelum discovery dan pertahankan output terikat pada resolved identity tersebut.

  • Pertahankan previewRequired

    Default scan behavior tidak boleh menulis target files.

  • Batasi applyRequired

    Hanya selected files dengan supported language strategies yang boleh di-update.

  • Lindungi dry-runRequired

    Dry-run harus mengesampingkan CLI dan configured apply values tanpa prompt atau file writes.

  • Dokumentasikan language behaviorRequired

    Sinkronkan syntax, examples, supported extensions, errors, dan recovery guidance.


Quality Gates

Contributor validation
bash
# 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-run

Final Review Checklist

Before You Begin

  • Scope tetap focusedRequired

    Setiap change mendukung scanner contract, tests, atau documentation.

  • Preview bersifat read-onlyRequired

    Tests membuktikan ordinary scan dan dry-run tidak mengubah target files.

  • Apply bersifat preciseRequired

    Hanya intended files dan headers yang berubah, disertai useful success dan failure summaries.

  • Quality results dicatatRequired

    Focused tests, full tests, formatting, lint, dan relevant builds memiliki explicit outcomes.

  • Release actions tetap terpisahRequired

    Versions, changelogs, tags, pushes, dan publication tidak berubah kecuali diminta secara explicit.