Skip to content

.gitignore: nested tooling caches under reincluded _bmad-output subtrees not ignored #52

Description

@Simplemart17

Context

Surfaced by Edge Case Hunter on PR #48 (story 9-9, finding D16).

Concern

.gitignore lines 108-111 narrow the prior _bmad* blanket rule to:

_bmad/
_bmad-output/*
!_bmad-output/implementation-artifacts/
!_bmad-output/planning-artifacts/

The ! carve-outs re-include the implementation-artifacts/ and planning-artifacts/ directories whole. A future tool that writes to _bmad-output/planning-artifacts/some-tool-cache/ (under a re-included subtree) is not ignored — the cache will be staged on the next git add ..

This is the same regression class that AC #9 tried to fix (silently dropping new files), inverted: silently STAGING new files.

Suggested fix

Pick one:

  1. File-level carve-outs — narrow the ! rules to specific extensions: !_bmad-output/implementation-artifacts/**/*.md and !_bmad-output/implementation-artifacts/**/*.yaml. Prevents tooling caches under those dirs from being included.
  2. Documented carve-out policy — add a comment requiring future workflow authors to update .gitignore if they introduce new artifact subdirectories.
  3. Wait for the first incident — defer until a real cache directory appears; address then.

Files

  • .gitignore:108-111

Pull request: #48

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech-debtFollow-up work surfaced by code review or audit; not a current bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions