Accept MIL-009 and add the Git excludes step (task 2) #71

Merged
Tirsvad merged 3 commits from mil-009-exclude-framework-files into main 2026-10-08 08:13:53 +02:00
Owner

Follows #70, which merged the plan for MIL-009 while it was still Proposed. This PR accepts the milestone and adds its first code task.

  • Acceptance: review record RC-032 (Go). S02 gave the Go in chat on 2026-10-08 and waived the PlantUML render check, because no PlantUML server is configured; the diagrams of SD-001, DCD-001 and DCD-002 were not rendered. MIL-009 and the documents #70 changed are set to Accepted, and the rows before them to Deprecated.
  • Code, task 2 (Task: MIL-009#2): a "Git excludes" step in create-project.sh that writes /.claude, /.agents and /AGENTS.md to .git/info/exclude after the templates are copied. No .gitignore or tracked file changes and nothing is committed. The step is skipped when the framework steps are skipped, and a path git already tracks stays tracked and is named in the step. The .env exclusion code moved into the shared helper exclude_from_git; its behavior is unchanged.

Not in this PR yet: the README (#67), the tests for the new step (#68) and the version bump to 0.3.2 (#69). Go/No-Go criteria 1 to 8, 10 and 11 of MIL-009 are therefore not checked yet.

Checks run: shellcheck and shfmt are clean, the existing .env exclusion tests pass, and the new step was exercised by hand in scratch repositories (a fresh project, a second run, a file without a final newline, a tracked AGENTS.md, framework steps skipped, paths already ignored). The full test suite had not finished when this was written.

For the reviewer: the whole .claude and .agents folders are excluded, not only their skills folders, as requested (UC-001 rule, step 9).

No issue closed: #65 closed with #70, and #66 stays open until the full test suite has passed.

Refs #66

Follows #70, which merged the plan for MIL-009 while it was still `Proposed`. This PR accepts the milestone and adds its first code task. - **Acceptance**: review record RC-032 (Go). S02 gave the Go in chat on 2026-10-08 and waived the PlantUML render check, because no PlantUML server is configured; the diagrams of SD-001, DCD-001 and DCD-002 were not rendered. MIL-009 and the documents #70 changed are set to `Accepted`, and the rows before them to `Deprecated`. - **Code, task 2** (`Task: MIL-009#2`): a "Git excludes" step in `create-project.sh` that writes `/.claude`, `/.agents` and `/AGENTS.md` to `.git/info/exclude` after the templates are copied. No `.gitignore` or tracked file changes and nothing is committed. The step is skipped when the framework steps are skipped, and a path git already tracks stays tracked and is named in the step. The `.env` exclusion code moved into the shared helper `exclude_from_git`; its behavior is unchanged. Not in this PR yet: the README (#67), the tests for the new step (#68) and the version bump to 0.3.2 (#69). Go/No-Go criteria 1 to 8, 10 and 11 of MIL-009 are therefore not checked yet. Checks run: shellcheck and shfmt are clean, the existing `.env` exclusion tests pass, and the new step was exercised by hand in scratch repositories (a fresh project, a second run, a file without a final newline, a tracked `AGENTS.md`, framework steps skipped, paths already ignored). The full test suite had not finished when this was written. For the reviewer: the whole `.claude` and `.agents` folders are excluded, not only their `skills` folders, as requested (UC-001 rule, step 9). No issue closed: #65 closed with #70, and #66 stays open until the full test suite has passed. Refs #66
Tirsvad added 3 commits 2026-10-08 08:10:48 +02:00
S02 gave the Go in chat on 2026-10-08 and waived the PlantUML render check
(no PlantUML server is configured). Add the review record RC-032, set the
latest Version History rows of MIL-009 and the changed documents to Accepted
and the rows before them to Deprecated, and record the review in the
traceability matrix.
After the templates are copied, create-project.sh adds /.claude, /.agents and
/AGENTS.md to .git/info/exclude of the new project as its own step, "Git
excludes". No .gitignore or tracked file changes and nothing is committed.
The step is skipped when the framework steps are skipped, and a path git
already tracks stays tracked and is named in the step.

The .git/info/exclude code of exclude_env_file moves into the shared helper
exclude_from_git (git.sh), which both now use; the .env behavior is unchanged.

Refs #66
Task: MIL-009#2
Tirsvad merged commit e9872fa3ed into main 2026-10-08 08:13:53 +02:00
Sign in to join this conversation.