refactor(pipeline): ignore specs/plans via project-local docs/.gitignore
Replace the global ~/.config/git/ignore mechanism with a committed, per-project docs/.gitignore whose entries `specs/` and `plans/` are relative to docs/. The ignore now travels with each repo instead of living in the user's global excludes. specify (Step 3) and planner (intro) create docs/.gitignore on demand if a project has not set it up yet, so a spec/plan can never become committable. conventions.md § File layout is the single source; the onboarding fragment tells a new project to set it up. The global ~/.config/git/ignore block is removed separately (it is outside this repo).
This commit is contained in:
@@ -68,15 +68,17 @@ Two rules govern who touches git history and how:
|
||||
## Spec/plan artefacts are ephemeral
|
||||
|
||||
`docs/specs/` and `docs/plans/` hold only the active cycle's spec and
|
||||
plan, and they are **git-ignored** — never committed (the plugin ignores
|
||||
them globally via `~/.config/git/ignore`; a project may add its own
|
||||
`.gitignore` entry instead). Each is a working file: present on disk for
|
||||
its own cycle, read across sessions from the working tree, and
|
||||
shell-`rm`'d at cycle close by `audit` — never `git rm`'d, since it was
|
||||
never tracked, so no git-history copy survives. The durable record of a
|
||||
past cycle is the design ledger only, and no durable artefact cites a
|
||||
spec/plan by number or path (see `~/dev/skills/docs/conventions.md`
|
||||
§ Lifecycle).
|
||||
plan, and they are **git-ignored** — never committed. This repo carries
|
||||
a committed `docs/.gitignore` with the two entries `specs/` and `plans/`
|
||||
(relative to `docs/`); that ignore file is the only committed part — the
|
||||
spec and plan files it covers never are. If `docs/.gitignore` is missing
|
||||
when the first working file is written, the writing skill creates it.
|
||||
Each spec / plan is a working file: present on disk for its own cycle,
|
||||
read across sessions from the working tree, and shell-`rm`'d at cycle
|
||||
close by `audit` — never `git rm`'d, since it was never tracked, so no
|
||||
git-history copy survives. The durable record of a past cycle is the
|
||||
design ledger only, and no durable artefact cites a spec/plan by number
|
||||
or path (see `~/dev/skills/docs/conventions.md` § Lifecycle).
|
||||
|
||||
## Design rationale ≠ implementation effort
|
||||
|
||||
|
||||
Reference in New Issue
Block a user