godpowers 2.1.0 → 2.1.1
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 +15 -0
- package/README.md +2 -2
- package/RELEASE.md +20 -44
- package/SKILL.md +1 -1
- package/lib/README.md +16 -0
- package/lib/context-writer.js +17 -6
- package/package.json +1 -1
- package/skills/god-doctor.md +1 -1
- package/skills/god-version.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.1.1] - 2026-05-30
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- The context off-switch now empties the canonical `AGENTS.md` instead of
|
|
14
|
+
deleting it; auto-generated pointer files (`CLAUDE.md`, `.cursorrules`, etc.)
|
|
15
|
+
are still removed when only the Godpowers fence remains
|
|
16
|
+
(`lib/context-writer.js`).
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- Documentation: dropped unverifiable external impeccable rule/finding counts;
|
|
20
|
+
reconciled the project-mode taxonomy (A/B/C/E primary modes, with D as the
|
|
21
|
+
orthogonal multi-repo suite overlay) in `concepts.md` and `ROADMAP.md`;
|
|
22
|
+
documented all `lib/` modules in `lib/README.md`; and clarified how the
|
|
23
|
+
artifact-category counts relate in `greenfield-coverage.md`.
|
|
24
|
+
|
|
10
25
|
## [2.1.0] - 2026-05-30
|
|
11
26
|
|
|
12
27
|
### Security
|
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.**
|
|
@@ -21,7 +21,7 @@ Godpowers makes AI coding accountable: every serious run should leave disk
|
|
|
21
21
|
state, artifacts, validation gates, host guarantees, and a next action. Code is
|
|
22
22
|
only one output. The project memory and proof trail matter too.
|
|
23
23
|
|
|
24
|
-
Version 2.1.
|
|
24
|
+
Version 2.1.1 keeps the proof loop executable. `npx godpowers quick-proof
|
|
25
25
|
--project=.` now renders a shipped fixture with real `.godpowers/state.json`,
|
|
26
26
|
computed next action, missing-artifact visibility, and host guarantees. The
|
|
27
27
|
2.0 line also ships a proof transcript, adoption canary harness, published npm
|
package/RELEASE.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Godpowers 2.1.
|
|
1
|
+
# Godpowers 2.1.1 Release
|
|
2
2
|
|
|
3
3
|
Date: 2026-05-30
|
|
4
4
|
|
|
5
|
-
Godpowers 2.1.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Godpowers 2.1.1 is a documentation and off-switch safety patch on top of the
|
|
6
|
+
2.1.0 security release. The public slash-command surface, runtime behavior, and
|
|
7
|
+
artifact layout are unchanged except for one safety improvement to the context
|
|
8
|
+
off-switch.
|
|
9
9
|
|
|
10
10
|
## What is stable
|
|
11
11
|
|
|
@@ -15,45 +15,25 @@ and reconciling documentation drift across the repository.
|
|
|
15
15
|
- 40 intent recipes
|
|
16
16
|
- 15-runtime installer
|
|
17
17
|
- Codex installs with generated `god-*.toml` agent metadata files
|
|
18
|
-
- Markdown specialist agent contracts at `<runtime>/agents/god-*.md`
|
|
19
18
|
- Shared runtime bundle at `<runtime>/godpowers-runtime`
|
|
20
19
|
- Native Pillars project context through `AGENTS.md` and `agents/*.md`
|
|
21
20
|
- `.godpowers/` workflow state and artifact layout
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- `godpowers status --project .` and `godpowers next --project .`
|
|
25
|
-
- `godpowers quick-proof --project .`
|
|
26
|
-
- Planning-system migration for GSD, BMAD, and Superpowers
|
|
27
|
-
- Repository documentation, repository surface, route quality, recipe coverage,
|
|
28
|
-
and release surface sync checks
|
|
29
|
-
- Messy-repo dogfood scenarios
|
|
30
|
-
- Extension authoring scaffold helper
|
|
31
|
-
- Mode D suite release dry-run planner
|
|
21
|
+
- `godpowers status --project .`, `godpowers next --project .`, and
|
|
22
|
+
`godpowers quick-proof --project .`
|
|
32
23
|
- Release gate enforcement through `npm run release:check`
|
|
24
|
+
- The 2.1.0 security hardening (argv-only browser exec, corrupt-file parse
|
|
25
|
+
guards, clean-replace installs, prototype-pollution guards)
|
|
33
26
|
|
|
34
27
|
## What is new
|
|
35
28
|
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
dashboard and automation see review items and the off-switch no longer
|
|
45
|
-
deletes a repo-root file.
|
|
46
|
-
- Made data-directory and runtime-bundle installs a clean replace so version
|
|
47
|
-
upgrades never leave behind files that no longer ship.
|
|
48
|
-
- Narrowed `agent-cache` deletion scope, added extension-scaffold name
|
|
49
|
-
validation, added prototype-pollution guards to the YAML/manifest parser and
|
|
50
|
-
router, and limited installer symlink reproduction to the source tree.
|
|
51
|
-
- Added a skill/agent prose reference validator wired into the agent-ref test
|
|
52
|
-
gate, wired have-not `A-13` into the architecture gate, and softened brittle
|
|
53
|
-
exact-count tests to floors.
|
|
54
|
-
- Reconciled documentation drift across README, ARCHITECTURE, ARCHITECTURE-MAP,
|
|
55
|
-
docs, references, and skills (counts, linkage paths, HAVE-NOTS tally, stale
|
|
56
|
-
sample output).
|
|
29
|
+
- The context off-switch now empties the canonical `AGENTS.md` instead of
|
|
30
|
+
deleting it; auto-generated pointer files (`CLAUDE.md`, `.cursorrules`, etc.)
|
|
31
|
+
are still removed when only the Godpowers fence remains.
|
|
32
|
+
- Documentation reconciliation: removed unverifiable external impeccable
|
|
33
|
+
rule/finding counts; aligned the project-mode taxonomy with the runtime
|
|
34
|
+
(A/B/C/E primary modes, with D as the orthogonal multi-repo suite overlay);
|
|
35
|
+
documented every `lib/` module; and clarified how the artifact-category counts
|
|
36
|
+
relate.
|
|
57
37
|
|
|
58
38
|
## Guardrails
|
|
59
39
|
|
|
@@ -61,10 +41,6 @@ and reconciling documentation drift across the repository.
|
|
|
61
41
|
- The runtime remains dependency-free.
|
|
62
42
|
- `bin/install.js` stays a thin CLI entry point and delegates install behavior
|
|
63
43
|
to `lib/installer-core.js`.
|
|
64
|
-
- Every `child_process` call site uses an argv array with the shell disabled.
|
|
65
|
-
- `scripts/static-check.js` continues to verify async APIs, JSDoc typedefs,
|
|
66
|
-
agent-ref test coverage, shared harness adoption, skill metadata source
|
|
67
|
-
parsing, and God Mode runbook delegation.
|
|
68
44
|
|
|
69
45
|
## Validation
|
|
70
46
|
|
|
@@ -77,7 +53,7 @@ Release validation includes:
|
|
|
77
53
|
- `npm pack --json`
|
|
78
54
|
- local install smoke tests across supported runtime shapes
|
|
79
55
|
- npm publish when registry credentials are available
|
|
80
|
-
- GitHub release creation for `v2.1.
|
|
56
|
+
- GitHub release creation for `v2.1.1`
|
|
81
57
|
|
|
82
|
-
The `v2.1.
|
|
83
|
-
`godpowers@2.1.
|
|
58
|
+
The `v2.1.1` tag should point to the release commit that matches the npm
|
|
59
|
+
`godpowers@2.1.1` package.
|
package/SKILL.md
CHANGED
package/lib/README.md
CHANGED
|
@@ -22,6 +22,7 @@ package-level integrations.
|
|
|
22
22
|
| `dogfood-runner.js` | Run deterministic messy-repo scenarios against migration, host, extension, and suite release behavior. |
|
|
23
23
|
| `budget.js` | Read and enforce configured budget controls. |
|
|
24
24
|
| `cost-tracker.js` | Track token and cost estimates from event streams. |
|
|
25
|
+
| `fs-async.js` | Promise-based file read/write helpers for non-blocking runtime paths. |
|
|
25
26
|
|
|
26
27
|
## Events and observability
|
|
27
28
|
|
|
@@ -43,6 +44,8 @@ package-level integrations.
|
|
|
43
44
|
| `workflow-runner.js` | Execute workflow steps with validation hooks. |
|
|
44
45
|
| `agent-cache.js` | Cache agent metadata for faster routing. |
|
|
45
46
|
| `agent-validator.js` | Validate agent frontmatter and contracts. |
|
|
47
|
+
| `agent-refs.js` | Validate workflow agent references and scan skill/agent prose for phantom references. |
|
|
48
|
+
| `skill-surface.js` | Derive slash-command metadata from the individual `skills/` files. |
|
|
46
49
|
|
|
47
50
|
## Artifact quality
|
|
48
51
|
|
|
@@ -71,6 +74,7 @@ package-level integrations.
|
|
|
71
74
|
| `impeccable-bridge.js` | Bridge runtime checks into impeccable quality workflows. |
|
|
72
75
|
| `extensions.js` | Load and validate extension packs. |
|
|
73
76
|
| `extension-authoring.js` | Scaffold publishable extension packs with manifest, package, README, skill, agent, and workflow files. |
|
|
77
|
+
| `pillars.js` | Manage the Pillars project-context layer (`AGENTS.md` plus routed `agents/*.md`). |
|
|
74
78
|
|
|
75
79
|
## Repository and graph helpers
|
|
76
80
|
|
|
@@ -87,5 +91,17 @@ package-level integrations.
|
|
|
87
91
|
| `review-required.js` | Decide when review gates should block progress. |
|
|
88
92
|
| `suite-state.js` | Manage state across registered project suites. |
|
|
89
93
|
|
|
94
|
+
## Installer, dashboard, and CLI helpers
|
|
95
|
+
|
|
96
|
+
| Module | Purpose |
|
|
97
|
+
|--------|---------|
|
|
98
|
+
| `installer-core.js` | Install and uninstall the Godpowers surface for each runtime. |
|
|
99
|
+
| `installer-files.js` | File-copy helpers shared by the installer and its tests. |
|
|
100
|
+
| `installer-args.js` | Parse `bin/install.js` arguments and subcommands. |
|
|
101
|
+
| `installer-runtimes.js` | Map supported runtimes to their config directories. |
|
|
102
|
+
| `automation-providers.js` | Detect and configure host-native automation providers. |
|
|
103
|
+
| `dashboard.js` | Compute the next-step action brief and host guarantee line. |
|
|
104
|
+
| `quick-proof.js` | Render the shipped proof fixture for `godpowers quick-proof`. |
|
|
105
|
+
|
|
90
106
|
See `../ARCHITECTURE.md` for system design and `../docs/ROADMAP.md` for planned
|
|
91
107
|
runtime work.
|
package/lib/context-writer.js
CHANGED
|
@@ -216,15 +216,21 @@ function writeFenced(filePath, sectionContent) {
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
/**
|
|
219
|
-
* Remove the Godpowers fence from a file. Leaves the rest untouched. If
|
|
220
|
-
*
|
|
219
|
+
* Remove the Godpowers fence from a file. Leaves the rest untouched. If only
|
|
220
|
+
* the fence remained, an auto-generated pointer file is deleted; with
|
|
221
|
+
* { preserveFile: true } the file is emptied instead of deleted (used for the
|
|
222
|
+
* canonical AGENTS.md so the off-switch never removes the user's primary file).
|
|
221
223
|
*/
|
|
222
|
-
function removeFenced(filePath) {
|
|
224
|
+
function removeFenced(filePath, opts = {}) {
|
|
223
225
|
if (!fs.existsSync(filePath)) return { removed: false, reason: 'missing' };
|
|
224
226
|
const parsed = readFenced(filePath);
|
|
225
227
|
if (parsed.fenced === '') return { removed: false, reason: 'no-fence' };
|
|
226
228
|
let remaining = `${parsed.before}${parsed.after}`.replace(/\n{3,}/g, '\n\n').trim();
|
|
227
229
|
if (remaining === '') {
|
|
230
|
+
if (opts.preserveFile) {
|
|
231
|
+
fs.writeFileSync(filePath, '');
|
|
232
|
+
return { removed: true, fileDeleted: false, emptied: true };
|
|
233
|
+
}
|
|
228
234
|
fs.unlinkSync(filePath);
|
|
229
235
|
return { removed: true, fileDeleted: true };
|
|
230
236
|
}
|
|
@@ -284,8 +290,11 @@ function apply(projectRoot, state, opts = {}) {
|
|
|
284
290
|
* Remove all Godpowers fences from canonical + pointers (off-switch).
|
|
285
291
|
*/
|
|
286
292
|
function clearAll(projectRoot) {
|
|
287
|
-
|
|
288
|
-
|
|
293
|
+
// The canonical AGENTS.md is the user's primary context file: empty it rather
|
|
294
|
+
// than delete it. The remaining targets are auto-generated pointer files that
|
|
295
|
+
// Godpowers owns outright, so they are deleted when only the fence remains.
|
|
296
|
+
const canonical = path.join(projectRoot, 'AGENTS.md');
|
|
297
|
+
const pointers = [
|
|
289
298
|
path.join(projectRoot, 'CLAUDE.md'),
|
|
290
299
|
path.join(projectRoot, 'GEMINI.md'),
|
|
291
300
|
path.join(projectRoot, '.cursorrules'),
|
|
@@ -300,7 +309,9 @@ function clearAll(projectRoot) {
|
|
|
300
309
|
path.join(projectRoot, '.agents', 'skills', 'godpowers.md')
|
|
301
310
|
];
|
|
302
311
|
const results = [];
|
|
303
|
-
|
|
312
|
+
const rc = removeFenced(canonical, { preserveFile: true });
|
|
313
|
+
if (rc.removed) results.push({ path: canonical, ...rc });
|
|
314
|
+
for (const t of pointers) {
|
|
304
315
|
const r = removeFenced(t);
|
|
305
316
|
if (r.removed) results.push({ path: t, ...r });
|
|
306
317
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "godpowers",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "AI-powered development system: 110 slash commands and 40 specialist agents that take a project from raw idea to hardened production. Runs inside Claude Code, Codex, Cursor, Windsurf, Gemini, and 10+ other AI coding tools.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"godpowers": "./bin/install.js"
|
package/skills/god-doctor.md
CHANGED
|
@@ -50,7 +50,7 @@ GODPOWERS DOCTOR
|
|
|
50
50
|
Install: claude (~/.claude/)
|
|
51
51
|
[OK] 110 skills installed
|
|
52
52
|
[OK] 40 agents installed
|
|
53
|
-
[OK] VERSION matches (2.1.
|
|
53
|
+
[OK] VERSION matches (2.1.1)
|
|
54
54
|
[WARN] routing/god-doctor.yaml exists but skill file did not until now
|
|
55
55
|
|
|
56
56
|
Project: /Users/.../my-project/.godpowers/
|
package/skills/god-version.md
CHANGED
|
@@ -14,7 +14,7 @@ Print version and a short capability summary.
|
|
|
14
14
|
## Output
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
Godpowers v2.1.
|
|
17
|
+
Godpowers v2.1.1
|
|
18
18
|
Install: /Users/.../.claude/ (matches package.json)
|
|
19
19
|
Surface: 110 skills, 40 agents, 13 workflows, 40 recipes
|
|
20
20
|
Schema: intent.v1, state.v1, events.v1, workflow.v1, routing.v1, recipe.v1
|