@skyf0xx/hedgehog 5.1.7 → 5.2.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.
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+

|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@skyf0xx/hedgehog)
|
|
4
4
|
[](https://ko-fi.com/skyf0xx)
|
|
5
5
|
|
|
6
|
+
# H E D G E H O G
|
|
7
|
+
|
|
6
8
|
AI can write code in seconds.
|
|
7
9
|
|
|
8
10
|
But as projects grow, context fills up, **architecture drifts**, and every new feature becomes harder to change safely.
|
|
@@ -138,16 +140,43 @@ Sequence
|
|
|
138
140
|
Artifact
|
|
139
141
|
```
|
|
140
142
|
|
|
141
|
-
###
|
|
143
|
+
### Web Apps/ PWAs
|
|
144
|
+
|
|
145
|
+
Local-first simple mobile compatible web apps: trackers, journals, planners, etc:
|
|
146
|
+
|
|
147
|
+
``` text
|
|
148
|
+
Schema
|
|
149
|
+
↓
|
|
150
|
+
Repository
|
|
151
|
+
↓
|
|
152
|
+
Hook
|
|
153
|
+
↓
|
|
154
|
+
Screen
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### DeepSeek Harness plugins
|
|
158
|
+
|
|
159
|
+
Tools, hooks, and extensions for DSH's Cordis-based agent framework:
|
|
142
160
|
|
|
143
|
-
|
|
161
|
+
``` text
|
|
162
|
+
Scaffold
|
|
163
|
+
↓
|
|
164
|
+
Logic
|
|
165
|
+
↓
|
|
166
|
+
Wiring
|
|
167
|
+
↓
|
|
168
|
+
Smoke
|
|
169
|
+
↓
|
|
170
|
+
Bundle
|
|
171
|
+
↓
|
|
172
|
+
Join
|
|
173
|
+
```
|
|
144
174
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
175
|
+
### Anything else
|
|
176
|
+
|
|
177
|
+
A CLI, a library, a browser extension, a data pipeline, etc. gets its build order.
|
|
148
178
|
|
|
149
|
-
|
|
150
|
-
scoped file access and a verification command per layer.
|
|
179
|
+
Where possible, Hedgehog uses a battle-tested blueprint in [`hedgehog-core-authored`](https://github.com/skyf0xx/hedgehog-core-authored/tree/main/skills/hedgehog-core-design/blueprints) for the system's shape where one exists.
|
|
151
180
|
|
|
152
181
|
### Existing codebases
|
|
153
182
|
|
|
@@ -216,35 +245,21 @@ Hedgehog improves the **system AI builds inside**.
|
|
|
216
245
|
|
|
217
246
|
Hedgehog uses a fixed stack and build order for each core. The tooling enforces architectural boundaries so correctness does not depend on the AI remembering instructions.
|
|
218
247
|
|
|
219
|
-
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full design
|
|
220
|
-
|
|
221
|
-
|
|
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.
|
|
248
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the full design, and
|
|
249
|
+
[AUTHORING-CORES.md](AUTHORING-CORES.md) for how to build and register a
|
|
250
|
+
new one.
|
|
229
251
|
|
|
230
252
|
## Credits
|
|
231
253
|
|
|
232
|
-
|
|
233
|
-
(`bmad-code-org/BMAD-METHOD`) for planning, MIT-licensed.
|
|
254
|
+
- Planning runs on [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD).
|
|
234
255
|
|
|
235
|
-
|
|
236
|
-
`link-workspace-packages` skills are adapted from
|
|
237
|
-
[nx-ai-agents-config](https://github.com/nrwl/nx-ai-agents-config)
|
|
238
|
-
(`nrwl/nx-ai-agents-config`), MIT-licensed, rewritten for Hedgehog's
|
|
239
|
-
pnpm-only workspace convention.
|
|
256
|
+
- Nx skills adapted from [nx-ai-agents-config](https://github.com/nrwl/nx-ai-agents-config).
|
|
240
257
|
|
|
241
|
-
|
|
242
|
-
[gsap-skills](https://github.com/greensock/gsap-skills)
|
|
243
|
-
(`greensock/gsap-skills`), MIT-licensed.
|
|
258
|
+
- Animation skills vendored from [gsap-skills](https://github.com/greensock/gsap-skills).
|
|
244
259
|
|
|
245
260
|
## Support Hedgehog
|
|
246
261
|
|
|
247
|
-
If Hedgehog helps you build better software with AI, **give it a ⭐ on GitHub
|
|
262
|
+
If Hedgehog helps you build better software with AI, **give it a ⭐ on GitHub**.
|
|
248
263
|
|
|
249
264
|
[](https://github.com/skyf0xx/hedgehog/stargazers)
|
|
250
265
|
[](https://www.npmjs.com/package/@skyf0xx/hedgehog)
|
package/package.json
CHANGED
package/src/registry/cores.json
CHANGED
|
@@ -27,6 +27,15 @@
|
|
|
27
27
|
"repository": "https://github.com/skyf0xx/hedgehog-core-landing-page",
|
|
28
28
|
"selects_when": "The description is a marketing/announcement/waitlist/portfolio page (or a small handful of such pages) with no persistent domain data of its own. A page that only collects an email into a third-party form service, or has no state at all, qualifies. The bar is \"no domain module\" — a landing page with a dozen sections is still landing-page, not promoted to full-stack-app for being long."
|
|
29
29
|
},
|
|
30
|
+
{
|
|
31
|
+
"name": "deepseek-harness",
|
|
32
|
+
"flag": "--deepseek-harness",
|
|
33
|
+
"package": "@skyf0xx/hedgehog-core-deepseek-harness",
|
|
34
|
+
"version": "^0.1.0",
|
|
35
|
+
"language": "typescript",
|
|
36
|
+
"repository": "https://github.com/skyf0xx/hedgehog-core-deepseek-harness",
|
|
37
|
+
"selects_when": "The description names building a plugin, tool, hook, or extension for DeepSeek Harness (DSH) — a Cordis-based agent framework — or otherwise extending an existing DSH installation with new capabilities via its plugin/bundle system. Concrete signals: DSH, DeepSeek Harness, Cordis, `defineTool`, `ctx.tools.register`, a `cordis.patch.yml` manifest, or a request to add a tool that a DSH agent can call. This is the core most often confused with authored: authored fits when no shipped core matches and the planner must design a system shape from scratch, but a DSH plugin already has a fixed, battle-tested shape (the six-layer scaffold → logic → wiring → smoke → bundle → join sequence, one plugin per intent) that authored's from-scratch design would only reinvent worse. Route here whenever the target of the work is a DSH plugin, not a general \"no other core fits\" fallback."
|
|
38
|
+
},
|
|
30
39
|
{
|
|
31
40
|
"name": "authored",
|
|
32
41
|
"package": "@skyf0xx/hedgehog-core-authored",
|
|
@@ -44,8 +44,8 @@ Run in parallel:
|
|
|
44
44
|
- `git log -10 --oneline` to confirm the project's existing commit style
|
|
45
45
|
- Run `hedgehog status` for which steps/modules are in flight
|
|
46
46
|
|
|
47
|
-
Read every changed file's diff fully
|
|
48
|
-
haven't read.
|
|
47
|
+
Read every changed file's diff fully before grouping — you cannot group
|
|
48
|
+
changes you haven't read.
|
|
49
49
|
|
|
50
50
|
### 2. Group hunks into logical commits
|
|
51
51
|
|
|
@@ -72,8 +72,7 @@ Do NOT group:
|
|
|
72
72
|
|
|
73
73
|
1. **Build-sequence order.** Schema before contract, contract before
|
|
74
74
|
repository, repository before service, service before controller —
|
|
75
|
-
same dependency order the Loop builds in
|
|
76
|
-
the fact.
|
|
75
|
+
the same dependency order the Loop builds in.
|
|
77
76
|
2. **Upstream fix before its fast-forwarded dependents**, for a
|
|
78
77
|
Correction Protocol cleanup — the fix commit needs to make sense
|
|
79
78
|
before the commits that changed because of it.
|
|
@@ -102,9 +101,8 @@ Then execute each commit:
|
|
|
102
101
|
- Verify clean state with `git status` before the next commit.
|
|
103
102
|
|
|
104
103
|
If a pre-commit hook (lefthook: typecheck/lint/test) fails: fix the
|
|
105
|
-
issue, re-stage, create a NEW commit
|
|
106
|
-
|
|
107
|
-
rewrite the wrong thing.
|
|
104
|
+
issue, re-stage, create a NEW commit — a commit that fails the gate did
|
|
105
|
+
not happen, so amending would rewrite the wrong thing (see Hard rules).
|
|
108
106
|
|
|
109
107
|
### 5. Commit format
|
|
110
108
|
|