godpowers 1.6.20 → 1.6.22
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/CHANGELOG.md +59 -0
- package/README.md +28 -9
- package/RELEASE.md +38 -21
- package/bin/install.js +81 -1
- package/fixtures/dogfood/extension-authoring/manifest.json +13 -0
- package/fixtures/dogfood/half-migrated-gsd/.planning/PROJECT.md +5 -0
- package/fixtures/dogfood/half-migrated-gsd/.planning/REQUIREMENTS.md +5 -0
- package/fixtures/dogfood/half-migrated-gsd/.planning/ROADMAP.md +5 -0
- package/fixtures/dogfood/half-migrated-gsd/manifest.json +16 -0
- package/fixtures/dogfood/host-degraded/manifest.json +5 -0
- package/fixtures/dogfood/host-full/home/.codex/agents/god-orchestrator.toml +2 -0
- package/fixtures/dogfood/host-full/manifest.json +5 -0
- package/fixtures/dogfood/suite-release-dry-run/.godpowers/suite-config.yaml +9 -0
- package/fixtures/dogfood/suite-release-dry-run/manifest.json +7 -0
- package/fixtures/dogfood/suite-release-dry-run/repo-a/package.json +4 -0
- package/fixtures/dogfood/suite-release-dry-run/repo-b/package.json +7 -0
- package/lib/README.md +3 -0
- package/lib/dashboard.js +73 -3
- package/lib/dogfood-runner.js +193 -0
- package/lib/extension-authoring.js +154 -0
- package/lib/feature-awareness.js +18 -0
- package/lib/host-capabilities.js +125 -0
- package/lib/release-surface-sync.js +30 -0
- package/lib/repo-surface-sync.js +128 -0
- package/lib/route-quality-sync.js +31 -4
- package/lib/suite-state.js +90 -1
- package/package.json +4 -3
- package/routing/god-dogfood.yaml +35 -0
- package/routing/god-init.yaml +1 -1
- package/routing/god-roadmap-update.yaml +1 -1
- package/routing/god-sync.yaml +1 -1
- package/skills/god-doctor.md +1 -1
- package/skills/god-dogfood.md +63 -0
- package/skills/god-version.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,65 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.6.22] - 2026-05-16
|
|
11
|
+
|
|
12
|
+
Dogfooding, host guarantees, extension authoring, and suite release dry-runs.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- Added `lib/dogfood-runner.js`, `/god-dogfood`, and `npx godpowers dogfood`
|
|
16
|
+
for deterministic messy-repo dogfood scenarios.
|
|
17
|
+
- Added `fixtures/dogfood/` scenarios for half-migrated GSD import,
|
|
18
|
+
degraded and full host guarantees, extension scaffolding, and Mode D suite
|
|
19
|
+
release dry-run planning.
|
|
20
|
+
- Added `lib/host-capabilities.js` and dashboard host guarantee reporting for
|
|
21
|
+
full, degraded, and unknown runtime capability states.
|
|
22
|
+
- Added compact dashboard rendering with `npx godpowers status --brief`.
|
|
23
|
+
- Added `lib/extension-authoring.js` and
|
|
24
|
+
`npx godpowers extension-scaffold --name=@scope/pack --output=.`.
|
|
25
|
+
- Added Mode D suite release dry-run planning through
|
|
26
|
+
`suiteState.planRelease`.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Release-surface sync now requires dogfood, host capability, and extension
|
|
30
|
+
authoring test gates.
|
|
31
|
+
- Repo-surface sync now checks dogfood runner presence, test wiring, and
|
|
32
|
+
required fixture manifests.
|
|
33
|
+
- Package payload checks now include dogfood fixtures and the new runtime
|
|
34
|
+
helpers.
|
|
35
|
+
- README, architecture, reference, release checklist, and runtime docs now
|
|
36
|
+
document dogfood, host guarantees, extension authoring, and suite dry-runs.
|
|
37
|
+
|
|
38
|
+
### Guardrails
|
|
39
|
+
- Dogfood runs copy fixtures into temporary directories before executing.
|
|
40
|
+
- Host capability detection does not require network access.
|
|
41
|
+
- Extension scaffolding does not overwrite existing files unless requested.
|
|
42
|
+
- Suite release dry-runs return planned writes and impacted dependents without
|
|
43
|
+
mutating sibling repositories.
|
|
44
|
+
|
|
45
|
+
## [1.6.21] - 2026-05-16
|
|
46
|
+
|
|
47
|
+
Dashboard compression, trace guardrails, and suite release readiness.
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
- Added dashboard action briefs so `/god-status`, `/god-next`, and CLI status
|
|
51
|
+
output show the recommended command, reason, readiness, and top blockers
|
|
52
|
+
before the detailed check list.
|
|
53
|
+
- Added release-surface checks that verify dogfood, extension publish, Mode D
|
|
54
|
+
suite, and installer smoke tests remain wired into the release gate.
|
|
55
|
+
- Added repo-surface suite readiness checks for Mode D helper, docs, tests,
|
|
56
|
+
and suite command route coverage.
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
- Route-quality sync now requires every agent-spawning route to declare both
|
|
60
|
+
`agent.start` and `agent.end` trace events.
|
|
61
|
+
- `/god-init`, `/god-roadmap-update`, and `/god-sync` route metadata now
|
|
62
|
+
declare the missing `agent.start` trace event.
|
|
63
|
+
|
|
64
|
+
### Guardrails
|
|
65
|
+
- Spawn observability, release dogfooding, extension readiness, suite
|
|
66
|
+
readiness, and onboarding compression are now checked by executable tests
|
|
67
|
+
instead of remaining documentation-only goals.
|
|
68
|
+
|
|
10
69
|
## [1.6.20] - 2026-05-16
|
|
11
70
|
|
|
12
71
|
Automation surface closeout and release guardrails.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](CHANGELOG.md)
|
|
6
6
|
[](https://www.npmjs.com/package/godpowers)
|
|
7
7
|
|
|
8
8
|
**Ship fast. Ship right. Ship everything. Ship accountably.**
|
|
@@ -12,11 +12,15 @@ idea to hardened production. It runs as **slash commands inside your AI coding
|
|
|
12
12
|
tool** (Claude Code, Codex, Cursor, etc.) that orchestrate **specialist agents**
|
|
13
13
|
in fresh contexts to do the work.
|
|
14
14
|
|
|
15
|
-
Version 1.6.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
Version 1.6.22 turns the last "needs more outside use" gaps into executable
|
|
16
|
+
surface area. Godpowers now ships a messy-repo dogfood runner, dashboard host
|
|
17
|
+
guarantee reporting, compact dashboard output, extension scaffolding, and
|
|
18
|
+
Mode D suite release dry-run planning.
|
|
19
|
+
|
|
20
|
+
The dashboard now starts with an action brief and a host guarantee line: the
|
|
21
|
+
next command, why it is recommended, whether the project is ready, the first
|
|
22
|
+
blockers that need attention, and whether the current host can provide full,
|
|
23
|
+
degraded, or unknown runtime guarantees.
|
|
20
24
|
|
|
21
25
|
It fuses four disciplines into one unified workflow:
|
|
22
26
|
|
|
@@ -107,8 +111,8 @@ You can also ask any time:
|
|
|
107
111
|
```
|
|
108
112
|
|
|
109
113
|
This reads `.godpowers/PROGRESS.md`, scans disk, reconciles any drift, and
|
|
110
|
-
suggests the next logical command
|
|
111
|
-
when you open a new session in a Godpowers project.
|
|
114
|
+
suggests the next logical command with a compact action brief. The SessionStart
|
|
115
|
+
hook does the same thing when you open a new session in a Godpowers project.
|
|
112
116
|
|
|
113
117
|
The same status engine is available from the installer CLI for humans, CI,
|
|
114
118
|
Codex, Claude, Cursor, Gemini, OpenCode, Windsurf, Antigravity, and any host
|
|
@@ -117,7 +121,10 @@ runtime that can execute Node:
|
|
|
117
121
|
```bash
|
|
118
122
|
npx godpowers status --project=.
|
|
119
123
|
npx godpowers next --project=.
|
|
124
|
+
npx godpowers status --project=. --brief
|
|
120
125
|
npx godpowers status --project=. --json
|
|
126
|
+
npx godpowers dogfood
|
|
127
|
+
npx godpowers extension-scaffold --name=@godpowers/my-pack --output=.
|
|
121
128
|
```
|
|
122
129
|
|
|
123
130
|
### Slash Commands
|
|
@@ -142,6 +149,7 @@ npx godpowers status --project=. --json
|
|
|
142
149
|
| `/god-status` | Re-derive state from disk | (built-in) |
|
|
143
150
|
| `/god-automation-status` | Show host automation provider support | (built-in) |
|
|
144
151
|
| `/god-automation-setup` | Prepare opt-in automation setup | (built-in) |
|
|
152
|
+
| `/god-dogfood` | Run messy-repo dogfood scenarios for release and autonomy readiness | (built-in) |
|
|
145
153
|
| `/god-migrate` | Detect GSD, BMAD, and Superpowers context; import and sync back | god-greenfieldifier when needed |
|
|
146
154
|
| `/god-preflight` | Read-only intake audit before project-run readiness and pillars | god-auditor |
|
|
147
155
|
| `/god-audit` | Score artifacts against have-nots | god-auditor |
|
|
@@ -209,6 +217,17 @@ npx godpowers automation-status --project=.
|
|
|
209
217
|
npx godpowers automation-setup --project=.
|
|
210
218
|
```
|
|
211
219
|
|
|
220
|
+
Godpowers can dogfood itself against shipped messy-repo fixtures:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npx godpowers dogfood
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The dogfood suite covers a half-migrated GSD project, full and degraded host
|
|
227
|
+
guarantee detection, extension scaffold validation, and a Mode D suite release
|
|
228
|
+
dry-run. `/god-dogfood` reports failures with scoped specialist ownership
|
|
229
|
+
rather than treating fixture checks as silent background work.
|
|
230
|
+
|
|
212
231
|
Automation setup is opt-in. The installer does not create schedules, routines,
|
|
213
232
|
background agents, API triggers, or CI workflows. Safe starting templates are
|
|
214
233
|
read-only status, checkpoint, review queue, hygiene, and release readiness
|
|
@@ -359,7 +378,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
|
|
|
359
378
|
|
|
360
379
|
- [Getting Started](docs/getting-started.md)
|
|
361
380
|
- [Concepts](docs/concepts.md)
|
|
362
|
-
- [Command reference (all
|
|
381
|
+
- [Command reference (all 110 skills + 40 agents)](docs/reference.md)
|
|
363
382
|
- [Feature awareness](docs/feature-awareness.md)
|
|
364
383
|
- [Repository documentation sync](docs/repo-doc-sync.md)
|
|
365
384
|
- [Repository surface sync](docs/repo-surface-sync.md)
|
package/RELEASE.md
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
# Godpowers 1.6.
|
|
1
|
+
# Godpowers 1.6.22 Release
|
|
2
2
|
|
|
3
3
|
Date: 2026-05-16
|
|
4
4
|
|
|
5
|
-
Godpowers 1.6.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
current.
|
|
5
|
+
Godpowers 1.6.22 turns the remaining "needs more real use" risks into
|
|
6
|
+
executable surfaces. It adds deterministic messy-repo dogfooding, dashboard
|
|
7
|
+
host guarantees, compact status output, extension authoring scaffolds, and
|
|
8
|
+
Mode D suite release dry-run planning.
|
|
10
9
|
|
|
11
10
|
## What is stable
|
|
12
11
|
|
|
13
|
-
-
|
|
12
|
+
- 110 slash commands
|
|
14
13
|
- 40 specialist agents
|
|
15
14
|
- 13 executable workflows
|
|
16
15
|
- 40 intent recipes
|
|
@@ -28,21 +27,25 @@ current.
|
|
|
28
27
|
- Repository documentation sync checks
|
|
29
28
|
- Repository surface sync checks
|
|
30
29
|
- Route quality, recipe coverage, and release surface sync checks
|
|
30
|
+
- Dashboard action briefs for next-step compression
|
|
31
|
+
- Dashboard host guarantees for full, degraded, and unknown runtime capability
|
|
32
|
+
- Agent-spawn trace event guardrails
|
|
33
|
+
- Mode D suite readiness checks
|
|
34
|
+
- Messy-repo dogfood scenarios
|
|
35
|
+
- Extension authoring scaffold helper
|
|
36
|
+
- Mode D suite release dry-run planner
|
|
31
37
|
|
|
32
38
|
## What is new
|
|
33
39
|
|
|
34
|
-
- Added `lib/
|
|
35
|
-
- Added
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
- Added
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
- Feature awareness now records route quality, recipe coverage, and release
|
|
44
|
-
surface sync as known runtime features.
|
|
45
|
-
- Package contents checks now require all three new sync helpers.
|
|
40
|
+
- Added `lib/dogfood-runner.js`, `/god-dogfood`, and CLI `dogfood`.
|
|
41
|
+
- Added dogfood fixtures for half-migrated GSD import and sync-back, full and
|
|
42
|
+
degraded host guarantees, extension scaffold validation, and suite release
|
|
43
|
+
dry-run planning.
|
|
44
|
+
- Added `lib/host-capabilities.js` and dashboard host guarantee reporting.
|
|
45
|
+
- Added compact dashboard output through `--brief`.
|
|
46
|
+
- Added `lib/extension-authoring.js` and CLI `extension-scaffold`.
|
|
47
|
+
- Added `suiteState.planRelease` for Mode D dependent impact planning before
|
|
48
|
+
mutation.
|
|
46
49
|
|
|
47
50
|
## Automation surface behavior
|
|
48
51
|
|
|
@@ -50,12 +53,18 @@ For a Godpowers repository, the helper checks:
|
|
|
50
53
|
|
|
51
54
|
- every routed specialist spawn resolves to a real agent or built-in runtime
|
|
52
55
|
owner
|
|
56
|
+
- every agent-spawning route declares `agent.start` and `agent.end`
|
|
53
57
|
- every durable-writing route declares standards coverage or an approved
|
|
54
58
|
exemption
|
|
55
59
|
- high-frequency work has discoverable intent recipes
|
|
56
60
|
- release-facing version surfaces agree with `package.json`
|
|
57
61
|
- package content checks require load-bearing runtime helper files
|
|
58
62
|
- release checklist policy names the current sync guards
|
|
63
|
+
- release gates include dogfood, extension publish, Mode D suite, and installer
|
|
64
|
+
smoke checks
|
|
65
|
+
- dogfood fixtures cover migration, host guarantees, extension authoring, and
|
|
66
|
+
suite release dry-runs
|
|
67
|
+
- host guarantees are visible in dashboard and compact dashboard output
|
|
59
68
|
|
|
60
69
|
Detection is read-only by default. Applying sync writes logs and leaves
|
|
61
70
|
judgment-heavy rewrites to scoped specialists.
|
|
@@ -74,16 +83,24 @@ Godpowers recommends scoped specialists only when judgment is needed:
|
|
|
74
83
|
- `god-roadmap-reconciler` for workflow or recipe lifecycle drift
|
|
75
84
|
- `god-coordinator` for extension pack drift
|
|
76
85
|
- `god-docs-writer` for release prose drift
|
|
86
|
+
- `god-greenfieldifier` for dogfood migration failures
|
|
87
|
+
- `god-context-writer` for host capability failures
|
|
77
88
|
|
|
78
89
|
## Validation
|
|
79
90
|
|
|
80
91
|
Release validation includes:
|
|
81
92
|
|
|
93
|
+
- `node scripts/test-dogfood-runner.js`
|
|
94
|
+
- `node scripts/test-host-capabilities.js`
|
|
95
|
+
- `node scripts/test-extension-authoring.js`
|
|
82
96
|
- `node scripts/test-repo-surface-sync.js`
|
|
83
97
|
- `node scripts/test-automation-surface-sync.js`
|
|
84
98
|
- `node scripts/test-repo-doc-sync.js`
|
|
85
99
|
- `node scripts/test-feature-awareness.js`
|
|
86
100
|
- `node scripts/test-dashboard.js`
|
|
101
|
+
- `node scripts/test-mode-d.js`
|
|
102
|
+
- `node scripts/test-extensions-publish.js`
|
|
103
|
+
- `node scripts/test-install-smoke.js`
|
|
87
104
|
- `node scripts/test-context-writer.js`
|
|
88
105
|
- `node scripts/test-planning-systems.js`
|
|
89
106
|
- `node scripts/test-doc-surface-counts.js`
|
|
@@ -91,5 +108,5 @@ Release validation includes:
|
|
|
91
108
|
- `git diff --check`
|
|
92
109
|
- `npm run release:check`
|
|
93
110
|
|
|
94
|
-
The `v1.6.
|
|
95
|
-
`godpowers@1.6.
|
|
111
|
+
The `v1.6.22` tag should point to the release commit that matches the npm
|
|
112
|
+
`godpowers@1.6.22` package.
|
package/bin/install.js
CHANGED
|
@@ -303,6 +303,12 @@ function parseArgs(argv) {
|
|
|
303
303
|
command: null,
|
|
304
304
|
project: process.cwd(),
|
|
305
305
|
json: false,
|
|
306
|
+
brief: false,
|
|
307
|
+
extensionName: null,
|
|
308
|
+
extensionOutput: process.cwd(),
|
|
309
|
+
extensionSkill: null,
|
|
310
|
+
extensionAgent: null,
|
|
311
|
+
extensionWorkflow: null,
|
|
306
312
|
runtimes: [],
|
|
307
313
|
global: false,
|
|
308
314
|
local: false,
|
|
@@ -318,11 +324,16 @@ function parseArgs(argv) {
|
|
|
318
324
|
case 'next':
|
|
319
325
|
case 'automation-status':
|
|
320
326
|
case 'automation-setup':
|
|
327
|
+
case 'dogfood':
|
|
328
|
+
case 'extension-scaffold':
|
|
321
329
|
opts.command = arg;
|
|
322
330
|
break;
|
|
323
331
|
case '--json':
|
|
324
332
|
opts.json = true;
|
|
325
333
|
break;
|
|
334
|
+
case '--brief':
|
|
335
|
+
opts.brief = true;
|
|
336
|
+
break;
|
|
326
337
|
case '--project':
|
|
327
338
|
if (args[i + 1]) {
|
|
328
339
|
opts.project = path.resolve(args[i + 1]);
|
|
@@ -351,6 +362,16 @@ function parseArgs(argv) {
|
|
|
351
362
|
default:
|
|
352
363
|
if (arg.startsWith('--project=')) {
|
|
353
364
|
opts.project = path.resolve(arg.slice('--project='.length));
|
|
365
|
+
} else if (arg.startsWith('--name=')) {
|
|
366
|
+
opts.extensionName = arg.slice('--name='.length);
|
|
367
|
+
} else if (arg.startsWith('--output=')) {
|
|
368
|
+
opts.extensionOutput = path.resolve(arg.slice('--output='.length));
|
|
369
|
+
} else if (arg.startsWith('--skill=')) {
|
|
370
|
+
opts.extensionSkill = arg.slice('--skill='.length);
|
|
371
|
+
} else if (arg.startsWith('--agent=')) {
|
|
372
|
+
opts.extensionAgent = arg.slice('--agent='.length);
|
|
373
|
+
} else if (arg.startsWith('--workflow=')) {
|
|
374
|
+
opts.extensionWorkflow = arg.slice('--workflow='.length);
|
|
354
375
|
} else if (arg.startsWith('--') && RUNTIMES[arg.slice(2)]) {
|
|
355
376
|
opts.runtimes.push(arg.slice(2));
|
|
356
377
|
}
|
|
@@ -575,10 +596,18 @@ function showHelp() {
|
|
|
575
596
|
log(' next Show the dashboard and recommended next command');
|
|
576
597
|
log(' automation-status Show host automation provider support');
|
|
577
598
|
log(' automation-setup Show an opt-in automation setup plan');
|
|
599
|
+
log(' dogfood Run built-in messy-repo dogfood scenarios');
|
|
600
|
+
log(' extension-scaffold Create a publishable extension pack skeleton');
|
|
578
601
|
log('');
|
|
579
602
|
log('Options:');
|
|
580
603
|
log(' --project=<path> Project root for status, next, or automation commands');
|
|
581
604
|
log(' --json Emit JSON for status, next, or automation commands');
|
|
605
|
+
log(' --brief Render a compact dashboard for status or next');
|
|
606
|
+
log(' --name=<scope/name> Extension package name for extension-scaffold');
|
|
607
|
+
log(' --output=<path> Extension output root for extension-scaffold');
|
|
608
|
+
log(' --skill=<name> Extension skill name for extension-scaffold');
|
|
609
|
+
log(' --agent=<name> Extension agent name for extension-scaffold');
|
|
610
|
+
log(' --workflow=<name> Extension workflow name for extension-scaffold');
|
|
582
611
|
log(' -g, --global Install globally (to config directory)');
|
|
583
612
|
log(' -l, --local Install locally (to current directory)');
|
|
584
613
|
log(' --claude Install for Claude Code');
|
|
@@ -605,6 +634,8 @@ function showHelp() {
|
|
|
605
634
|
log(' npx godpowers next --project=.');
|
|
606
635
|
log(' npx godpowers automation-status --project=.');
|
|
607
636
|
log(' npx godpowers automation-setup --project=.');
|
|
637
|
+
log(' npx godpowers dogfood');
|
|
638
|
+
log(' npx godpowers extension-scaffold --name=@godpowers/my-pack --output=.');
|
|
608
639
|
log(' npx godpowers --claude --global');
|
|
609
640
|
log(' npx godpowers --all');
|
|
610
641
|
log(' npx godpowers --codex --cursor');
|
|
@@ -630,7 +661,7 @@ function runDashboardCommand(opts) {
|
|
|
630
661
|
if (opts.json) {
|
|
631
662
|
console.log(JSON.stringify(result, null, 2));
|
|
632
663
|
} else {
|
|
633
|
-
|
|
664
|
+
console.log(dashboard.render(result, { brief: opts.brief }));
|
|
634
665
|
if (opts.command === 'next') {
|
|
635
666
|
console.log('');
|
|
636
667
|
console.log('Suggested next command:');
|
|
@@ -639,6 +670,45 @@ function runDashboardCommand(opts) {
|
|
|
639
670
|
}
|
|
640
671
|
}
|
|
641
672
|
|
|
673
|
+
function runDogfoodCommand(opts) {
|
|
674
|
+
const dogfood = require('../lib/dogfood-runner');
|
|
675
|
+
const result = dogfood.runAll();
|
|
676
|
+
if (opts.json) {
|
|
677
|
+
console.log(JSON.stringify(result, null, 2));
|
|
678
|
+
} else {
|
|
679
|
+
console.log(dogfood.render(result));
|
|
680
|
+
}
|
|
681
|
+
if (result.status !== 'pass') process.exit(1);
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
function runExtensionScaffoldCommand(opts) {
|
|
685
|
+
const authoring = require('../lib/extension-authoring');
|
|
686
|
+
if (!opts.extensionName) {
|
|
687
|
+
error('extension-scaffold requires --name=@scope/package');
|
|
688
|
+
process.exit(1);
|
|
689
|
+
}
|
|
690
|
+
const result = authoring.scaffold(opts.extensionOutput, {
|
|
691
|
+
name: opts.extensionName,
|
|
692
|
+
skill: opts.extensionSkill || undefined,
|
|
693
|
+
agent: opts.extensionAgent || undefined,
|
|
694
|
+
workflow: opts.extensionWorkflow || undefined,
|
|
695
|
+
runtimeVersion: VERSION
|
|
696
|
+
});
|
|
697
|
+
if (opts.json) {
|
|
698
|
+
console.log(JSON.stringify(result, null, 2));
|
|
699
|
+
} else {
|
|
700
|
+
success(`Scaffolded ${result.name} at ${result.path}`);
|
|
701
|
+
if (result.written.length > 0) {
|
|
702
|
+
log(`Wrote ${result.written.length} file(s): ${result.written.join(', ')}`);
|
|
703
|
+
}
|
|
704
|
+
if (result.validation.length > 0) {
|
|
705
|
+
warn(`Validation warnings: ${result.validation.join('; ')}`);
|
|
706
|
+
} else {
|
|
707
|
+
success('Extension manifest validates');
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
|
|
642
712
|
// ---------------------------------------------------------------------------
|
|
643
713
|
// Main
|
|
644
714
|
// ---------------------------------------------------------------------------
|
|
@@ -661,6 +731,16 @@ function main() {
|
|
|
661
731
|
return;
|
|
662
732
|
}
|
|
663
733
|
|
|
734
|
+
if (opts.command === 'dogfood') {
|
|
735
|
+
runDogfoodCommand(opts);
|
|
736
|
+
return;
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
if (opts.command === 'extension-scaffold') {
|
|
740
|
+
runExtensionScaffoldCommand(opts);
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
|
|
664
744
|
console.log(BANNER);
|
|
665
745
|
|
|
666
746
|
const srcDir = path.resolve(__dirname, '..');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Extension authoring scaffold",
|
|
3
|
+
"kind": "extension-authoring",
|
|
4
|
+
"extensionName": "@godpowers/dogfood-pack",
|
|
5
|
+
"expectedFiles": [
|
|
6
|
+
"manifest.yaml",
|
|
7
|
+
"package.json",
|
|
8
|
+
"README.md",
|
|
9
|
+
"skills/god-dogfood-extension.md",
|
|
10
|
+
"agents/god-dogfood-agent.md",
|
|
11
|
+
"workflows/dogfood-workflow.yaml"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Half migrated GSD project",
|
|
3
|
+
"kind": "planning-migration",
|
|
4
|
+
"actions": [
|
|
5
|
+
"import-planning-context",
|
|
6
|
+
"sync-back"
|
|
7
|
+
],
|
|
8
|
+
"expectedSystems": [
|
|
9
|
+
"gsd"
|
|
10
|
+
],
|
|
11
|
+
"expectedFiles": [
|
|
12
|
+
".godpowers/prep/IMPORTED-CONTEXT.md",
|
|
13
|
+
".godpowers/prd/PRD.md",
|
|
14
|
+
".planning/GODPOWERS-SYNC.md"
|
|
15
|
+
]
|
|
16
|
+
}
|
package/lib/README.md
CHANGED
|
@@ -13,11 +13,13 @@ package-level integrations.
|
|
|
13
13
|
| `intent.js` | Read and validate `intent.yaml` from project roots or `.godpowers/`. |
|
|
14
14
|
| `checkpoint.js` | Create and inspect resumable checkpoint artifacts. |
|
|
15
15
|
| `feature-awareness.js` | Detect and refresh existing-project awareness after runtime upgrades. |
|
|
16
|
+
| `host-capabilities.js` | Detect host guarantees for shell, git, npm, agent spawning, extension authoring, and suite dry-runs. |
|
|
16
17
|
| `repo-doc-sync.js` | Detect and refresh mechanical repository documentation surfaces. |
|
|
17
18
|
| `repo-surface-sync.js` | Detect structural drift across commands, routes, packages, agents, workflows, recipes, extensions, and release policy. |
|
|
18
19
|
| `route-quality-sync.js` | Detect symbolic route spawns, unresolved agent targets, and unapproved contextual route exits. |
|
|
19
20
|
| `recipe-coverage-sync.js` | Detect missing high-frequency intent recipe coverage. |
|
|
20
21
|
| `release-surface-sync.js` | Detect release-facing drift across badges, release notes, changelog, package checks, and release checklist policy. |
|
|
22
|
+
| `dogfood-runner.js` | Run deterministic messy-repo scenarios against migration, host, extension, and suite release behavior. |
|
|
21
23
|
| `budget.js` | Read and enforce configured budget controls. |
|
|
22
24
|
| `cost-tracker.js` | Track token and cost estimates from event streams. |
|
|
23
25
|
|
|
@@ -68,6 +70,7 @@ package-level integrations.
|
|
|
68
70
|
| `skillui-bridge.js` | Bridge skill metadata into UI surfaces. |
|
|
69
71
|
| `impeccable-bridge.js` | Bridge runtime checks into impeccable quality workflows. |
|
|
70
72
|
| `extensions.js` | Load and validate extension packs. |
|
|
73
|
+
| `extension-authoring.js` | Scaffold publishable extension packs with manifest, package, README, skill, agent, and workflow files. |
|
|
71
74
|
|
|
72
75
|
## Repository and graph helpers
|
|
73
76
|
|