spexcode 0.1.3 → 0.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spexcode",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "SpexCode — a spec-driven, self-developing dev tool. The `spex` CLI + spec server reads the .spec tree and its git history, and serves the dashboard.",
6
6
  "license": "MIT",
@@ -77,7 +77,11 @@ export function materialize(proj = process.cwd()): string {
77
77
  // only ignore paths that live INSIDE proj. The codex hooks shim now materializes at the MAIN checkout (codex
78
78
  // reads a linked worktree's hooks from the root checkout — see harness.ts); from a linked worktree that path
79
79
  // escapes proj (`../…`) and is gitignored by the main checkout's OWN materialize, not the worktree's.
80
- const ignorable = shimPaths.filter((p) => !p.startsWith('..'))
80
+ // spexcode.local.json the machine-local config overlay (host-specific values, e.g. an absolute worker
81
+ // launcher path; see portable-layout) — joins the SAME block on the same rationale: machine-specific, must
82
+ // never be committed. Without it an adopter who follows our own guidance to put a host path there would
83
+ // `git add -A` and leak it — the exact thing the overlay exists to prevent.
84
+ const ignorable = [...shimPaths.filter((p) => !p.startsWith('..')), 'spexcode.local.json']
81
85
  if (ignorable.length) writeManagedBlock(join(proj, '.gitignore'), ignorable.sort().join('\n'), ['# ', ''])
82
86
  // (5) stamp the content-hash marker LAST (so a crash mid-render leaves it stale → re-renders next gate).
83
87
  const h = contentHash(proj)