|
29 | 29 | ├── GENERATED_DOCS_REFERENCE.md # Full aidlc-docs/ directory reference |
30 | 30 | └── writing-inputs/ # Guides and examples for vision/tech-env documents |
31 | 31 | .github/ |
32 | | -├── workflows/ # CI/CD pipelines (6 workflows) |
| 32 | +├── workflows/ # CI/CD pipelines (8 workflows) |
| 33 | +├── dependabot.yml # Dependabot dependency update configuration |
| 34 | +├── CODEOWNERS # Code ownership rules for PR reviews |
| 35 | +├── ISSUE_TEMPLATE/ # Issue templates |
33 | 36 | ├── pull_request_template.md # PR template with contributor statement |
34 | 37 | └── labeler.yml # Auto-label rules (path → label mapping) |
35 | 38 | .claude/ # Claude Code project settings |
|
53 | 56 |
|
54 | 57 | - CI/CD, workflows, or releases → `ADMINISTRATIVE_GUIDE.md`, `DEVELOPERS_GUIDE.md` |
55 | 58 | - aidlc-rules content → `WORKING-WITH-AIDLC.md`, `GENERATED_DOCS_REFERENCE.md` |
56 | | -- Installation or setup instructions → `docs/writing-inputs/` |
| 59 | +- Vision or technical environment documents → `docs/writing-inputs/` |
57 | 60 |
|
58 | 61 | ## Setup commands |
59 | 62 |
|
@@ -142,29 +145,38 @@ For full remediation and suppression details, see |
142 | 145 | Short guidance for agents: prefer the repository uv wrapper and npx-based tools. Read docs/DEVELOPERS_GUIDE.md and docs/ADMINISTRATIVE_GUIDE.md before running any commands. |
143 | 146 |
|
144 | 147 | Tests (uv): |
| 148 | + |
| 149 | +```bash |
145 | 150 | uv run pytest |
146 | 151 | uv run pytest --cov --cov-report=term-missing |
| 152 | +``` |
147 | 153 |
|
148 | 154 | Markdown lint (npx): |
| 155 | + |
| 156 | +```bash |
149 | 157 | npx markdownlint-cli2 "**/*.md" |
150 | 158 | npx markdownlint-cli2 --fix "**/*.md" |
| 159 | +``` |
151 | 160 |
|
152 | | -Dockerized security scans (recommended for local, cross-platform) |
153 | | -- Grype: |
154 | | - docker run --rm -v "$PWD:/workspace" anchore/grype:latest grype dir:/workspace -o sarif=grype.sarif |
155 | | -- Gitleaks: |
156 | | - docker run --rm -v "$PWD:/repo" zricethezav/gitleaks:latest detect --source /repo --report-format sarif --report-path gitleaks.sarif |
157 | | -- Semgrep: |
158 | | - docker run --rm -v "$PWD:/src" returntocorp/semgrep semgrep --config=r/all --sarif /src > semgrep.sarif |
159 | | -- Checkov: |
160 | | - docker run --rm -v "$PWD:/src" bridgecrew/checkov --directory /src --output-file-path checkov.sarif --output sarif |
161 | | -- Bandit: |
162 | | - docker run --rm -v "$PWD:/src" python:3.12-slim bash -c "pip install -q bandit && bandit -r /src -f sarif -o /src/bandit.sarif" |
163 | | -- ClamAV: |
164 | | - docker run --rm -v "$PWD:/data" mkodockx/docker-clamav clamscan -r /data --log=/data/clamdscan.txt |
| 161 | +Dockerized security scans (recommended for local, cross-platform): |
| 162 | + |
| 163 | +```bash |
| 164 | +# Grype |
| 165 | +docker run --rm -v "$PWD:/workspace" anchore/grype:latest grype dir:/workspace -o sarif=grype.sarif |
| 166 | +# Gitleaks |
| 167 | +docker run --rm -v "$PWD:/repo" zricethezav/gitleaks:latest detect --source /repo --report-format sarif --report-path gitleaks.sarif |
| 168 | +# Semgrep |
| 169 | +docker run --rm -v "$PWD:/src" returntocorp/semgrep semgrep --config=r/all --sarif /src > semgrep.sarif |
| 170 | +# Checkov |
| 171 | +docker run --rm -v "$PWD:/src" bridgecrew/checkov --directory /src --output-file-path checkov.sarif --output sarif |
| 172 | +# Bandit |
| 173 | +docker run --rm -v "$PWD:/src" python:3.12-slim bash -c "pip install -q bandit && bandit -r /src -f sarif -o /src/bandit.sarif" |
| 174 | +# ClamAV |
| 175 | +docker run --rm -v "$PWD:/data" mkodockx/docker-clamav clamscan -r /data --log=/data/clamdscan.txt |
| 176 | +``` |
165 | 177 |
|
166 | 178 | Notes: |
| 179 | + |
167 | 180 | - These commands write SARIF/text artifacts to the project root so CI/agents can consume them. |
168 | 181 | - CI already runs scanners; use these for local verification when Docker is available. |
169 | 182 | - If Docker is unavailable, use the platform-specific installs documented in docs/DEVELOPERS_GUIDE.md. |
170 | | -- Keep Copilot-specific instructions in .github/instructions/ to avoid duplication. |
|
0 commit comments