chore: audit-cleanup of .keep files (drop unused, document load-bearing ones) #151
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#151
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The current state
Four
.keepfiles exist in the repo, surfaced during the pre-1.0 audit pass discussion 2026-06-27:tests/.keeptests/has 10+.batsfiles; the.keepwas load-bearing only at initial scaffold (commit3bb81f2) when the directory was emptychangelog.d/.keepscripts/release-prep.sh:364callsdelete_fragments changelog.dafter each cut. Without.keep, the empty directory disappears from git → first-cut bootstrap fails for fresh consumers + toolkit-self breaksexamples/go-project/.keepexamples/node-project/.keepWhy
changelog.d/.keepis load-bearingrelease-prep.shinvokesdelete_fragments changelog.d(line 364) as part of the cut path's CHANGELOG transition. The script DELETES all files matching*.<kind>.mdpatterns from the directory. If at any point the directory contains only the deleted fragments + no.keep, git would see the directory as gone (git doesn't track empty directories).The first-cut bootstrap for fresh consumers also depends on
changelog.d/.keepbeing committed —docs/integration.mdStep 2 explicitly instructstouch changelog.d/.keep.Implementation surface
tests/.keep:git rmitchangelog.d/.keep: keep verbatim + add a brief comment in AGENTS.md or operations.md explaining why it must persistexamples/*/.keep: handled by #152 (file-level scope is part of that tracker's resolution)Estimated scope: trivially small (one file removal + one doc note). Could be bundled with another sprint or shipped solo as a 1-line cleanup.
Composition
examples/*/.keepfiles' disposition follows from #152's resolution (populate or retire).What this PR does NOT do
.keep/.gitkeepfiles exist in the reporelease-prep.sh's fragment-deletion behavior —.keepis preserved by the deletion logic (its filename doesn't match the fragment pattern)Refs
.keepfiles during the broader cleanup discussion + asked for a trackable home