@skyf0xx/hedgehog 4.4.0 → 5.1.0

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.
Files changed (207) hide show
  1. package/README.md +16 -3
  2. package/bin/cli.mjs +372 -111
  3. package/package.json +3 -12
  4. package/src/agents/bootstrap.md +69 -183
  5. package/src/agents/planner.md +170 -54
  6. package/src/agents/reviewer.md +48 -82
  7. package/src/agents/tweaker.md +41 -44
  8. package/src/db/claim.mjs +7 -0
  9. package/src/db/core.mjs +4 -4
  10. package/src/db/next.mjs +6 -5
  11. package/src/hosts/capabilities.mjs +1 -0
  12. package/src/hosts/cursor/DISPATCH.md +3 -0
  13. package/src/registry/cores.json +39 -0
  14. package/src/registry/fetch.mjs +195 -0
  15. package/src/registry/index.mjs +40 -0
  16. package/src/registry/installed.mjs +40 -0
  17. package/src/registry/manifest.mjs +183 -0
  18. package/src/skills/hedgehog-planning-intake/SKILL.md +40 -29
  19. package/src/agents/backend-eng.md +0 -189
  20. package/src/agents/front-end-eng.md +0 -176
  21. package/src/agents/landing-builder.md +0 -121
  22. package/src/agents/landing-copywriter.md +0 -296
  23. package/src/agents/landing-critic.md +0 -118
  24. package/src/agents/landing-executor.md +0 -108
  25. package/src/agents/landing-headline-writer.md +0 -89
  26. package/src/agents/landing-sequencer.md +0 -156
  27. package/src/agents/landing-strategist.md +0 -166
  28. package/src/agents/landing-systems.md +0 -275
  29. package/src/agents/landing-ux-reviewer.md +0 -99
  30. package/src/agents/landing-visual-reviewer.md +0 -103
  31. package/src/agents/layer-eng.md +0 -153
  32. package/src/agents/ux-planner.md +0 -174
  33. package/src/golden-cores/full-stack-app/.env.example +0 -5
  34. package/src/golden-cores/full-stack-app/.github/workflows/phase-gate.yml +0 -17
  35. package/src/golden-cores/full-stack-app/.prettierignore +0 -5
  36. package/src/golden-cores/full-stack-app/.prettierrc +0 -3
  37. package/src/golden-cores/full-stack-app/.vscode/extensions.json +0 -3
  38. package/src/golden-cores/full-stack-app/apps/api/eslint.config.mjs +0 -3
  39. package/src/golden-cores/full-stack-app/apps/api/package.json +0 -117
  40. package/src/golden-cores/full-stack-app/apps/api/src/app/app.module.spec.ts +0 -15
  41. package/src/golden-cores/full-stack-app/apps/api/src/app/app.module.ts +0 -15
  42. package/src/golden-cores/full-stack-app/apps/api/src/app/feature-modules.ts +0 -8
  43. package/src/golden-cores/full-stack-app/apps/api/src/app/health.controller.ts +0 -9
  44. package/src/golden-cores/full-stack-app/apps/api/src/assets/.gitkeep +0 -0
  45. package/src/golden-cores/full-stack-app/apps/api/src/main.ts +0 -32
  46. package/src/golden-cores/full-stack-app/apps/api/tsconfig.app.json +0 -22
  47. package/src/golden-cores/full-stack-app/apps/api/tsconfig.json +0 -13
  48. package/src/golden-cores/full-stack-app/apps/api/tsconfig.spec.json +0 -36
  49. package/src/golden-cores/full-stack-app/apps/api/vitest.config.mts +0 -18
  50. package/src/golden-cores/full-stack-app/apps/api/webpack.config.cjs +0 -25
  51. package/src/golden-cores/full-stack-app/apps/api-e2e/eslint.config.mjs +0 -3
  52. package/src/golden-cores/full-stack-app/apps/api-e2e/package.json +0 -28
  53. package/src/golden-cores/full-stack-app/apps/api-e2e/src/api/api.spec.ts +0 -11
  54. package/src/golden-cores/full-stack-app/apps/api-e2e/src/support/global-setup.ts +0 -17
  55. package/src/golden-cores/full-stack-app/apps/api-e2e/src/support/test-setup.ts +0 -6
  56. package/src/golden-cores/full-stack-app/apps/api-e2e/tsconfig.json +0 -10
  57. package/src/golden-cores/full-stack-app/apps/api-e2e/tsconfig.spec.json +0 -28
  58. package/src/golden-cores/full-stack-app/apps/api-e2e/vitest.config.mts +0 -20
  59. package/src/golden-cores/full-stack-app/apps/web/.env.example +0 -12
  60. package/src/golden-cores/full-stack-app/apps/web/.prettierrc.js +0 -10
  61. package/src/golden-cores/full-stack-app/apps/web/.swcrc +0 -30
  62. package/src/golden-cores/full-stack-app/apps/web/components.json +0 -21
  63. package/src/golden-cores/full-stack-app/apps/web/eslint.config.mjs +0 -12
  64. package/src/golden-cores/full-stack-app/apps/web/index.d.ts +0 -7
  65. package/src/golden-cores/full-stack-app/apps/web/next-env.d.ts +0 -7
  66. package/src/golden-cores/full-stack-app/apps/web/next.config.js +0 -9
  67. package/src/golden-cores/full-stack-app/apps/web/package.json +0 -38
  68. package/src/golden-cores/full-stack-app/apps/web/postcss.config.mjs +0 -7
  69. package/src/golden-cores/full-stack-app/apps/web/public/.gitkeep +0 -0
  70. package/src/golden-cores/full-stack-app/apps/web/public/favicon.ico +0 -0
  71. package/src/golden-cores/full-stack-app/apps/web/src/app/global.css +0 -83
  72. package/src/golden-cores/full-stack-app/apps/web/src/app/layout.tsx +0 -34
  73. package/src/golden-cores/full-stack-app/apps/web/src/app/module-routes.ts +0 -13
  74. package/src/golden-cores/full-stack-app/apps/web/src/app/page.tsx +0 -34
  75. package/src/golden-cores/full-stack-app/apps/web/src/app/providers.tsx +0 -12
  76. package/src/golden-cores/full-stack-app/apps/web/src/components/theme-toggle.spec.tsx +0 -20
  77. package/src/golden-cores/full-stack-app/apps/web/src/components/theme-toggle.tsx +0 -32
  78. package/src/golden-cores/full-stack-app/apps/web/src/components/ui/button.tsx +0 -60
  79. package/src/golden-cores/full-stack-app/apps/web/src/lib/utils.ts +0 -6
  80. package/src/golden-cores/full-stack-app/apps/web/src/test-setup.ts +0 -1
  81. package/src/golden-cores/full-stack-app/apps/web/tsconfig.json +0 -62
  82. package/src/golden-cores/full-stack-app/apps/web/tsconfig.spec.json +0 -37
  83. package/src/golden-cores/full-stack-app/apps/web/vitest.config.mts +0 -27
  84. package/src/golden-cores/full-stack-app/apps/web-e2e/eslint.config.mjs +0 -12
  85. package/src/golden-cores/full-stack-app/apps/web-e2e/package.json +0 -10
  86. package/src/golden-cores/full-stack-app/apps/web-e2e/playwright.config.mts +0 -75
  87. package/src/golden-cores/full-stack-app/apps/web-e2e/src/example.spec.ts +0 -7
  88. package/src/golden-cores/full-stack-app/apps/web-e2e/tsconfig.json +0 -26
  89. package/src/golden-cores/full-stack-app/commitlint.config.cjs +0 -3
  90. package/src/golden-cores/full-stack-app/core.yaml +0 -68
  91. package/src/golden-cores/full-stack-app/docker-compose.yml +0 -14
  92. package/src/golden-cores/full-stack-app/eslint.config.mjs +0 -15
  93. package/src/golden-cores/full-stack-app/gitignore.template +0 -24
  94. package/src/golden-cores/full-stack-app/lefthook.yml +0 -52
  95. package/src/golden-cores/full-stack-app/nx.json +0 -90
  96. package/src/golden-cores/full-stack-app/package.json +0 -99
  97. package/src/golden-cores/full-stack-app/packages/config/eslint-base.js +0 -205
  98. package/src/golden-cores/full-stack-app/packages/config/package.json +0 -28
  99. package/src/golden-cores/full-stack-app/packages/config/prettier.js +0 -13
  100. package/src/golden-cores/full-stack-app/packages/config/src/env.schema.spec.ts +0 -38
  101. package/src/golden-cores/full-stack-app/packages/config/src/env.schema.ts +0 -18
  102. package/src/golden-cores/full-stack-app/packages/config/src/index.ts +0 -1
  103. package/src/golden-cores/full-stack-app/packages/config/tsconfig.json +0 -13
  104. package/src/golden-cores/full-stack-app/packages/config/tsconfig.lib.json +0 -27
  105. package/src/golden-cores/full-stack-app/packages/config/tsconfig.spec.json +0 -34
  106. package/src/golden-cores/full-stack-app/packages/config/vitest.config.mts +0 -18
  107. package/src/golden-cores/full-stack-app/packages/db/package.json +0 -27
  108. package/src/golden-cores/full-stack-app/packages/db/src/index.ts +0 -2
  109. package/src/golden-cores/full-stack-app/packages/db/src/lib/db.spec.ts +0 -48
  110. package/src/golden-cores/full-stack-app/packages/db/src/lib/db.ts +0 -54
  111. package/src/golden-cores/full-stack-app/packages/db/src/schema/index.ts +0 -4
  112. package/src/golden-cores/full-stack-app/packages/db/tsconfig.json +0 -13
  113. package/src/golden-cores/full-stack-app/packages/db/tsconfig.lib.json +0 -27
  114. package/src/golden-cores/full-stack-app/packages/db/tsconfig.spec.json +0 -34
  115. package/src/golden-cores/full-stack-app/packages/db/vitest.config.mts +0 -18
  116. package/src/golden-cores/full-stack-app/pnpm-lock.yaml +0 -23719
  117. package/src/golden-cores/full-stack-app/pnpm-workspace.yaml +0 -7
  118. package/src/golden-cores/full-stack-app/tools/generate-feature-modules.cjs +0 -104
  119. package/src/golden-cores/full-stack-app/tools/generate-module-routes.cjs +0 -89
  120. package/src/golden-cores/full-stack-app/tools/generators/contract/generator.ts +0 -336
  121. package/src/golden-cores/full-stack-app/tools/generators/contract/schema.json +0 -24
  122. package/src/golden-cores/full-stack-app/tools/generators/controller/generator.ts +0 -390
  123. package/src/golden-cores/full-stack-app/tools/generators/controller/schema.json +0 -24
  124. package/src/golden-cores/full-stack-app/tools/generators/fields.ts +0 -160
  125. package/src/golden-cores/full-stack-app/tools/generators/generators.json +0 -42
  126. package/src/golden-cores/full-stack-app/tools/generators/hook/generator.ts +0 -291
  127. package/src/golden-cores/full-stack-app/tools/generators/hook/schema.json +0 -19
  128. package/src/golden-cores/full-stack-app/tools/generators/lib-shell.ts +0 -124
  129. package/src/golden-cores/full-stack-app/tools/generators/naming.ts +0 -84
  130. package/src/golden-cores/full-stack-app/tools/generators/package.json +0 -6
  131. package/src/golden-cores/full-stack-app/tools/generators/repository/generator.ts +0 -298
  132. package/src/golden-cores/full-stack-app/tools/generators/repository/schema.json +0 -15
  133. package/src/golden-cores/full-stack-app/tools/generators/schema/generator.ts +0 -169
  134. package/src/golden-cores/full-stack-app/tools/generators/schema/schema.json +0 -20
  135. package/src/golden-cores/full-stack-app/tools/generators/screen/generator.ts +0 -218
  136. package/src/golden-cores/full-stack-app/tools/generators/screen/schema.json +0 -15
  137. package/src/golden-cores/full-stack-app/tools/generators/service/generator.ts +0 -270
  138. package/src/golden-cores/full-stack-app/tools/generators/service/schema.json +0 -19
  139. package/src/golden-cores/full-stack-app/tools/phase-gate.cjs +0 -77
  140. package/src/golden-cores/full-stack-app/tsconfig.base.json +0 -21
  141. package/src/golden-cores/full-stack-app/tsconfig.json +0 -25
  142. package/src/golden-cores/full-stack-app/vitest.workspace.ts +0 -4
  143. package/src/golden-cores/landing-page/.prettierignore +0 -4
  144. package/src/golden-cores/landing-page/.prettierrc.js +0 -11
  145. package/src/golden-cores/landing-page/.vscode/extensions.json +0 -4
  146. package/src/golden-cores/landing-page/.vscode/launch.json +0 -11
  147. package/src/golden-cores/landing-page/astro.config.mjs +0 -11
  148. package/src/golden-cores/landing-page/core.yaml +0 -41
  149. package/src/golden-cores/landing-page/eslint.config.mjs +0 -23
  150. package/src/golden-cores/landing-page/gitignore.template +0 -13
  151. package/src/golden-cores/landing-page/package.json +0 -48
  152. package/src/golden-cores/landing-page/pnpm-lock.yaml +0 -4637
  153. package/src/golden-cores/landing-page/public/favicon.ico +0 -0
  154. package/src/golden-cores/landing-page/public/favicon.svg +0 -9
  155. package/src/golden-cores/landing-page/src/assets/.gitkeep +0 -0
  156. package/src/golden-cores/landing-page/src/pages/index.astro +0 -24
  157. package/src/golden-cores/landing-page/src/sections/.gitkeep +0 -0
  158. package/src/golden-cores/landing-page/src/shapes/.gitkeep +0 -0
  159. package/src/golden-cores/landing-page/src/styles/global.css +0 -27
  160. package/src/golden-cores/landing-page/tsconfig.json +0 -5
  161. package/src/skills/hedgehog-adopt/SKILL.md +0 -348
  162. package/src/skills/hedgehog-adopt-elicit/SKILL.md +0 -61
  163. package/src/skills/hedgehog-authored-loop/SKILL.md +0 -334
  164. package/src/skills/hedgehog-bootstrap/SKILL.md +0 -323
  165. package/src/skills/hedgehog-bootstrap-authored-core/SKILL.md +0 -124
  166. package/src/skills/hedgehog-bootstrap-full-stack-app-core/SKILL.md +0 -412
  167. package/src/skills/hedgehog-bootstrap-landing-page-core/SKILL.md +0 -156
  168. package/src/skills/hedgehog-core-design/SKILL.md +0 -653
  169. package/src/skills/hedgehog-core-design/blueprints/bot-agent.md +0 -35
  170. package/src/skills/hedgehog-core-design/blueprints/browser-extension.md +0 -62
  171. package/src/skills/hedgehog-core-design/blueprints/cli.md +0 -26
  172. package/src/skills/hedgehog-core-design/blueprints/compiler-language-tool.md +0 -36
  173. package/src/skills/hedgehog-core-design/blueprints/data-pipeline.md +0 -43
  174. package/src/skills/hedgehog-core-design/blueprints/desktop-app.md +0 -34
  175. package/src/skills/hedgehog-core-design/blueprints/game.md +0 -35
  176. package/src/skills/hedgehog-core-design/blueprints/infra-deploy-tool.md +0 -43
  177. package/src/skills/hedgehog-core-design/blueprints/library-sdk.md +0 -31
  178. package/src/skills/hedgehog-landing-loop/SKILL.md +0 -479
  179. package/src/skills/hedgehog-loop/SKILL.md +0 -596
  180. package/src/skills/landing-copy-cta/SKILL.md +0 -74
  181. package/src/skills/landing-copy-headline/SKILL.md +0 -133
  182. package/src/skills/landing-copy-hero/SKILL.md +0 -80
  183. package/src/skills/landing-copy-mechanism/SKILL.md +0 -81
  184. package/src/skills/landing-copy-objection/SKILL.md +0 -80
  185. package/src/skills/landing-copy-problem/SKILL.md +0 -77
  186. package/src/skills/landing-copy-proof/SKILL.md +0 -75
  187. package/src/skills/landing-shapes/SKILL.md +0 -256
  188. package/src/skills/link-workspace-packages/SKILL.md +0 -41
  189. package/src/skills/nx-generate/SKILL.md +0 -165
  190. package/src/skills/nx-run-tasks/SKILL.md +0 -52
  191. package/src/skills/nx-workspace/SKILL.md +0 -261
  192. package/src/skills/nx-workspace/references/AFFECTED.md +0 -27
  193. package/src/templates/CLAUDE.core.adopted.md +0 -107
  194. package/src/templates/CLAUDE.core.authored.md +0 -128
  195. package/src/templates/CLAUDE.core.full-stack-app.md +0 -147
  196. package/src/templates/CLAUDE.core.landing-page.md +0 -207
  197. package/vendor-skills/GSAP/ATTRIBUTION.md +0 -30
  198. package/vendor-skills/GSAP/LICENSE +0 -21
  199. package/vendor-skills/GSAP/gsap-core/SKILL.md +0 -254
  200. package/vendor-skills/GSAP/gsap-frameworks/SKILL.md +0 -266
  201. package/vendor-skills/GSAP/gsap-performance/SKILL.md +0 -79
  202. package/vendor-skills/GSAP/gsap-plugins/SKILL.md +0 -433
  203. package/vendor-skills/GSAP/gsap-react/SKILL.md +0 -136
  204. package/vendor-skills/GSAP/gsap-scrolltrigger/SKILL.md +0 -296
  205. package/vendor-skills/GSAP/gsap-timeline/SKILL.md +0 -107
  206. package/vendor-skills/GSAP/gsap-utils/SKILL.md +0 -284
  207. package/vendor-skills/GSAP/llms.txt +0 -39
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Turn AI from a code generator into a reliable software engineer ⭐
2
2
 
3
3
  [![Total downloads](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/badges/npm-downloads.svg)](https://www.npmjs.com/package/@skyf0xx/hedgehog)
4
+ [![Support Hedgehog](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/badges/kofi-top.svg)](https://ko-fi.com/skyf0xx)
4
5
 
5
6
  AI can write code in seconds.
6
7
 
@@ -42,6 +43,7 @@ Hedgehog combines:
42
43
  - **TDD and progressive layering** — build one tested layer at a time
43
44
  - **Mechanical enforcement** — use tooling and phase gates instead of trusting the AI to follow instructions
44
45
  - **Small context loops** — keep every change focused, verifiable, and easy to review
46
+ - **Deterministic scaffolding** — generate boilerplate and schemas instead of asking the AI to write it freehand
45
47
 
46
48
  Software that stays structured as it grows.
47
49
 
@@ -138,7 +140,7 @@ Artifact
138
140
 
139
141
  ### Anything else
140
142
 
141
- A CLI, a library, a browser extension, a data pipeline, etc. fitting neither shape gets its own build order, designed at intake rather than chosen from a menu — starting from a [battle-tested blueprint](src/skills/hedgehog-core-design/blueprints) for the system's shape where one exists.
143
+ A CLI, a library, a browser extension, a data pipeline, etc. fitting neither shape gets its own build order, designed at intake rather than chosen from a menu — starting from a battle-tested blueprint (in [`hedgehog-core-authored`](https://github.com/skyf0xx/hedgehog-core-authored)'s `hedgehog-core-design` skill) for the system's shape where one exists.
142
144
 
143
145
  Run `init` with no core flag: planning intake names the system shape, picks
144
146
  the stack, derives the layers, and locks them to `.hedgehog/core.yaml`,
@@ -216,6 +218,15 @@ Hedgehog uses a fixed stack and build order for each core. The tooling enforces
216
218
 
217
219
  See [ARCHITECTURE.md](ARCHITECTURE.md) for the full design.
218
220
 
221
+ ## Authoring a new core
222
+
223
+ A core is an npm package carrying a pre-built, pre-verified workspace plus the agents and skills that build it. The package contract, at the package root:
224
+
225
+ - `hedgehog-core.yaml` — the manifest naming the core (matching its registry entry), its language, and where each contributed piece lives in the package: `workspace/` (the scaffold, omitted by a core that scaffolds nothing), `CLAUDE.core.md` (fills the installed `CLAUDE.md` shell's core section), `agents/<name>.md`, `skills/<name>/`, and any `vendor_skills/<name>/`. Its `engine` key states the engine line the core's agents and skills are written against, as a caret range over a three-part version (`engine: "^5.0.0"`); an older CLI refuses the core rather than landing a payload it cannot drive.
226
+ - `core.yaml` — the layer sequence and per-layer verify commands, in the same shape `src/db/core.mjs` loads for an authored core.
227
+
228
+ Adding the package to the CLI's `init` menu is one entry in `src/registry/cores.json`: the package name, the version range to resolve, an install flag, and the `selects_when` prose. That entry owns the selection prose — `planner` reads it in Phase 0, before any core package is fetched — so the manifest leaves it out; a `selects_when` in a manifest is never read.
229
+
219
230
  ## Credits
220
231
 
221
232
  Hedgehog uses [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD)
@@ -233,6 +244,8 @@ pnpm-only workspace convention.
233
244
 
234
245
  ## Support Hedgehog
235
246
 
236
- If Hedgehog helps you build better software with AI, give it a ⭐ on GitHub.
247
+ If Hedgehog helps you build better software with AI, **give it a ⭐ on GitHub**, or [buy me a coffee on Ko-fi](https://ko-fi.com/skyf0xx).
237
248
 
238
- [![GitHub stars](https://img.shields.io/github/stars/skyf0xx/hedgehog?style=social)](https://github.com/skyf0xx/hedgehog/stargazers)
249
+ [![GitHub stars](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/badges/github-stars.svg)](https://github.com/skyf0xx/hedgehog/stargazers)
250
+ [![Total downloads](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/badges/npm-downloads.svg)](https://www.npmjs.com/package/@skyf0xx/hedgehog)
251
+ [![Support Hedgehog](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/badges/kofi.svg)](https://ko-fi.com/skyf0xx)