@skyf0xx/hedgehog 0.1.10 → 0.1.12

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/bin/cli.mjs CHANGED
@@ -25,6 +25,11 @@ const yellow = (s) => paint('33', s);
25
25
  const red = (s) => paint('31', s);
26
26
  const dim = (s) => paint('2', s);
27
27
 
28
+ // npm strips files literally named `.gitignore` from published tarballs,
29
+ // even when the containing directory is listed in `files`. Stored under
30
+ // this name in the package, renamed back on copy.
31
+ const DOTFILE_RENAMES = { 'gitignore.template': '.gitignore' };
32
+
28
33
  // ── the payload: what gets copied, and to where under the target repo ───
29
34
  // `dir` entries copy a whole tree; `file` entries copy a single file and
30
35
  // may rename (templates lose their src/templates/ prefix at the root).
@@ -61,7 +66,8 @@ async function plannedFiles(entry) {
61
66
  if (st.isDirectory()) {
62
67
  for (const name of await readdir(abs)) await walk(join(rel, name));
63
68
  } else {
64
- out.push({ src: abs, dest: join(DEST_ROOT, entry.to, rel) });
69
+ const renamed = DOTFILE_RENAMES[rel] ?? rel;
70
+ out.push({ src: abs, dest: join(DEST_ROOT, entry.to, renamed) });
65
71
  }
66
72
  }
67
73
  await walk('.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyf0xx/hedgehog",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Install the Hedgehog build discipline (agents + skills) into a repo.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -0,0 +1,20 @@
1
+ node_modules
2
+ dist
3
+ tmp
4
+ out-tsc
5
+ .env
6
+ .env.local
7
+ *.log
8
+ .DS_Store
9
+
10
+ .nx/cache
11
+ .nx/workspace-data
12
+ .nx/polygraph
13
+ .claude/worktrees
14
+ .claude/settings.local.json
15
+ vitest.config.*.timestamp*
16
+
17
+ # Next.js
18
+ .next
19
+ out
20
+ test-output
@@ -16,7 +16,8 @@
16
16
  "./package.json": "./package.json"
17
17
  },
18
18
  "dependencies": {
19
- "zod": "^4.0.0"
19
+ "zod": "^4.0.0",
20
+ "@ts-rest/core": "3.53.0-rc.1"
20
21
  },
21
22
  "nx": {
22
23
  "tags": [
@@ -133,10 +133,10 @@ feat(config): workspace + shared config
133
133
 
134
134
  One commit for all of core, landed as a verified copy.
135
135
 
136
- ### 7. Update `TODO.md`
136
+ ### 7. `TODO.md`'s core lines
137
137
 
138
- Check off all four core Bootstrap lines in one pass — they land
139
- together, not one commit at a time. Leave every add-on line
138
+ The four core Bootstrap lines ship pre-checked in the `TODO.md` template.
139
+ If step 3's fallback copy ran, check them now. Leave every add-on line
140
140
  (Auth/Queue/Mobile) untouched; `hedgehog-bootstrap` owns those.
141
141
 
142
142
  ## Known issues baked into golden-core
@@ -70,9 +70,11 @@ Revising a draft is a normal edit — the Correction Protocol
70
70
  below). A later Intake doesn't touch these unless the project's
71
71
  identity itself changed, not just its scope.
72
72
  6. **Screen/flow notes** — captured by module in
73
- `docs/design/<module>-notes.md`, for `ux-planner` to act on at that
74
- module's Phase B (see below). Mandatory per module in scope, even when
75
- nothing was offered for that module.
73
+ `docs/design/<module>-notes.md`, a fixed filename pattern (`-notes` is
74
+ the literal suffix, applied to every module regardless of its name),
75
+ for `ux-planner` to act on at that module's Phase B (see below).
76
+ Mandatory per module in scope, even when nothing was offered for that
77
+ module.
76
78
 
77
79
  ## Screens, flows, and other visual input
78
80
 
@@ -234,7 +236,8 @@ on — read which one this is early and let it set the pace.
234
236
  other line untouched; the rest of the file is a Hedgehog constant, not
235
237
  project-specific content.
236
238
  10. **File screen/flow notes** under their module in
237
- `docs/design/<module>-notes.md`, one file per module in scope, even
239
+ `docs/design/<module>-notes.md`, the fixed filename pattern from
240
+ "What Intake produces" above, one file per module in scope, even
238
241
  when nothing was offered for that module (say so plainly instead of
239
242
  omitting the file) — verbatim or lightly organized, raw material for
240
243
  `ux-planner`, not a rationale, so don't polish or structure beyond
@@ -10,17 +10,14 @@ has one, written by planner at Intake. -->
10
10
 
11
11
  ## Bootstrap
12
12
 
13
- <!-- Core lands in one pass via hedgehog-bootstrap-core (copied from a
14
- pre-verified template, not generated live) — its four boxes get checked
15
- together, one commit. Add-on steps (planner marks each on/skipped at
16
- Intake, per docs/context.md's Add-ons note) run live, one at a time,
17
- after core. A skipped add-on gets checked off as skipped, not left
18
- unchecked. -->
13
+ <!-- Add-on steps (planner marks each on/skipped at Intake, per
14
+ docs/context.md's Add-ons note) run live, one at a time, after core. A
15
+ skipped add-on gets checked off as skipped, not left unchecked. -->
19
16
 
20
- - [ ] Nx workspace + `packages/config` (incl. `docker-compose.yml` for local Postgres) — core, landed + verified via `hedgehog-bootstrap-core`
21
- - [ ] `packages/db` — Drizzle client — core, landed + verified via `hedgehog-bootstrap-core`
22
- - [ ] `apps/api` — Nest shell, Pino — core, landed + verified via `hedgehog-bootstrap-core`
23
- - [ ] `apps/web` — Next shell, TanStack Query provider — core, landed + verified via `hedgehog-bootstrap-core`
17
+ - [x] Nx workspace + `packages/config` (incl. `docker-compose.yml` for local Postgres) — core, landed via `hedgehog init`, verified via `hedgehog-bootstrap-core`
18
+ - [x] `packages/db` — Drizzle client — core, landed via `hedgehog init`, verified via `hedgehog-bootstrap-core`
19
+ - [x] `apps/api` — Nest shell, Pino — core, landed via `hedgehog init`, verified via `hedgehog-bootstrap-core`
20
+ - [x] `apps/web` — Next shell, TanStack Query provider — core, landed via `hedgehog init`, verified via `hedgehog-bootstrap-core`
24
21
  - [ ] `packages/auth` — Better Auth config + global guard on `apps/api` — Auth add-on (fill in: on / skipped, not in scope)
25
22
  - [ ] `apps/worker` — BullMQ seam, Redis (no consumers yet) — Queue add-on (fill in: on / skipped, not in scope)
26
23
  - [ ] `apps/mobile` — Expo shell — Mobile add-on (fill in: on / skipped, not in scope)