godpowers 3.0.1 → 3.0.2

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 (58) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/README.md +24 -13
  3. package/RELEASE.md +21 -21
  4. package/SKILL.md +71 -112
  5. package/bin/install.js +10 -0
  6. package/lib/README.md +1 -0
  7. package/lib/cli-dispatch.js +40 -1
  8. package/lib/command-families.js +10 -2
  9. package/lib/install-profiles.js +4 -1
  10. package/lib/installer-args.js +22 -0
  11. package/lib/surface-profile.js +168 -0
  12. package/package.json +2 -2
  13. package/references/orchestration/GOD-MODE-RUNBOOK.md +9 -14
  14. package/references/orchestration/GOD-ORCHESTRATOR-RUNBOOK.md +31 -78
  15. package/references/shared/DASHBOARD-CONTRACT.md +66 -29
  16. package/references/shared/README.md +1 -1
  17. package/routing/god-demo.yaml +35 -0
  18. package/routing/god-first-run.yaml +34 -0
  19. package/routing/god-surface.yaml +39 -0
  20. package/routing/recipes/try-safely.yaml +26 -0
  21. package/skills/god-agent-audit.md +5 -6
  22. package/skills/god-archaeology.md +5 -6
  23. package/skills/god-audit.md +6 -7
  24. package/skills/god-automation-setup.md +6 -7
  25. package/skills/god-automation-status.md +6 -7
  26. package/skills/god-context-scan.md +7 -8
  27. package/skills/god-demo.md +53 -0
  28. package/skills/god-design-impact.md +5 -6
  29. package/skills/god-discuss.md +5 -6
  30. package/skills/god-docs.md +5 -10
  31. package/skills/god-doctor.md +8 -9
  32. package/skills/god-dogfood.md +7 -10
  33. package/skills/god-explore.md +5 -7
  34. package/skills/god-first-run.md +64 -0
  35. package/skills/god-help.md +77 -51
  36. package/skills/god-hygiene.md +5 -6
  37. package/skills/god-lifecycle.md +11 -13
  38. package/skills/god-list-assumptions.md +7 -8
  39. package/skills/god-locate.md +7 -8
  40. package/skills/god-map-codebase.md +5 -6
  41. package/skills/god-migrate.md +6 -15
  42. package/skills/god-next.md +16 -17
  43. package/skills/god-preflight.md +7 -8
  44. package/skills/god-progress.md +7 -8
  45. package/skills/god-reconcile.md +5 -6
  46. package/skills/god-reconstruct.md +5 -7
  47. package/skills/god-refactor.md +6 -7
  48. package/skills/god-roadmap-check.md +6 -7
  49. package/skills/god-scan.md +5 -9
  50. package/skills/god-spike.md +5 -6
  51. package/skills/god-standards.md +5 -6
  52. package/skills/god-status.md +12 -10
  53. package/skills/god-surface.md +61 -0
  54. package/skills/god-sync.md +4 -8
  55. package/skills/god-tech-debt.md +5 -6
  56. package/skills/god-test-runtime.md +4 -8
  57. package/skills/god-version.md +1 -1
  58. package/skills/god.md +53 -52
package/CHANGELOG.md CHANGED
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.2] - 2026-06-11
11
+
12
+ ### Added
13
+ - Added `/god-first-run`, `/god-demo`, and `/god-surface` as concierge
14
+ entry points for onboarding, sandbox proof, and post-install surface control.
15
+ - Added the `try-safely` recipe for users who want a proof path before
16
+ touching their current project.
17
+ - Added `godpowers demo` and `godpowers surface` CLI helpers, including
18
+ dry-run and apply flows for runtime profile changes.
19
+
20
+ ### Changed
21
+ - Changed default command guidance from catalog-first and dashboard-first
22
+ output to compact recommendations with `Next commands:` blocks.
23
+ - Updated `/god-help`, `/god`, `/god-next`, `/god-status`, and shared
24
+ dashboard contracts so full catalogs and full dashboards are opt-in.
25
+ - Updated README, roadmap, reference, release notes, architecture, and Pillar
26
+ context counts for the 120-command and 43-recipe public surface.
27
+
28
+ ### Fixed
29
+ - Added package, routing, installer-profile, command-family, quick-proof, and
30
+ surface-profile tests for the new concierge surface.
31
+ - Refreshed repo documentation sync and repo surface sync evidence after the
32
+ new surface landed.
33
+
10
34
  ## [3.0.1] - 2026-06-11
11
35
 
12
36
  ### Changed
@@ -42,7 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
66
  - Routed `/god-observe` through the `ship` verb boundary based on Phase 2 host
43
67
  proof evidence.
44
68
  - Updated public docs, profile tests, command-family tests, and Phase 5
45
- surface evidence for the 117-command surface.
69
+ surface evidence for the 120-command surface.
46
70
 
47
71
  ### Deprecated
48
72
  - Deprecated `/god-locate` in favor of `/god-status --locate`.
@@ -254,7 +278,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
254
278
  Proof goal labels resolve through shipped `/god` recipes and routes.
255
279
 
256
280
  ### Changed
257
- - Updated public surface counts to 112 slash commands and 42 intent recipes
281
+ - Updated public surface counts to 120 slash commands and 43 intent recipes
258
282
  across release notes, reference docs, architecture maps, package metadata,
259
283
  and project Pillars.
260
284
  - Tightened public front-door recipe matching for starter phrases including
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/aihxp/godpowers/actions/workflows/ci.yml/badge.svg)](https://github.com/aihxp/godpowers/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
- [![Version](https://img.shields.io/badge/version-3.0.1-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-3.0.2-blue)](CHANGELOG.md)
6
6
  [![npm](https://img.shields.io/npm/v/godpowers.svg)](https://www.npmjs.com/package/godpowers)
7
7
 
8
8
  **Ship fast. Ship right. Ship everything. Ship accountably.**
@@ -30,12 +30,13 @@ Godpowers makes AI coding accountable: every serious run should leave disk
30
30
  state, artifacts, validation gates, host guarantees, and a next action. Code is
31
31
  only one output. The project memory and proof trail matter too.
32
32
 
33
- Version 3.0.1 is a release-surface cleanup patch on top of the 3.0.0 surface
33
+ Version 3.0.2 is a concierge surface patch on top of the 3.0.0 surface
34
34
  contraction release. The current 3.x line keeps the omitted installer profile
35
- on `core`, preserves `--profile=full` for compatibility, keeps locate and
36
- lifecycle views under `/god-status`, ships the optional `@godpowers/mcp`
37
- companion package, and verifies docs, package contents, npm metadata, GitHub
38
- release state, and published install behavior before public release.
35
+ on `core`, adds first-run, demo, and surface-control entry points, preserves
36
+ `--profile=full` for compatibility, keeps locate and lifecycle views under
37
+ `/god-status`, ships the optional `@godpowers/mcp` companion package, and
38
+ verifies docs, package contents, npm metadata, GitHub release state, and
39
+ published install behavior before public release.
39
40
 
40
41
  Maintainer hardening continues on the 3.x line with small, audited public
41
42
  surface updates when they close real workflow gaps. Historical release details
@@ -124,6 +125,13 @@ npx godpowers --codex --local --profile=builder
124
125
  npx godpowers --all --profile=maintainer
125
126
  ```
126
127
 
128
+ After install, switch or preview the visible surface without starting over:
129
+
130
+ ```bash
131
+ npx godpowers surface --profile=builder --codex --global --dry-run
132
+ npx godpowers surface --profile=builder --codex --global --apply
133
+ ```
134
+
127
135
  Profiles are `core`, `builder`, `maintainer`, `suite`, and `full`. `core`
128
136
  installs the front door, status, verb dispatchers, and `/god-mode`
129
137
  compatibility. `full` preserves the complete command surface, while the smaller
@@ -217,13 +225,13 @@ same thing when you open a new session in a Godpowers project.
217
225
  If the full command surface feels large, begin with one of these paths and only
218
226
  learn the next command when Godpowers recommends it.
219
227
 
220
- `/god-help` presents command families first: start, continue, build, verify,
221
- operate, maintain, capture, recover, extend, collaborate, and configure. Leaf
222
- commands remain direct shortcuts.
228
+ `/god-help` presents a short state-aware view by default. `/god-help all`
229
+ shows the complete catalog. Leaf commands remain direct shortcuts.
223
230
 
224
231
  | Goal | Starter path |
225
232
  |---|---|
226
- | Start a product | `/god-init`, `/god-plan`, `/god-build` |
233
+ | Start a product | `/god-first-run`, `/god-init`, `/god-plan`, `/god-build` |
234
+ | Try safely | `/god-demo`, `/god-first-run`, `/god-init` |
227
235
  | Add a feature | `/god-reconcile`, `/god-feature`, `/god-sync`, `/god-review` |
228
236
  | Fix production | `/god-fix`, `/god-postmortem`, `/god-status` |
229
237
  | Audit an existing repo | `/god-preflight`, `/god-archaeology`, `/god-reconstruct`, `/god-audit`, `/god-tech-debt` |
@@ -253,7 +261,10 @@ runtime that can execute Node:
253
261
  ```bash
254
262
  npx godpowers status --project=.
255
263
  npx godpowers next --project=.
264
+ npx godpowers demo --project=.
265
+ npx godpowers surface --profile=core --codex --global --dry-run
256
266
  npx godpowers status --project=. --brief
267
+ npx godpowers status --project=. --full
257
268
  npx godpowers status --project=. --json
258
269
  npx godpowers quick-proof --project=.
259
270
  npx godpowers state advance --step=prd --status=done --project=.
@@ -304,14 +315,14 @@ dependency to the main `godpowers` package:
304
315
 
305
316
  ```bash
306
317
  npx godpowers mcp-info --project=.
307
- npx -y -p godpowers@3.0.1 -p @godpowers/mcp@3.0.1 godpowers-mcp serve --project=.
318
+ npx -y -p godpowers@3.0.2 -p @godpowers/mcp@3.0.2 godpowers-mcp serve --project=.
308
319
  ```
309
320
 
310
321
  The companion exposes `status`, `next`, `gate_check`, `lint_artifact`, and
311
322
  `trace_requirement`. Host registration is opt-in:
312
323
 
313
324
  ```bash
314
- npx -y -p godpowers@3.0.1 -p @godpowers/mcp@3.0.1 godpowers-mcp setup --host=codex --project=. --write
325
+ npx -y -p godpowers@3.0.2 -p @godpowers/mcp@3.0.2 godpowers-mcp setup --host=codex --project=. --write
315
326
  ```
316
327
 
317
328
  See [MCP Companion](docs/mcp.md) for package boundaries and setup details.
@@ -592,7 +603,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
592
603
  - [Quick Proof](docs/quick-proof.md)
593
604
  - [First 10 Minute Proof Case Study](docs/case-studies/first-10-minute-proof.md)
594
605
  - [Concepts](docs/concepts.md)
595
- - [Command reference (all 117 skills + 40 agents)](docs/reference.md)
606
+ - [Command reference (all 120 skills + 40 agents)](docs/reference.md)
596
607
  - [Feature awareness](docs/feature-awareness.md)
597
608
  - [Adoption Canary](docs/adoption-canary.md)
598
609
  - [Repository documentation sync](docs/repo-doc-sync.md)
package/RELEASE.md CHANGED
@@ -1,47 +1,47 @@
1
- # Godpowers 3.0.1 Release
1
+ # Godpowers 3.0.2 Release
2
2
 
3
3
  > Status: Published
4
4
  > Date: 2026-06-11
5
5
 
6
- [DECISION] Godpowers 3.0.1 is a documentation and release-surface cleanup patch on top of the 3.0.0 surface contraction release.
7
- [DECISION] This release preserves the 3.0.0 runtime behavior: `core` remains the omitted installer profile, `--profile=full` remains the complete compatibility surface, verb dispatchers continue routing to existing leaves, and `@godpowers/mcp` remains the optional read-only companion package.
8
- [DECISION] This release removes the completed migration planning document from the public documentation tree.
9
- [DECISION] This release updates stale README, roadmap, architecture, reference, MCP, release checklist, package metadata, and package version surfaces.
6
+ [DECISION] Godpowers 3.0.2 is a concierge surface patch on top of the 3.0.0 surface contraction release and the 3.0.1 release-surface cleanup.
7
+ [DECISION] This release keeps `core` as the omitted installer profile, keeps `--profile=full` as the complete compatibility surface, and adds first-run, demo, and surface-control entry points for safer onboarding.
8
+ [DECISION] This release changes default guidance from catalog-first and dashboard-first output to compact recommendations with `Next commands:` blocks.
9
+ [DECISION] This release keeps `@godpowers/mcp` as the optional read-only companion package.
10
10
 
11
11
  ## What's in this release
12
12
 
13
- - [DECISION] 117 slash commands.
13
+ - [DECISION] 120 slash commands.
14
14
  - [DECISION] 40 specialist agents.
15
15
  - [DECISION] 13 executable workflows.
16
- - [DECISION] 42 intent recipes.
16
+ - [DECISION] 43 intent recipes.
17
+ - [DECISION] Three concierge entry points are now shipped: `/god-first-run`, `/god-demo`, and `/god-surface`.
17
18
  - [DECISION] Five thin verb dispatch commands remain shipped: `/god-plan`, `/god-fix`, `/god-ship`, `/god-capture`, and `/god-extend`.
18
19
  - [DECISION] Five read-only MCP tools remain available in `@godpowers/mcp`: `status`, `next`, `gate_check`, `lint_artifact`, and `trace_requirement`.
19
20
 
20
21
  ## Changes
21
22
 
22
- - [DECISION] `package.json`, `package-lock.json`, and `packages/mcp/package.json` now publish the 3.0.1 patch version.
23
- - [DECISION] README current-release prose now points at the 3.x release line instead of foregrounding older 2.x patch details.
24
- - [DECISION] `docs/ROADMAP.md` now reports the 3.x public adoption window and the v3.0.1 current surface.
25
- - [DECISION] `docs/RELEASE-CHECKLIST.md` now describes `npm run lint` as a separate static release-sensitive gate instead of claiming it runs inside `npm run release:check`.
26
- - [DECISION] Architecture extension compatibility examples now match the shipped first-party pack range `>=2.0.0 <4.0.0`.
27
- - [DECISION] MCP setup examples now pin `godpowers@3.0.1` and `@godpowers/mcp@3.0.1`.
28
- - [DECISION] The quick proof regression test now guards adoption canary and release verification documentation links.
23
+ - [DECISION] `package.json`, `package-lock.json`, and `packages/mcp/package.json` now publish the 3.0.2 patch version.
24
+ - [DECISION] `/god-help` now starts with contextual next moves, while `/god-help all` remains the full installed catalog.
25
+ - [DECISION] `/god`, `/god-next`, `/god-status`, and the shared dashboard contract now prefer concise action briefs and explicit `Next commands:` blocks.
26
+ - [DECISION] `godpowers demo` exposes the shipped sandbox proof from the CLI without modifying the current project.
27
+ - [DECISION] `godpowers surface --profile=<name> --dry-run` previews runtime profile changes, and `--apply` writes the selected installed surface.
28
+ - [DECISION] README, roadmap, reference, architecture, release notes, and Pillar context now describe the 3.0.2 concierge surface.
29
29
 
30
30
  ## Validation
31
31
 
32
32
  - [DECISION] `npm run test:quick-proof` passed with 22 tests.
33
33
  - [DECISION] `npm run lint` passed with 29 static checks.
34
- - [DECISION] `npm run release:check` passed with `coverage:lib` at 92.82 percent line coverage.
34
+ - [DECISION] `npm run release:check` passed with `coverage:lib` at 92.69 percent line coverage.
35
35
  - [DECISION] `npm run release:check` passed `npm audit --omit=dev` with 0 vulnerabilities.
36
- - [DECISION] `npm run release:check` passed public surface docs for version 3.0.1 with 117 skills, 40 agents, 13 workflows, and 42 recipes.
37
- - [DECISION] `npm run release:check` passed root package contents with 548 files.
36
+ - [DECISION] `npm run release:check` passed public surface docs for version 3.0.2 with 120 skills, 40 agents, 13 workflows, and 43 recipes.
37
+ - [DECISION] `npm run release:check` passed root package contents with 556 files.
38
38
  - [DECISION] `npm run release:check` passed `@godpowers/mcp` package contents with 8 files.
39
- - [DECISION] `npm pack --pack-destination /tmp/godpowers-release-3.0.1` produced `godpowers-3.0.1.tgz` with 548 files.
40
- - [DECISION] `npm pack --workspace @godpowers/mcp --pack-destination /tmp/godpowers-release-3.0.1` produced `godpowers-mcp-3.0.1.tgz` with 8 files.
39
+ - [DECISION] `npm pack --pack-destination /tmp/godpowers-release-3.0.2` produced `godpowers-3.0.2.tgz` with 556 files.
40
+ - [DECISION] `npm pack --workspace @godpowers/mcp --pack-destination /tmp/godpowers-release-3.0.2` produced `godpowers-mcp-3.0.2.tgz` with 8 files.
41
41
 
42
42
  ## Upgrade
43
43
 
44
- - [DECISION] Use `npm install -g godpowers@3.0.1` or `npx godpowers@3.0.1`.
44
+ - [DECISION] Use `npm install -g godpowers@3.0.2` or `npx godpowers@3.0.2`.
45
45
  - [DECISION] Use `npx godpowers --profile=full` when the complete pre-3.0 command surface should be installed.
46
46
  - [DECISION] Use `npx godpowers --profile=core` or omit `--profile` for the contracted default surface.
47
47
  - [DECISION] Use optional MCP package install `npm install -g godpowers @godpowers/mcp` when the host can register MCP servers.
@@ -49,5 +49,5 @@
49
49
 
50
50
  ## Notes
51
51
 
52
- - [DECISION] The publish targets are npm `godpowers@3.0.1`, npm `@godpowers/mcp@3.0.1`, and GitHub release `https://github.com/aihxp/godpowers/releases/tag/v3.0.1`.
52
+ - [DECISION] The publish targets are npm `godpowers@3.0.2`, npm `@godpowers/mcp@3.0.2`, and GitHub release `https://github.com/aihxp/godpowers/releases/tag/v3.0.2`.
53
53
  - [DECISION] The tag-triggered GitHub publish workflow remains the preferred npm path because it publishes with provenance.
package/SKILL.md CHANGED
@@ -96,120 +96,82 @@ answer a question, inspect first. When a term is resolved, record it in
96
96
  `.godpowers/domain/GLOSSARY.md` with canonical spelling, avoided aliases,
97
97
  relationships, and any unresolved ambiguity.
98
98
 
99
- ### 9. Proposal Closeout
100
- When you answer with a recommendation, proposal, or exploratory plan and do not
101
- make file edits, run commands, or hand off to another command, end with a
102
- proposition block. The block must give the user concrete next moves instead of
103
- leaving them at a dead stop.
99
+ ### 9. Next Commands Closeout
100
+ When you answer with a recommendation, proposal, status report, diagnostic,
101
+ audit, lifecycle view, reconciliation, or exploratory plan, end with
102
+ `Next commands:` unless a downstream command already launched.
104
103
 
105
- This also applies to diagnostic, status, audit, lifecycle, reconciliation, and
106
- decision-support reports when they end with suggestions, options, or a
107
- recommended sequence.
104
+ The block must contain 1 to 4 runnable commands. Put the best option first.
105
+ Each line must be a concrete command plus one plain sentence explaining what it
106
+ will do. Do not end with abstract options such as "implement partial" or
107
+ "discuss more" unless those words are part of the command argument.
108
108
 
109
109
  Use this shape:
110
110
 
111
111
  ```
112
- Proposition:
113
- 1. Implement partial: <smallest safe slice and command>
114
- 2. Implement complete: <larger command or project run>
115
- 3. Discuss more: <focused question or /god-discuss topic>
116
- 4. Run God Mode: /god-mode <optional flags or scope>
117
- Recommended: <one option and why>
112
+ Next commands:
113
+ - /god-next: Continue with the safest state-derived next step.
114
+ - /god-status --full: Inspect the complete dashboard when you need all checks.
115
+ - /god-discuss <topic>: Resolve the named open question before work starts.
118
116
  ```
119
117
 
120
- Only include options that actually fit the situation. If `/god-mode` is too
121
- broad or unsafe for the request, say so and offer `/god-feature`,
122
- `/god-refactor`, `/god-spike`, or `/god-discuss` instead.
118
+ Only include commands that fit the current state. If `/god-mode` is too broad
119
+ or unsafe for the request, use `/god-feature`, `/god-refactor`, `/god-spike`,
120
+ `/god-fast`, `/god-quick`, or `/god-discuss` instead.
123
121
 
124
122
  ### 10. Completion Closeout
125
123
  When you complete work, especially from `/god-mode`, `/god-build`,
126
124
  `/god-feature`, `/god-hotfix`, `/god-refactor`, `/god-quick`, or any command
127
- that edits code or artifacts, do not stop at "complete" plus validation. End
128
- with a disk-derived closeout that tells the user the current state and what is
129
- next.
130
-
131
- Every closeout must include a **Godpowers Dashboard**. This dashboard is the
132
- same mental model across `/god-status`, `/god-progress`, `/god-next`,
133
- `/god-mode`, and every command that completes, pauses, or proposes work.
134
-
135
- When the runtime bundle is available, compute this with
136
- `lib/dashboard.compute(projectRoot)` and render it with
137
- `lib/dashboard.render(result)`. The executable dashboard engine is the shared
138
- source for phase, tier, step, progress, PRD and roadmap visibility, proactive
139
- checks, host guarantees, open items, and the next route. If the runtime module
140
- is unavailable, fall back to a manual disk scan and say `Dashboard engine:
141
- unavailable, manual scan used`.
125
+ that edits code or artifacts, do not stop at "complete" plus validation.
126
+ End with a concise disk-derived closeout that tells the user what changed,
127
+ what needs attention, and what command to run next.
128
+
129
+ Closeouts use the dashboard engine for computation, but they do not print the
130
+ full dashboard by default. When the runtime bundle is available, compute with
131
+ `lib/dashboard.compute(projectRoot)` and render a compact action brief. The
132
+ complete dashboard is available through `/god-status --full`.
133
+
134
+ If the runtime module is unavailable, silently use a manual disk scan. Mention
135
+ the fallback only when the missing runtime changes the recommendation, then
136
+ suggest `/god-doctor`.
142
137
 
143
138
  Use this shape:
144
139
 
145
140
  ```
146
- Godpowers Dashboard
147
-
148
- Current status:
149
- State: <complete | partial | blocked | complete with deferred item>
150
- Phase: <plain-language phase> (tier <human ordinal> of <human total>) when available
151
- Step: <sub-step label> (<step n> of <total steps>) when available
152
- Progress: <pct>% (<done> of <total> steps complete) when available
153
- Worktree: <clean | modified files unstaged | staged changes | mixed>
154
- Index: <untouched | staged files listed>
155
-
156
- Action brief:
157
- Next: <recommended command or user decision>
158
- Why: <route reason tied to disk state>
159
- Readiness: <ready | needs attention>
160
- Attention: <top blockers or none>
161
- Host guarantees: <full | degraded | unknown with host and first gap>
162
-
163
- Planning visibility:
164
- PRD: <done | pending | missing | deferred> <artifact path when present>
165
- Roadmap: <done | pending | missing | deferred> <artifact path when present>
166
- Current milestone: <roadmap milestone, tier, or next planning gate when known>
167
- Completion: <pct>% <brief basis, for example done steps over total tracked steps>
168
-
169
- What changed:
170
- 1. <highest-signal change>
171
- 2. <highest-signal change>
141
+ <one sentence describing the completed result>
142
+
143
+ Changed:
144
+ - <highest-signal user-visible change>
145
+ - <highest-signal user-visible change>
172
146
 
173
147
  Validation:
174
- + <command>: <result>
175
-
176
- Proactive checks:
177
- Checkpoint: <fresh | refreshed | missing | stale | conflicts with state.json>
178
- Reviews: <none | N pending, suggest /god-review-changes>
179
- Sync: <fresh | missing | stale | local helper ran | suggest /god-sync>
180
- Docs: <fresh | N stale, suggest /god-docs | repo-doc-sync ran>
181
- Repo surface: <fresh | N stale, suggest /god-doctor | repo-surface-sync ran>
182
- Host: <full | degraded | unknown with host and first gap>
183
- Runtime: <not-applicable | known URL, suggest /god-test-runtime | no known URL, defer deployed verification>
184
- Automation: <not configured | N active | available via provider, suggest /god-automation-setup>
185
- Security: <clear | sensitive files changed, suggest /god-harden>
186
- Dependencies: <clear | dependency files changed, suggest /god-update-deps>
187
- Hygiene: <fresh | stale, suggest /god-hygiene>
188
-
189
- Open items:
190
- 1. <deferred staging, unstaged files, pending review, blocker, or none>
191
-
192
- Next:
193
- Recommended: <one concrete command or user decision>
194
- Why: <one sentence tied to current state>
148
+ - <command>: <result>
149
+
150
+ Attention:
151
+ - <only blockers or signals that change the recommendation>
152
+
153
+ Next commands:
154
+ - <recommended command>: <one sentence reason>
155
+ - /god-status --full: See the complete dashboard and proactive checks.
195
156
  ```
196
157
 
197
- If the command intentionally did not stage, commit, push, or deploy, say that
198
- plainly and explain what the user can do next. If deployed staging is deferred,
199
- include the deferred artifact path or exact missing input. If the worktree has
200
- pre-existing unrelated changes, say the index was left untouched and recommend
201
- a scoped review or staging command rather than implying the project is fully
202
- shipped.
158
+ Omit empty sections. Do not print rows that only say `fresh`, `clear`, `none`,
159
+ or `not-applicable`. If the command intentionally did not stage, commit, push,
160
+ or deploy, say that plainly in the completion sentence or `Attention`.
161
+ If deployed staging is deferred, include the deferred artifact path or exact
162
+ missing input. If the worktree has pre-existing unrelated changes, say the
163
+ index was left untouched and recommend a scoped review or staging command
164
+ rather than implying the project is fully shipped.
203
165
 
204
- When the command only recommends work, keep the same dashboard but set
205
- `State: proposal` and end with the proposition block from Section 9. When the
206
- command pauses, set `State: blocked` or `State: paused` and make `Next` the
207
- one exact user decision needed to continue.
166
+ When the command only recommends work, use the same compact shape and end with
167
+ `Next commands:` from Section 9. When the command pauses, make the first next
168
+ command the exact user decision or command needed to continue.
208
169
 
209
170
  ### 11. Command Family UX
210
171
  Godpowers has many leaf commands, but user-facing routing should start from
211
- families. Keep the full command surface available while presenting these
212
- families first:
172
+ families and likely next moves. Keep the full command surface available, but
173
+ show the full catalog only when the user asks for `/god-help all`,
174
+ `/god-help <family>`, `/god-help search <keyword>`, or a direct command.
213
175
 
214
176
  - Start: start or import a project.
215
177
  - Continue: understand state and choose the next move.
@@ -225,9 +187,9 @@ families first:
225
187
 
226
188
  When choosing between similar commands, use the ladders from
227
189
  `lib/command-families.js`: capture ladder, work size ladder, verification
228
- ladder, status views, and trigger precedence. `/god-help` should render
229
- families before leaf commands, and `/god` should use the family helpers before
230
- asking the user to choose from a long list.
190
+ ladder, status views, and trigger precedence. `/god-help` should render 3 to 6
191
+ state-relevant choices by default, and `/god` should recommend one command
192
+ before showing alternatives.
231
193
 
232
194
  ### 12. User-Facing Vocabulary
233
195
  Godpowers may use internal words such as "arc" in routing, recipes, and agent
@@ -249,32 +211,29 @@ and roadmap visibility when those files exist or are expected. Show whether
249
211
  the PRD is done, whether the roadmap exists, which milestone or tier is active,
250
212
  how close the tracked workflow is to completion, and the next concrete move.
251
213
 
252
- ### 13. Auto-Invoke Visibility
214
+ ### 13. Automatic Work Visibility
253
215
  When Godpowers automatically runs another command, agent, or local runtime
254
- helper, show the user what happened. Do not describe these as "background"
255
- unless they are truly detached from the current run. Most Godpowers sync work
256
- is auto-invoked but still part of the current workflow.
216
+ helper, make the user-visible message proportional to the outcome. Internal
217
+ helper names do not appear by default.
257
218
 
258
- Use this shape whenever an automatic step runs or is skipped:
219
+ If the automatic step changed user-visible artifacts or changed the next
220
+ recommendation, say it in one plain sentence:
259
221
 
260
222
  ```
261
- Auto-invoked:
262
- Trigger: <what caused this automatic step>
263
- Agent: <god-updater | god-context-writer | none, local runtime only>
264
- Local syncs:
265
- + <feature-awareness | planning-system-import | reverse-sync | source-sync | repo-doc-sync | repo-surface-sync | route-quality-sync | recipe-coverage-sync | release-surface-sync | host-capabilities | dogfood-runner | pillars-sync | checkpoint-sync | context-refresh>: <result or skipped reason>
266
- Artifacts: <changed files, no-op, or deferred>
267
- Log: <SYNC-LOG.md, CHECKPOINT.md, REVIEW-REQUIRED.md, or none>
223
+ Synced project artifacts after the change. Details were written to .godpowers/SYNC-LOG.md.
268
224
  ```
269
225
 
270
- If no agent was spawned, say so plainly:
226
+ If the automatic step is routine and does not change the recommendation, keep
227
+ the details in `.godpowers/SYNC-LOG.md`, `.godpowers/CHECKPOINT.md`, or
228
+ `.godpowers/REVIEW-REQUIRED.md` without printing a card.
271
229
 
272
- ```
273
- Agent: none, local runtime only
274
- Why: this path calls lib/reverse-sync.run directly
275
- ```
230
+ Use a detailed `Auto-invoked:` card only for `--verbose`, debugging,
231
+ release-gate evidence, or a direct user request for automation internals.
232
+ When shown, it must name the user-facing trigger, changed artifacts, and log
233
+ path before any internal helper id.
276
234
 
277
- Automatic steps that especially need visible reporting:
235
+ Automatic steps that especially need a concise note when they change the next
236
+ recommendation, and a log entry otherwise:
278
237
  - `/god-sync` spawning `god-updater`
279
238
  - `god-updater` calling reverse-sync, Pillars sync, checkpoint sync, or
280
239
  AI-tool context refresh
package/bin/install.js CHANGED
@@ -58,6 +58,8 @@ function showHelp() {
58
58
  log(' automation-status Show host automation provider support');
59
59
  log(' automation-setup Show an opt-in automation setup plan');
60
60
  log(' dogfood Run built-in messy-repo dogfood scenarios');
61
+ log(' demo Show the shipped sandbox proof');
62
+ log(' surface Preview or apply an installed command profile');
61
63
  log(' extension-scaffold Create a publishable extension pack skeleton');
62
64
  log('');
63
65
  log('Command families:');
@@ -72,6 +74,10 @@ function showHelp() {
72
74
  log(' --tier=<name> Tier for gate: prd, design, arch, roadmap, stack, repo, build, or harden');
73
75
  log(' --json Emit JSON for status, next, proof, or automation commands');
74
76
  log(' --brief Render compact output for status, next, or proof');
77
+ log(' --full Render complete output for status, next, or demo');
78
+ log(' --dry-run Preview a surface profile change');
79
+ log(' --apply Apply a surface profile change');
80
+ log(' --runtime=<name> Runtime target for surface, such as codex');
75
81
  log(' --name=<scope/name> Extension package name for extension-scaffold');
76
82
  log(' --output=<path> Extension output root for extension-scaffold');
77
83
  log(' --skill=<name> Extension skill name for extension-scaffold');
@@ -110,6 +116,8 @@ function showHelp() {
110
116
  log(' npx godpowers automation-status --project=.');
111
117
  log(' npx godpowers automation-setup --project=.');
112
118
  log(' npx godpowers dogfood');
119
+ log(' npx godpowers demo --project=.');
120
+ log(' npx godpowers surface --profile=builder --codex --global --dry-run');
113
121
  log(' npx godpowers extension-scaffold --name=@godpowers/my-pack --output=.');
114
122
  log(' npx godpowers --claude --global');
115
123
  log(' npx godpowers --claude --global --profile=core');
@@ -216,7 +224,9 @@ module.exports = {
216
224
  runAutomationCommand: cliDispatch.runAutomationCommand,
217
225
  runDashboardCommand: cliDispatch.runDashboardCommand,
218
226
  runDogfoodCommand: cliDispatch.runDogfoodCommand,
227
+ runDemoCommand: cliDispatch.runDemoCommand,
219
228
  runQuickProofCommand: cliDispatch.runQuickProofCommand,
229
+ runSurfaceCommand: cliDispatch.runSurfaceCommand,
220
230
  runMcpInfoCommand: cliDispatch.runMcpInfoCommand,
221
231
  runExtensionScaffoldCommand: cliDispatch.runExtensionScaffoldCommand,
222
232
  runGateCommand: cliDispatch.runGateCommand,
package/lib/README.md CHANGED
@@ -112,6 +112,7 @@ package-level integrations.
112
112
  | `installer-args.js` | Parse `bin/install.js` arguments and subcommands. |
113
113
  | `cli-dispatch.js` | Dispatch local CLI helper commands such as status, quick-proof, gate, dogfood, and extension-scaffold. |
114
114
  | `install-profiles.js` | Select smaller role-specific slash-command install surfaces. |
115
+ | `surface-profile.js` | Preview and apply runtime command surface profile switches after install. |
115
116
  | `installer-runtimes.js` | Map supported runtimes to their config directories. |
116
117
  | `package-identity.js` | Centralize package name, version, repository, docs, and command identity. |
117
118
  | `automation-providers.js` | Detect and configure host-native automation providers. |
@@ -46,7 +46,7 @@ function runDashboardCommand(opts) {
46
46
  return;
47
47
  }
48
48
 
49
- console.log(dashboard.render(result, { brief: opts.brief }));
49
+ console.log(dashboard.render(result, { brief: opts.brief || !opts.full }));
50
50
  if (opts.command === 'next') {
51
51
  console.log('');
52
52
  console.log('Suggested next command:');
@@ -65,6 +65,10 @@ function runDogfoodCommand(opts) {
65
65
  if (result.status !== 'pass') process.exit(1);
66
66
  }
67
67
 
68
+ function runDemoCommand(opts) {
69
+ return runQuickProofCommand({ ...opts, brief: opts.full ? false : true });
70
+ }
71
+
68
72
  function runQuickProofCommand(opts) {
69
73
  const quickProof = require('./quick-proof');
70
74
  const result = quickProof.compute(opts.project);
@@ -75,6 +79,37 @@ function runQuickProofCommand(opts) {
75
79
  }
76
80
  }
77
81
 
82
+ function runSurfaceCommand(opts) {
83
+ const path = require('path');
84
+ const surfaceProfile = require('./surface-profile');
85
+ const srcDir = path.resolve(__dirname, '..');
86
+ let applied = [];
87
+
88
+ if (opts.apply) {
89
+ if (opts.json) {
90
+ const originalLog = console.log;
91
+ const originalError = console.error;
92
+ console.log = () => {};
93
+ console.error = () => {};
94
+ try {
95
+ applied = surfaceProfile.apply(srcDir, opts);
96
+ } finally {
97
+ console.log = originalLog;
98
+ console.error = originalError;
99
+ }
100
+ } else {
101
+ applied = surfaceProfile.apply(srcDir, opts);
102
+ }
103
+ }
104
+
105
+ const result = surfaceProfile.plan(srcDir, opts);
106
+ if (opts.json) {
107
+ console.log(JSON.stringify({ ...result, applied }, null, 2));
108
+ } else {
109
+ console.log(surfaceProfile.render(result));
110
+ }
111
+ }
112
+
78
113
  function runMcpInfoCommand(opts) {
79
114
  const mcpInfo = require('./mcp-info');
80
115
  const result = mcpInfo.info(opts.project);
@@ -185,6 +220,8 @@ const COMMAND_RUNNERS = {
185
220
  'automation-status': runAutomationCommand,
186
221
  'automation-setup': runAutomationCommand,
187
222
  dogfood: runDogfoodCommand,
223
+ demo: runDemoCommand,
224
+ surface: runSurfaceCommand,
188
225
  'extension-scaffold': runExtensionScaffoldCommand,
189
226
  gate: runGateCommand
190
227
  };
@@ -204,7 +241,9 @@ module.exports = {
204
241
  runAutomationCommand,
205
242
  runDashboardCommand,
206
243
  runDogfoodCommand,
244
+ runDemoCommand,
207
245
  runQuickProofCommand,
246
+ runSurfaceCommand,
208
247
  runMcpInfoCommand,
209
248
  runExtensionScaffoldCommand,
210
249
  runGateCommand,
@@ -15,6 +15,8 @@ const COMMAND_FAMILIES = [
15
15
  purpose: 'Start or import a project.',
16
16
  commands: [
17
17
  '/god',
18
+ '/god-first-run',
19
+ '/god-demo',
18
20
  '/god-init',
19
21
  '/god-mode',
20
22
  '/god-plan',
@@ -191,6 +193,7 @@ const COMMAND_FAMILIES = [
191
193
  purpose: 'Tune settings, budgets, cache, profiles, help, and version info.',
192
194
  commands: [
193
195
  '/god-settings',
196
+ '/god-surface',
194
197
  '/god-set-profile',
195
198
  '/god-budget',
196
199
  '/god-cost',
@@ -292,9 +295,14 @@ function familyForCommand(command) {
292
295
  return COMMAND_FAMILIES.find((family) => family.commands.includes(command)) || null;
293
296
  }
294
297
 
295
- function renderFamilyCards(families = COMMAND_FAMILIES.filter((family) => family.visibility !== 'hidden')) {
298
+ function renderFamilyCards(
299
+ families = COMMAND_FAMILIES.filter((family) => family.visibility !== 'hidden'),
300
+ opts = {}
301
+ ) {
296
302
  return families.map((family) => (
297
- `${family.label}: ${family.purpose} (${family.commands.join(', ')})`
303
+ opts.includeCommands
304
+ ? `${family.label}: ${family.purpose} (${family.commands.join(', ')})`
305
+ : `${family.label}: ${family.purpose}`
298
306
  ));
299
307
  }
300
308
 
@@ -1,6 +1,9 @@
1
1
  const COMMON = [
2
2
  'god',
3
+ 'god-first-run',
4
+ 'god-demo',
3
5
  'god-help',
6
+ 'god-surface',
4
7
  'god-version',
5
8
  'god-status'
6
9
  ];
@@ -131,7 +134,7 @@ const PROFILE_SKILLS = {
131
134
  };
132
135
 
133
136
  const PROFILE_DESCRIPTIONS = {
134
- core: 'front door, status, verbs, and autonomous compatibility',
137
+ core: 'first-run guidance, front door, status, verbs, surface control, and autonomous compatibility',
135
138
  builder: 'core plus planning leaves, stories, and runtime verification',
136
139
  maintainer: 'core plus hygiene, deps, docs, repair, automation, and extensions',
137
140
  suite: 'core plus multi-repo suite and workstream coordination',