@warnyin/sdlc 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.2 (2026-08-20)
4
+
5
+ - `init` (and `update`) now drop a `.gitkeep` in `sdlc/changes/archive/`, so the
6
+ directory survives a commit and is still there after a clone. 0.2.1 made
7
+ `archive` recover from the missing directory; this stops it going missing.
8
+ The marker is not payload-owned — prune never reclaims it and the installer
9
+ never warns about it.
10
+
3
11
  ## 0.2.1 (2026-08-20)
4
12
 
5
13
  - **Fix**: `archive` failed with `ENOENT` on the first change a repo ever ships.
package/bin/cli.mjs CHANGED
@@ -189,6 +189,12 @@ function scaffoldSdlc(projectRoot, tools, ctx) {
189
189
  fs.mkdirSync(path.join(sdlcRoot, dir), { recursive: true });
190
190
  }
191
191
 
192
+ // git does not track empty directories, so changes/archive/ vanishes for
193
+ // anyone who clones before the first change ships. Not manifested: an empty
194
+ // marker is nothing for prune to reclaim or for the installer to warn about.
195
+ const gitkeep = path.join(sdlcRoot, 'changes', 'archive', '.gitkeep');
196
+ if (!fs.existsSync(gitkeep)) fs.writeFileSync(gitkeep, '');
197
+
192
198
  // Seeds are user-owned from birth: created once, never manifested/overwritten.
193
199
  const seed = (rel, templateName, transform = (s) => s) => {
194
200
  const dest = path.join(sdlcRoot, rel);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warnyin/sdlc",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Spec-driven, AI-driven SDLC framework — token-lean specs, contract-first changes, autonomous pipeline with managed hooks. Operationalizes the Day-1 'New SDLC with Vibe Coding' work process.",
5
5
  "type": "module",
6
6
  "bin": {