@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 +7 -1
- package/package.json +1 -1
- package/src/golden-core/gitignore.template +20 -0
- package/src/golden-core/packages/config/package.json +2 -1
- package/src/skills/hedgehog-bootstrap-core/SKILL.md +3 -3
- package/src/skills/hedgehog-intake/SKILL.md +7 -4
- package/src/templates/TODO.md +7 -10
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
|
-
|
|
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
|
@@ -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
|
|
@@ -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.
|
|
136
|
+
### 7. `TODO.md`'s core lines
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
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`,
|
|
74
|
-
|
|
75
|
-
|
|
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`,
|
|
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
|
package/src/templates/TODO.md
CHANGED
|
@@ -10,17 +10,14 @@ has one, written by planner at Intake. -->
|
|
|
10
10
|
|
|
11
11
|
## Bootstrap
|
|
12
12
|
|
|
13
|
-
<!--
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [
|
|
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)
|