godpowers 1.6.11 → 1.6.13

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 CHANGED
@@ -5,6 +5,67 @@ All notable changes to Godpowers will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.6.13] - 2026-05-16
9
+
10
+ Host automation provider discovery and opt-in setup planning.
11
+
12
+ ### Added
13
+ - Added `lib/automation-providers.js`, a shared provider detector for
14
+ host-native automation support.
15
+ - Added `godpowers automation-status --project .` and
16
+ `godpowers automation-setup --project .` for opt-in automation support.
17
+ - Added `/god-automation-status` and `/god-automation-setup` slash commands.
18
+ - Added `docs/automation-providers.md` with provider classes, safe templates,
19
+ and approval rules.
20
+ - Added automation provider tests covering provider classification, active
21
+ automation config, setup-plan rendering, and CLI JSON output.
22
+
23
+ ### Changed
24
+ - The dashboard engine now reports automation support when host-native
25
+ automation providers are available.
26
+ - The installer help now documents automation-status and automation-setup as
27
+ first-class read-only helper commands.
28
+ - Godpowers command guidance now recommends automation setup when provider
29
+ support exists and no approved automation template is active.
30
+
31
+ ### Guardrails
32
+ - Automation setup is opt-in only. Godpowers must not create schedules,
33
+ routines, background agents, API triggers, or CI workflows during install.
34
+ - Default automation templates are read-only and must not commit, push,
35
+ publish, deploy, clear reviews, accept Critical security findings, or access
36
+ provider dashboards without explicit user approval.
37
+
38
+ ## [1.6.12] - 2026-05-16
39
+
40
+ Executable dashboard CLI and shared runtime status engine.
41
+
42
+ ### Added
43
+ - Added `lib/dashboard.js`, a shared executable engine for project status,
44
+ progress percentage, tier position, planning visibility, proactive checks,
45
+ open items, and recommended next command.
46
+ - Added `godpowers status --project .` for human, CI, and host-runtime status
47
+ checks outside the slash command layer.
48
+ - Added `godpowers next --project .` for direct next-action routing from disk
49
+ state.
50
+ - Added `--json` output for the new status and next commands.
51
+ - Added dashboard behavioral tests, CLI status and next tests, and git
52
+ porcelain parsing tests.
53
+
54
+ ### Changed
55
+ - `/god-status`, `/god-next`, `/god-mode`, and `god-orchestrator` now point to
56
+ the shared dashboard engine when local runtime execution is available.
57
+ - The installer help now documents status and next as first-class commands.
58
+ - Release documentation now names the executable dashboard contract instead of
59
+ treating progress visibility as Markdown-only guidance.
60
+
61
+ ### Fixed
62
+ - Fixed git porcelain parsing so leading-space worktree entries such as
63
+ ` M README.md` do not clip filenames in dashboard output.
64
+
65
+ ### Validation
66
+ - Added tests prove dashboard computation, dashboard rendering, CLI JSON
67
+ output, proactive review suggestions, and staged path reporting.
68
+
8
69
  ## [1.6.11] - 2026-05-16
9
70
 
10
71
  Auto-invoke visibility and platform-neutral spawning patch.
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-1.6.11-blue)](CHANGELOG.md)
5
+ [![Version](https://img.shields.io/badge/version-1.6.13-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.**
@@ -12,10 +12,14 @@ 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.11 keeps the stable Godpowers surface while making automatic work
16
- more visible and portable: syncs, proactive checks, and specialist spawning now
17
- report what ran, what changed, and which host-platform agent mechanism is being
18
- used.
15
+ Version 1.6.13 builds on the executable dashboard engine and CLI status surface:
16
+ `godpowers status --project .` and `godpowers next --project .` now compute the
17
+ same disk-derived progress, planning visibility, proactive checks, and next
18
+ action used by `/god-status`, `/god-next`, and God Mode closeouts.
19
+ It adds an opt-in automation-provider layer so Godpowers can detect host
20
+ automation surfaces such as Codex App automations, Claude Routines, Cline
21
+ schedules, Qwen loops, Cursor Background Agents, Copilot cloud agent, and
22
+ scriptable CLI providers without silently creating background work.
19
23
 
20
24
  It fuses four disciplines into one unified workflow:
21
25
 
@@ -109,6 +113,16 @@ This reads `.godpowers/PROGRESS.md`, scans disk, reconciles any drift, and
109
113
  suggests the next logical command. The SessionStart hook does the same thing
110
114
  when you open a new session in a Godpowers project.
111
115
 
116
+ The same status engine is available from the installer CLI for humans, CI,
117
+ Codex, Claude, Cursor, Gemini, OpenCode, Windsurf, Antigravity, and any host
118
+ runtime that can execute Node:
119
+
120
+ ```bash
121
+ npx godpowers status --project=.
122
+ npx godpowers next --project=.
123
+ npx godpowers status --project=. --json
124
+ ```
125
+
112
126
  ### Slash Commands
113
127
 
114
128
  | Command | What it does | Spawns agent |
@@ -129,6 +143,8 @@ when you open a new session in a Godpowers project.
129
143
  | `/god-launch` | Launch (gated on harden) | god-launch-strategist |
130
144
  | `/god-harden` | Adversarial security review | god-harden-auditor |
131
145
  | `/god-status` | Re-derive state from disk | (built-in) |
146
+ | `/god-automation-status` | Show host automation provider support | (built-in) |
147
+ | `/god-automation-setup` | Prepare opt-in automation setup | (built-in) |
132
148
  | `/god-preflight` | Read-only intake audit before project-run readiness and pillars | god-auditor |
133
149
  | `/god-audit` | Score artifacts against have-nots | god-auditor |
134
150
  | `/god-debug` | 4-phase systematic debug | god-debugger |
@@ -179,6 +195,26 @@ Under `--yolo`, Godpowers also auto-applies Pillars sync proposals when
179
195
  durable `.godpowers` artifacts change project truth. The decision is logged to
180
196
  `.godpowers/YOLO-DECISIONS.md`.
181
197
 
198
+ Every completing command now ends with a **Godpowers Dashboard**. It shows the
199
+ current phase, tier, step count, percent complete, PRD and roadmap visibility,
200
+ recent work, proactive checks, open items, and the single recommended next
201
+ action. `/god-status` and `/god-next` use the same shape so the project never
202
+ ends in a vague "done" state. The dashboard is backed by
203
+ `lib/dashboard.js`, so status and next-step commands share one executable
204
+ source of disk truth instead of parallel Markdown-only contracts.
205
+
206
+ Godpowers can also inspect automation support:
207
+
208
+ ```bash
209
+ npx godpowers automation-status --project=.
210
+ npx godpowers automation-setup --project=.
211
+ ```
212
+
213
+ Automation setup is opt-in. The installer does not create schedules, routines,
214
+ background agents, API triggers, or CI workflows. Safe starting templates are
215
+ read-only status, checkpoint, review queue, hygiene, and release readiness
216
+ reports.
217
+
182
218
  For existing codebases and org-constrained new projects, God Mode now runs a
183
219
  greenfield simulation audit and then actions it through a greenfieldification
184
220
  plan. It pauses before risky artifact rewrites because that process can change
@@ -301,7 +337,7 @@ Pi. T3 Code inherits from the underlying agent (Codex / Claude / OpenCode).
301
337
 
302
338
  - [Getting Started](docs/getting-started.md)
303
339
  - [Concepts](docs/concepts.md)
304
- - [Command reference (all 106 skills + 39 agents)](docs/reference.md)
340
+ - [Command reference (all 108 skills + 39 agents)](docs/reference.md)
305
341
  - [Roadmap](docs/ROADMAP.md)
306
342
  - [1.5 Release Notes](RELEASE.md)
307
343
  - [Changelog](CHANGELOG.md)
package/RELEASE.md CHANGED
@@ -1,50 +1,43 @@
1
- # Godpowers 1.6.11 Release
1
+ # Godpowers 1.6.13 Release
2
2
 
3
3
  Date: 2026-05-16
4
4
 
5
- Godpowers 1.6.11 makes automatic work easier to trust across supported AI
6
- coding tools. The release keeps the existing 106 slash commands, 39 specialist
7
- agents, 13 workflows, and 36 recipes, while clarifying when Godpowers spawned
8
- an agent, called a local runtime helper, or only suggested the next action.
5
+ Godpowers 1.6.13 adds host automation provider discovery and opt-in setup
6
+ planning. The same local runtime surface can now report Codex App automations,
7
+ Claude Routines, Cline schedules, Qwen loops, Cursor Background Agents,
8
+ Copilot cloud agent support, and scriptable CLI options without silently
9
+ creating background work.
9
10
 
10
11
  ## What is stable
11
12
 
12
- - 106 slash commands
13
+ - 108 slash commands
13
14
  - 39 specialist agents
14
15
  - 13 executable workflows
15
16
  - 36 intent recipes
16
17
  - 15-runtime installer
18
+ - 458 package files in the npm tarball
17
19
  - Codex installs with generated `god-*.toml` agent metadata files
18
20
  - Markdown specialist agent contracts at `<runtime>/agents/god-*.md`
19
- - Safe-sync routing before deploy, observe, harden, launch, or god-mode work
20
- - Critical harden finding gate before launch
21
+ - Shared runtime bundle at `<runtime>/godpowers-runtime`
21
22
  - Native Pillars project context through `AGENTS.md` and `agents/*.md`
22
23
  - `.godpowers/` workflow state and artifact layout
23
- - Core schemas: intent, state, events, workflow, routing, recipes, extension
24
- manifests
25
- - Extension pack compatibility range for the 1.x line
24
+ - Safe-sync routing before deploy, observe, harden, launch, or god-mode work
25
+ - Critical harden finding gate before launch
26
26
  - GSD-style proposition closeouts for exploratory, diagnostic, audit,
27
27
  lifecycle, status, reconciliation, and decision-support outputs
28
28
  - Plain-language project-run wording in user-facing reports
29
- - Planning visibility blocks for PRD, roadmap, milestone, and completion basis
30
29
 
31
30
  ## What is new
32
31
 
33
- - The master skill now defines a proactive auto-invoke policy with four levels:
34
- read-only suggestions, visible local helpers, bounded specialist agent spawns,
35
- and explicit-approval-only actions.
36
- - `/god-next`, `/god-status`, and God Mode closeouts now include proactive
37
- checks for checkpoint freshness, pending reviews, sync state, docs drift,
38
- runtime verification, security, dependencies, and hygiene.
39
- - `/god-sync`, `/god-scan`, `god-updater`, and `god-orchestrator` now distinguish
40
- spawned agents from local runtime helpers such as reverse-sync, Pillars sync,
41
- checkpoint sync, and context refresh.
42
- - Docs drift, runtime verification, and review queue workflows now document when
43
- they may be suggested or auto-invoked.
44
- - Spawning instructions now use platform-neutral host-agent language instead of
45
- Claude-specific "Task tool" wording.
46
- - The installer now replaces Codex skill directories before writing `SKILL.md`,
47
- which removes stale nested files from older Codex install shapes.
32
+ - Added `lib/automation-providers.js`, a shared automation provider detector.
33
+ - Added `godpowers automation-status --project .`.
34
+ - Added `godpowers automation-setup --project .`.
35
+ - Added `/god-automation-status` and `/god-automation-setup`.
36
+ - Added `docs/automation-providers.md`.
37
+ - Dashboard output now reports automation support when a host-native provider
38
+ is available.
39
+ - Tests now cover provider classification, active automation config,
40
+ setup-plan rendering, and CLI JSON output.
48
41
 
49
42
  ## Platform behavior
50
43
 
@@ -53,9 +46,12 @@ Trae, Cline, Kilo, Antigravity, Qwen, CodeBuddy, and Pi all receive the same
53
46
  portable Markdown agent contracts. Codex also receives `god-*.toml` files as
54
47
  its registry adapter.
55
48
 
56
- If a host platform cannot provide a true fresh-context agent spawn, Godpowers
57
- must say so visibly and report the work as local runtime only or simulated in
58
- current context. It must not imply that a detached background agent ran.
49
+ The dashboard and automation provider engines ship in the installed runtime
50
+ bundle so host tools can use shared implementation code instead of parallel
51
+ command-specific Markdown contracts. If a host platform cannot provide a true
52
+ fresh-context agent spawn or durable scheduler, Godpowers must say so visibly
53
+ and report the work as local runtime only, manual workflow only, or simulated
54
+ in current context.
59
55
 
60
56
  ## Safety policy
61
57
 
@@ -68,6 +64,7 @@ Godpowers still must not auto-run these without explicit user intent:
68
64
  - deployed staging verification against a guessed URL
69
65
  - production launch
70
66
  - provider dashboard, admin console, DNS, credential, or secret checks
67
+ - schedule, routine, background agent, API trigger, or CI workflow creation
71
68
  - broad dependency upgrades
72
69
  - destructive repair, rollback, reset, delete, or cleanup
73
70
  - clearing `.godpowers/REVIEW-REQUIRED.md`
@@ -76,14 +73,14 @@ Godpowers still must not auto-run these without explicit user intent:
76
73
 
77
74
  ## Validation
78
75
 
79
- Release validation should include:
76
+ Release validation includes:
80
77
 
81
- - `node scripts/validate-skills.js`
82
- - `bash scripts/smoke.sh`
83
- - `node scripts/test-agent-validator.js`
84
- - `node scripts/test-install-smoke.js`
78
+ - `node scripts/test-dashboard.js`
79
+ - `node scripts/test-automation-providers.js`
80
+ - `npm test`
81
+ - `npm run test:audit`
85
82
  - `node scripts/check-package-contents.js`
86
- - `npm run release:check`
83
+ - `git diff --check`
87
84
 
88
- The `v1.6.11` git tag should point to the release commit that matches the npm
89
- `godpowers@1.6.11` package.
85
+ The `v1.6.13` git tag points to the release commit that matches the npm
86
+ `godpowers@1.6.13` package.
package/SKILL.md CHANGED
@@ -112,12 +112,28 @@ that edits code or artifacts, do not stop at "complete" plus validation. End
112
112
  with a disk-derived closeout that tells the user the current state and what is
113
113
  next.
114
114
 
115
+ Every closeout must include a **Godpowers Dashboard**. This dashboard is the
116
+ same mental model across `/god-status`, `/god-next`, `/god-mode`, and every
117
+ command that completes, pauses, or proposes work.
118
+
119
+ When the runtime bundle is available, compute this with
120
+ `lib/dashboard.compute(projectRoot)` and render it with
121
+ `lib/dashboard.render(result)`. The executable dashboard engine is the shared
122
+ source for phase, tier, step, progress, PRD and roadmap visibility, proactive
123
+ checks, open items, and the next route. If the runtime module is unavailable,
124
+ fall back to a manual disk scan and say `Dashboard engine: unavailable, manual
125
+ scan used`.
126
+
115
127
  Use this shape:
116
128
 
117
129
  ```
130
+ Godpowers Dashboard
131
+
118
132
  Current status:
119
133
  State: <complete | partial | blocked | complete with deferred item>
120
- Progress: <pct>% (<done> of <total> steps complete; current step <n> of <total>) when available
134
+ Phase: <plain-language phase> (tier <human ordinal> of <human total>) when available
135
+ Step: <sub-step label> (<step n> of <total steps>) when available
136
+ Progress: <pct>% (<done> of <total> steps complete) when available
121
137
  Worktree: <clean | modified files unstaged | staged changes | mixed>
122
138
  Index: <untouched | staged files listed>
123
139
 
@@ -134,8 +150,19 @@ What changed:
134
150
  Validation:
135
151
  + <command>: <result>
136
152
 
153
+ Proactive checks:
154
+ Checkpoint: <fresh | refreshed | missing | stale | conflicts with state.json>
155
+ Reviews: <none | N pending, suggest /god-review-changes>
156
+ Sync: <fresh | missing | stale | local helper ran | suggest /god-sync>
157
+ Docs: <fresh | possible drift, suggest /god-docs>
158
+ Runtime: <not-applicable | known URL, suggest /god-test-runtime | no known URL, defer deployed verification>
159
+ Automation: <not configured | N active | available via provider, suggest /god-automation-setup>
160
+ Security: <clear | sensitive files changed, suggest /god-harden>
161
+ Dependencies: <clear | dependency files changed, suggest /god-update-deps>
162
+ Hygiene: <fresh | stale, suggest /god-hygiene>
163
+
137
164
  Open items:
138
- 1. <deferred staging, unstaged files, pending review, or none>
165
+ 1. <deferred staging, unstaged files, pending review, blocker, or none>
139
166
 
140
167
  Next:
141
168
  Recommended: <one concrete command or user decision>
@@ -149,6 +176,11 @@ pre-existing unrelated changes, say the index was left untouched and recommend
149
176
  a scoped review or staging command rather than implying the project is fully
150
177
  shipped.
151
178
 
179
+ When the command only recommends work, keep the same dashboard but set
180
+ `State: proposal` and end with the proposition block from Section 9. When the
181
+ command pauses, set `State: blocked` or `State: paused` and make `Next` the
182
+ one exact user decision needed to continue.
183
+
152
184
  ### 11. User-Facing Vocabulary
153
185
  Godpowers may use internal words such as "arc" in routing, recipes, and agent
154
186
  implementation notes. Do not require the user to decode that word in visible
@@ -158,7 +190,7 @@ Use these plain-language substitutions in user-facing responses:
158
190
  - Say "project run" or "workflow" instead of "arc".
159
191
  - Say "phase" or "current step" instead of "tier" unless the user has asked
160
192
  for tier details. If tier detail helps, say both, for example
161
- "Planning, Tier 1".
193
+ "Planning phase, tier 2 of 4".
162
194
  - Say "current milestone" or "roadmap step" when ROADMAP.md has a matching
163
195
  milestone.
164
196
  - If you must use "arc", define it once as "the end-to-end project workflow"
@@ -204,6 +236,8 @@ Automatic steps that especially need visible reporting:
204
236
  - DESIGN/PRODUCT change detection that spawns `god-design-reviewer`
205
237
  - `/god-scan` when it runs reverse-sync directly without an agent
206
238
  - checkpoint refresh after state mutations
239
+ - automation provider detection in `/god-status`, `/god-next`,
240
+ `/god-automation-status`, and `/god-automation-setup`
207
241
 
208
242
  ### 13. Proactive Auto-Invoke Policy
209
243
  Godpowers should be proactive from disk evidence, not from guesswork. Before
@@ -221,6 +255,9 @@ Run or apply these by default in every relevant closeout:
221
255
  status shows stale docs, deps, or review queues.
222
256
  - Suggest `/god-locate` when `.godpowers/CHECKPOINT.md` is missing, stale, or
223
257
  conflicts with `state.json`.
258
+ - Suggest `/god-automation-status` or `/god-automation-setup` when host-native
259
+ automation support is available and `.godpowers/automations.json` has no
260
+ active read-only templates.
224
261
 
225
262
  #### Level 2: Auto-run local helpers, visible and logged
226
263
  Run these local runtime helpers automatically when their trigger is present:
@@ -260,6 +297,8 @@ Never auto-run these from inference alone:
260
297
  - clearing `.godpowers/REVIEW-REQUIRED.md`
261
298
  - accepting Critical security findings
262
299
  - git stage, commit, push, package, release, or publish
300
+ - schedule, routine, background agent, API trigger, or CI workflow creation
301
+ without explicit user approval
263
302
 
264
303
  Every auto-invoke decision must be explainable from one of these inputs:
265
304
  changed files, Godpowers artifacts, `state.json`, `PROGRESS.md`,
@@ -310,12 +310,15 @@ Use this trigger map:
310
310
  | frontend-visible files changed and no known URL exists | suggest `/god-test-runtime` with local URL setup, defer deployed URL | proposition |
311
311
  | security-sensitive files changed | auto-spawn only inside harden, hotfix, launch, or project run; otherwise suggest `/god-harden` | proposition |
312
312
  | dependency files changed | auto-spawn only inside update-deps, hygiene, or approved project run; otherwise suggest `/god-update-deps` | proposition |
313
+ | host automation support detected and no active templates are recorded | suggest `/god-automation-status` or `/god-automation-setup` | proposition |
313
314
  | full project run complete or hygiene stale | suggest `/god-hygiene` | proposition |
314
315
 
315
316
  Never use this matrix to auto-run Level 4 actions: deployed staging against a
316
317
  guessed URL, production launch, provider dashboard access, broad dependency
317
318
  upgrades, destructive repair, review clearing, Critical security acceptance, or
318
- git stage, commit, push, package, release, or publish.
319
+ git stage, commit, push, package, release, publish, schedule creation, routine
320
+ creation, background agent creation, API trigger creation, or CI workflow
321
+ creation.
319
322
 
320
323
  Every auto action must emit either `Auto-invoked:`, `Sync status:`, or a
321
324
  proposition explaining why it did not run.
@@ -676,12 +679,16 @@ across all 14 categories.
676
679
 
677
680
  After Launch completes, write a transition message:
678
681
 
679
- ```
682
+ ```text
680
683
  Godpowers project run complete.
681
684
 
685
+ Godpowers Dashboard
686
+
682
687
  Current status:
683
688
  State: complete
684
- Progress: <pct>% (<done> of <total> steps complete; current step <n> of <total>)
689
+ Phase: <plain-language phase> (tier <human ordinal> of <human total>)
690
+ Step: <sub-step label> (step <n> of <total steps>)
691
+ Progress: <pct>% (<done> of <total> steps complete)
685
692
  Worktree: <clean | modified files unstaged | staged changes | mixed>
686
693
  Index: <untouched | staged files listed>
687
694
 
@@ -737,6 +744,11 @@ Proposition:
737
744
  4. Run deployed staging: provide STAGING_APP_URL=<deployed staging origin> when needed
738
745
  ```
739
746
 
747
+ Generate the dashboard with `lib/dashboard.compute(projectRoot)` and
748
+ `lib/dashboard.render(result)` when the runtime bundle is available. If the
749
+ runtime module cannot be loaded, fall back to a manual disk scan and say
750
+ `Dashboard engine: unavailable, manual scan used`.
751
+
740
752
  Update PROGRESS.md status to `steady-state-active`.
741
753
 
742
754
  For focused brownfield, hotfix, refactor, or build workflows that finish without a
@@ -860,7 +872,8 @@ Show:
860
872
  - commands being run and whether they passed or failed
861
873
  - scoped file changes
862
874
  - final validation summary
863
- - final current status from disk, including progress, lifecycle, open items,
875
+ - final Godpowers Dashboard from disk, including phase, tier, step, progress,
876
+ lifecycle, planning visibility, proactive checks, open items,
864
877
  worktree/index state, and recommended next action
865
878
  - plain-language workflow names. Say "project run" or "workflow" instead of
866
879
  unexplained "arc" in visible output
@@ -918,11 +931,11 @@ one compact card.
918
931
 
919
932
  Before starting a tier/sub-step:
920
933
 
921
- ```
934
+ ```text
922
935
  Next step
923
- Progress: <pct>% (<done> of <total> steps complete; current step <n> of <total>)
924
- Tier: <tier-number> <tier-label>
936
+ Phase: <plain-language phase> (tier <human ordinal> of <human total>)
925
937
  Step: <sub-step-label>
938
+ Progress: <pct>% (<done> of <total> steps complete; step <n> of <total>)
926
939
  Why this now: <one sentence tied to disk state or the prior gate>
927
940
  What will happen:
928
941
  1. <first observable action>
@@ -933,11 +946,11 @@ Expected output: <artifact path or verification result>
933
946
 
934
947
  After a tier/sub-step completes or pauses:
935
948
 
936
- ```
949
+ ```text
937
950
  Step result
938
- Progress: <pct>% (<done> of <total> steps complete; current step <n> of <total>)
939
- Tier: <tier-number> <tier-label>
951
+ Phase: <plain-language phase> (tier <human ordinal> of <human total>)
940
952
  Step: <sub-step-label>
953
+ Progress: <pct>% (<done> of <total> steps complete; step <n> of <total>)
941
954
  Result: <done | blocked | failed | skipped | imported>
942
955
  What happened:
943
956
  1. <observable action completed>
package/bin/install.js CHANGED
@@ -300,6 +300,9 @@ function removeSkillEntry(skillsDir, entry) {
300
300
  function parseArgs(argv) {
301
301
  const args = argv.slice(2);
302
302
  const opts = {
303
+ command: null,
304
+ project: process.cwd(),
305
+ json: false,
303
306
  runtimes: [],
304
307
  global: false,
305
308
  local: false,
@@ -308,8 +311,24 @@ function parseArgs(argv) {
308
311
  uninstall: false,
309
312
  };
310
313
 
311
- for (const arg of args) {
314
+ for (let i = 0; i < args.length; i++) {
315
+ const arg = args[i];
312
316
  switch (arg) {
317
+ case 'status':
318
+ case 'next':
319
+ case 'automation-status':
320
+ case 'automation-setup':
321
+ opts.command = arg;
322
+ break;
323
+ case '--json':
324
+ opts.json = true;
325
+ break;
326
+ case '--project':
327
+ if (args[i + 1]) {
328
+ opts.project = path.resolve(args[i + 1]);
329
+ i++;
330
+ }
331
+ break;
313
332
  case '-g':
314
333
  case '--global':
315
334
  opts.global = true;
@@ -330,7 +349,9 @@ function parseArgs(argv) {
330
349
  opts.uninstall = true;
331
350
  break;
332
351
  default:
333
- if (arg.startsWith('--') && RUNTIMES[arg.slice(2)]) {
352
+ if (arg.startsWith('--project=')) {
353
+ opts.project = path.resolve(arg.slice('--project='.length));
354
+ } else if (arg.startsWith('--') && RUNTIMES[arg.slice(2)]) {
334
355
  opts.runtimes.push(arg.slice(2));
335
356
  }
336
357
  break;
@@ -548,8 +569,16 @@ function uninstallForRuntime(runtimeKey, opts = {}) {
548
569
 
549
570
  function showHelp() {
550
571
  console.log(BANNER);
551
- log('Usage: npx godpowers [options]\n');
572
+ log('Usage: npx godpowers [command] [options]\n');
573
+ log('Commands:');
574
+ log(' status Show the Godpowers Dashboard for a project');
575
+ log(' next Show the dashboard and recommended next command');
576
+ log(' automation-status Show host automation provider support');
577
+ log(' automation-setup Show an opt-in automation setup plan');
578
+ log('');
552
579
  log('Options:');
580
+ log(' --project=<path> Project root for status, next, or automation commands');
581
+ log(' --json Emit JSON for status, next, or automation commands');
553
582
  log(' -g, --global Install globally (to config directory)');
554
583
  log(' -l, --local Install locally (to current directory)');
555
584
  log(' --claude Install for Claude Code');
@@ -572,11 +601,44 @@ function showHelp() {
572
601
  log(' -h, --help Show this help message');
573
602
  log('');
574
603
  log('Examples:');
604
+ log(' npx godpowers status --project=.');
605
+ log(' npx godpowers next --project=.');
606
+ log(' npx godpowers automation-status --project=.');
607
+ log(' npx godpowers automation-setup --project=.');
575
608
  log(' npx godpowers --claude --global');
576
609
  log(' npx godpowers --all');
577
610
  log(' npx godpowers --codex --cursor');
578
611
  }
579
612
 
613
+ function runAutomationCommand(opts) {
614
+ const automation = require('../lib/automation-providers');
615
+ const result = opts.command === 'automation-setup'
616
+ ? automation.setupPlan(opts.project)
617
+ : automation.detect(opts.project);
618
+ if (opts.json) {
619
+ console.log(JSON.stringify(result, null, 2));
620
+ } else if (opts.command === 'automation-setup') {
621
+ console.log(automation.renderSetupPlan(result));
622
+ } else {
623
+ console.log(automation.render(result));
624
+ }
625
+ }
626
+
627
+ function runDashboardCommand(opts) {
628
+ const dashboard = require('../lib/dashboard');
629
+ const result = dashboard.compute(opts.project);
630
+ if (opts.json) {
631
+ console.log(JSON.stringify(result, null, 2));
632
+ } else {
633
+ console.log(dashboard.render(result));
634
+ if (opts.command === 'next') {
635
+ console.log('');
636
+ console.log('Suggested next command:');
637
+ console.log(` ${result.next && result.next.command ? result.next.command : 'describe the next intent'}`);
638
+ }
639
+ }
640
+ }
641
+
580
642
  // ---------------------------------------------------------------------------
581
643
  // Main
582
644
  // ---------------------------------------------------------------------------
@@ -589,6 +651,16 @@ function main() {
589
651
  process.exit(0);
590
652
  }
591
653
 
654
+ if (opts.command === 'status' || opts.command === 'next') {
655
+ runDashboardCommand(opts);
656
+ return;
657
+ }
658
+
659
+ if (opts.command === 'automation-status' || opts.command === 'automation-setup') {
660
+ runAutomationCommand(opts);
661
+ return;
662
+ }
663
+
592
664
  console.log(BANNER);
593
665
 
594
666
  const srcDir = path.resolve(__dirname, '..');