gswd 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,119 @@
1
+ # GSWD — Get Shit Well Done
2
+
3
+ **Front-end system for imagining and specifying before [GSD](https://www.npmjs.com/package/get-shit-done-cc) builds.**
4
+
5
+ GSWD adds the missing infrastructure for **imagining and specifying** so a founder can reliably reach an execution-grade spec and then hand off to GSD with zero guessing.
6
+
7
+ ## Pipeline
8
+
9
+ ```
10
+ IMAGINE → SPECIFY → AUDIT → COMPILE
11
+ ↓ ↓ ↓ ↓
12
+ Direction Spec+IDs Coverage GSD Contract
13
+ ```
14
+
15
+ 1. **IMAGINE** — turn a fuzzy idea into a validated product direction
16
+ 2. **SPECIFY** — turn that direction into a build-ready, traceable spec
17
+ 3. **AUDIT** — enforce full coverage (no missing journeys, no orphan requirements)
18
+ 4. **COMPILE** — deterministically generate the GSD contract files
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ npx gswd-install
24
+ ```
25
+
26
+ This copies `/gswd:*` slash commands to `~/.claude/commands/gswd/` for use in Claude Code.
27
+
28
+ ## Commands
29
+
30
+ | Command | Description |
31
+ |---------|-------------|
32
+ | `/gswd:init` | Initialize GSWD planning state and config |
33
+ | `/gswd:bootstrap [@idea.md]` | Run full pipeline: imagine → specify → audit → compile |
34
+ | `/gswd:imagine [@idea.md]` | Validate direction and freeze key decisions |
35
+ | `/gswd:specify` | Build execution-grade spec with traceable IDs |
36
+ | `/gswd:audit-spec` | Audit spec for coverage — produces PASS/FAIL |
37
+ | `/gswd:compile` | Compile spec into GSD contract docs |
38
+ | `/gswd:status` | Show pipeline status and stage progress |
39
+ | `/gswd:settings` | Configure GSWD workflow settings |
40
+ | `/gswd:help` | Show command reference |
41
+
42
+ ## Quick Start
43
+
44
+ ```bash
45
+ # Install commands
46
+ npx gswd-install
47
+
48
+ # In Claude Code:
49
+ /gswd:init
50
+ /gswd:bootstrap @idea.md
51
+ ```
52
+
53
+ Or run stages manually:
54
+
55
+ ```bash
56
+ /gswd:imagine @idea.md
57
+ /gswd:specify
58
+ /gswd:audit-spec
59
+ /gswd:compile
60
+ ```
61
+
62
+ ## Common Flags
63
+
64
+ | Flag | Available On | Description |
65
+ |------|-------------|-------------|
66
+ | `--auto` | bootstrap, imagine, specify | Auto mode — minimal interruptions |
67
+ | `--resume` | bootstrap, imagine, specify, audit-spec | Resume from last checkpoint |
68
+ | `--skip-research` | bootstrap, imagine | Disable research agents |
69
+ | `--auto-fix` | audit-spec | Auto-fix gaps found during audit |
70
+ | `--phase-style=thin\|thick` | compile | Phase sizing for GSD roadmap |
71
+
72
+ ## Output Artifacts
73
+
74
+ ### GSWD artifacts (in `.planning/`)
75
+
76
+ - `IMAGINE.md` — product vision and direction
77
+ - `ICP.md` — ideal customer profile
78
+ - `GTM.md` — go-to-market strategy
79
+ - `COMPETITION.md` — competitive landscape
80
+ - `DECISIONS.md` — frozen decisions, success metrics, risks
81
+ - `SPEC.md` — full product specification
82
+ - `JOURNEYS.md` — user journeys with traceable IDs
83
+ - `ARCHITECTURE.md` — system architecture
84
+ - `INTEGRATIONS.md` — external integrations
85
+ - `NFR.md` — non-functional requirements
86
+ - `AUDIT.md` — coverage matrix and PASS/FAIL verdict
87
+
88
+ ### Compiled GSD contract (in `.planning/`)
89
+
90
+ - `PROJECT.md` — project context
91
+ - `REQUIREMENTS.md` — scoped requirements
92
+ - `ROADMAP.md` — phased execution plan
93
+ - `STATE.md` — project memory
94
+
95
+ ## After GSWD
96
+
97
+ Once compile is done, hand off to GSD:
98
+
99
+ ```bash
100
+ /gsd:plan-phase 01
101
+ ```
102
+
103
+ ## CLI Usage
104
+
105
+ GSWD also ships a CLI tool:
106
+
107
+ ```bash
108
+ gswd init
109
+ gswd bootstrap @idea.md --auto
110
+ gswd imagine @idea.md
111
+ gswd specify
112
+ gswd audit
113
+ gswd compile
114
+ gswd status
115
+ ```
116
+
117
+ ## License
118
+
119
+ MIT
package/bin/install.js ADDED
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const os = require('os');
8
+
9
+ // Colors
10
+ const cyan = '\x1b[36m';
11
+ const green = '\x1b[32m';
12
+ const yellow = '\x1b[33m';
13
+ const dim = '\x1b[2m';
14
+ const reset = '\x1b[0m';
15
+
16
+ // Get version from package.json
17
+ const pkg = require('../package.json');
18
+
19
+ const banner = '\n' +
20
+ cyan + ' ██████╗ ███████╗██╗ ██╗██████╗\n' +
21
+ ' ██╔════╝ ██╔════╝██║ ██║██╔══██╗\n' +
22
+ ' ██║ ███╗███████╗██║ █╗ ██║██║ ██║\n' +
23
+ ' ██║ ██║╚════██║██║███╗██║██║ ██║\n' +
24
+ ' ╚██████╔╝███████║╚███╔███╔╝██████╔╝\n' +
25
+ ' ╚═════╝ ╚══════╝ ╚══╝╚══╝ ╚═════╝' + reset + '\n' +
26
+ '\n' +
27
+ ' Get Shit Well Done ' + dim + 'v' + pkg.version + reset + '\n' +
28
+ ' Imagine, specify, audit, and compile — before GSD builds.\n';
29
+
30
+ console.log(banner);
31
+
32
+ // Parse args
33
+ const args = process.argv.slice(2);
34
+ const hasHelp = args.includes('--help') || args.includes('-h');
35
+ const hasUninstall = args.includes('--uninstall') || args.includes('-u');
36
+
37
+ if (hasHelp) {
38
+ console.log(` ${yellow}Usage:${reset} npx gswd-install [options]\n
39
+ ${yellow}Options:${reset}
40
+ ${cyan}-u, --uninstall${reset} Remove GSWD commands from ~/.claude/commands/gswd/
41
+ ${cyan}-h, --help${reset} Show this help message\n
42
+ ${yellow}What it does:${reset}
43
+ Copies GSWD slash command files to ~/.claude/commands/gswd/
44
+ so they are available as /gswd:* commands in Claude Code.\n`);
45
+ process.exit(0);
46
+ }
47
+
48
+ // Resolve paths
49
+ const claudeDir = process.env.CLAUDE_CONFIG_DIR
50
+ ? process.env.CLAUDE_CONFIG_DIR
51
+ : path.join(os.homedir(), '.claude');
52
+ const destDir = path.join(claudeDir, 'commands', 'gswd');
53
+ const srcDir = path.join(__dirname, '..', 'commands', 'gswd');
54
+
55
+ // Uninstall
56
+ if (hasUninstall) {
57
+ if (fs.existsSync(destDir)) {
58
+ fs.rmSync(destDir, { recursive: true });
59
+ console.log(` ${green}✓${reset} Removed ${destDir.replace(os.homedir(), '~')}\n`);
60
+ } else {
61
+ console.log(` ${yellow}⚠${reset} Nothing to remove — ${destDir.replace(os.homedir(), '~')} does not exist.\n`);
62
+ }
63
+ process.exit(0);
64
+ }
65
+
66
+ // Verify source commands exist
67
+ if (!fs.existsSync(srcDir)) {
68
+ console.error(` ${yellow}✗${reset} Source commands not found at ${srcDir}`);
69
+ console.error(` This usually means the package is not installed correctly.\n`);
70
+ process.exit(1);
71
+ }
72
+
73
+ // Create destination directory
74
+ fs.mkdirSync(destDir, { recursive: true });
75
+
76
+ // Copy all .md files
77
+ const files = fs.readdirSync(srcDir).filter(f => f.endsWith('.md'));
78
+ let copied = 0;
79
+
80
+ for (const file of files) {
81
+ const src = path.join(srcDir, file);
82
+ const dest = path.join(destDir, file);
83
+ fs.copyFileSync(src, dest);
84
+ copied++;
85
+ }
86
+
87
+ console.log(` ${green}✓${reset} Installed ${copied} commands to ${destDir.replace(os.homedir(), '~')}\n`);
88
+
89
+ // Show available commands
90
+ console.log(` ${yellow}Available commands:${reset}\n`);
91
+ console.log(` ${cyan}/gswd:init${reset} Initialize planning state`);
92
+ console.log(` ${cyan}/gswd:bootstrap${reset} Run full pipeline (imagine → specify → audit → compile)`);
93
+ console.log(` ${cyan}/gswd:imagine${reset} Validate direction and freeze decisions`);
94
+ console.log(` ${cyan}/gswd:specify${reset} Build execution-grade spec`);
95
+ console.log(` ${cyan}/gswd:audit-spec${reset} Audit spec coverage — PASS/FAIL`);
96
+ console.log(` ${cyan}/gswd:compile${reset} Compile spec into GSD contract docs`);
97
+ console.log(` ${cyan}/gswd:status${reset} Show pipeline status`);
98
+ console.log(` ${cyan}/gswd:settings${reset} Configure GSWD settings`);
99
+ console.log(` ${cyan}/gswd:help${reset} Show command reference`);
100
+ console.log('');
101
+ console.log(` ${green}Done!${reset} Launch Claude Code and run ${cyan}/gswd:help${reset} to get started.\n`);
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: gswd:audit-spec
3
+ description: Audit spec for full coverage — produces PASS/FAIL
4
+ argument-hint: "[--auto-fix] [--resume]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ - Task
10
+ ---
11
+ <objective>
12
+ Enforce full coverage across the specification. Produces a coverage matrix and PASS/FAIL verdict.
13
+
14
+ **Creates/updates:**
15
+ - `.planning/AUDIT.md` — coverage matrix, gap analysis, verdict
16
+
17
+ **Checks:**
18
+ - All journeys have linked FRs and NFRs
19
+ - No orphan requirements (FRs/NFRs not linked to any journey)
20
+ - Edge cases, error states, empty states are covered
21
+ - Auth/session and onboarding/activation flows exist
22
+ - ID formats follow conventions (J-*, FR-*, NFR-*, I-*, C-*)
23
+
24
+ **Flags:**
25
+ - `--auto-fix` — automatically attempt to fix gaps found during audit
26
+ - `--resume` — continue from last checkpoint
27
+
28
+ **Hard gate:**
29
+ - `/gswd:compile` cannot run unless audit is PASS.
30
+
31
+ **After this command:** If PASS, run `/gswd:compile`. If FAIL, fix gaps and re-run.
32
+ </objective>
33
+
34
+ <process>
35
+ 1. Verify specify stage is complete by checking `.planning/gswd/STATE.json`.
36
+
37
+ 2. Run the audit workflow:
38
+ ```bash
39
+ node ./bin/gswd-tools.cjs audit $ARGUMENTS
40
+ ```
41
+
42
+ 3. The CLI runs deterministic coverage checks across all spec artifacts.
43
+
44
+ 4. If `--auto-fix` is enabled, the CLI will attempt to fix gaps automatically.
45
+
46
+ 5. Display the coverage matrix and PASS/FAIL verdict.
47
+
48
+ 6. On PASS: show Next Up: `/gswd:compile`
49
+ On FAIL: show gap summary and suggest fixes before re-running `/gswd:audit-spec`
50
+ </process>
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: gswd:bootstrap
3
+ description: Run full GSWD pipeline — imagine, specify, audit, compile
4
+ argument-hint: "[--auto] [--resume] [--skip-research] [--policy=<name>] [@idea.md]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ - AskUserQuestion
10
+ - Task
11
+ ---
12
+ <objective>
13
+ One command to generate a GSD-ready contract from a product idea.
14
+
15
+ **Runs sequentially:**
16
+ 1. Imagine — validate direction and freeze decisions
17
+ 2. Specify — build execution-grade spec with traceable IDs
18
+ 3. Audit — enforce full coverage (PASS/FAIL)
19
+ 4. Compile — deterministically generate GSD contract docs
20
+
21
+ **Outputs:**
22
+ - Full GSWD bundle (IMAGINE.md, DECISIONS.md, SPEC.md, JOURNEYS.md, etc.)
23
+ - Compiled GSD contract: PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md
24
+
25
+ **Flags:**
26
+ - `--auto` — apply auto policy for decision-making (minimal interruptions)
27
+ - `--policy=<name>` — select named policy: `strict`, `balanced`, `aggressive`
28
+ - `--resume` — continue from last checkpoint in `.planning/gswd/STATE.json`
29
+ - `--skip-research` — disable research agents
30
+
31
+ **Hard gates:**
32
+ - Cannot finish if audit is FAIL
33
+ - In auto mode, cannot finish if policy requires manual approvals and they are not present
34
+
35
+ **After this command:** Review `.planning/` artifacts, then run `/gsd:plan-phase 01`.
36
+ </objective>
37
+
38
+ <process>
39
+ 1. Ensure GSWD is initialized. If `.planning/gswd/STATE.json` does not exist, run init first:
40
+ ```bash
41
+ node ./bin/gswd-tools.cjs init
42
+ ```
43
+
44
+ 2. Run the bootstrap pipeline:
45
+ ```bash
46
+ node ./bin/gswd-tools.cjs bootstrap $ARGUMENTS
47
+ ```
48
+
49
+ 3. The CLI orchestrates imagine → specify → audit → compile with checkpoint tracking.
50
+
51
+ 4. If `--resume` is passed and a checkpoint exists, the pipeline resumes from the last completed stage.
52
+
53
+ 5. Display stage banners, checkpoint boxes, and progress as the CLI emits them.
54
+
55
+ 6. On completion, show the Next Up block with generated artifacts and suggest `/gsd:plan-phase 01`.
56
+
57
+ 7. If any stage fails (especially audit), display the failure reason and suggest remediation before retrying.
58
+ </process>
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: gswd:compile
3
+ description: Compile spec into GSD contract docs
4
+ argument-hint: "[--phase-style=thin|thick] [--milestone=v1|v2]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ ---
10
+ <objective>
11
+ Deterministically generate GSD contract docs from the audited specification.
12
+
13
+ **Creates/updates:**
14
+ - `.planning/PROJECT.md` — project context for GSD
15
+ - `.planning/REQUIREMENTS.md` — scoped requirements with FR/NFR IDs
16
+ - `.planning/ROADMAP.md` — phased execution plan
17
+ - `.planning/STATE.md` — project memory and state
18
+
19
+ **Flags:**
20
+ - `--phase-style=thin|thick` — thin phases (1-2 tasks) or thick phases (3-5 tasks)
21
+ - `--milestone=v1|v2` — which milestone scope to compile
22
+
23
+ **Hard gate:**
24
+ - Audit must be PASS before compile can run
25
+ - Contract validator must pass (Section 9 of spec)
26
+
27
+ **After this command:** Review generated contract, then run `/gsd:plan-phase 01`.
28
+ </objective>
29
+
30
+ <process>
31
+ 1. Verify audit stage is PASS by checking `.planning/gswd/STATE.json`.
32
+
33
+ 2. Run the compile workflow:
34
+ ```bash
35
+ node ./bin/gswd-tools.cjs compile $ARGUMENTS
36
+ ```
37
+
38
+ 3. The CLI deterministically transforms spec artifacts into GSD contract format.
39
+
40
+ 4. Display the generated contract summary with phase count and requirement mapping.
41
+
42
+ 5. Show Next Up: review `.planning/PROJECT.md`, `.planning/REQUIREMENTS.md`, `.planning/ROADMAP.md`, `.planning/STATE.md`, then run `/gsd:plan-phase 01`.
43
+ </process>
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: gswd:help
3
+ description: Show available GSWD commands and usage guide
4
+ ---
5
+ <objective>
6
+ Display the complete GSWD command reference.
7
+
8
+ Output ONLY the reference content below. Do NOT add:
9
+ - Project-specific analysis
10
+ - Git status or file context
11
+ - Next-step suggestions
12
+ - Any commentary beyond the reference
13
+ </objective>
14
+
15
+ <process>
16
+ Output the following command reference exactly:
17
+
18
+ ---
19
+
20
+ # GSWD Command Reference
21
+
22
+ **Get Shit Well Done** — front-end system for imagining and specifying before GSD builds.
23
+
24
+ ## Quick Start
25
+
26
+ ```
27
+ /gswd:init # Initialize planning state
28
+ /gswd:bootstrap @idea.md # Run full pipeline (recommended)
29
+ ```
30
+
31
+ ## Commands
32
+
33
+ | Command | Description |
34
+ |---------|-------------|
35
+ | `/gswd:init` | Initialize GSWD planning state and config |
36
+ | `/gswd:bootstrap [@idea.md]` | Run full pipeline: imagine → specify → audit → compile |
37
+ | `/gswd:imagine [@idea.md]` | Validate direction and freeze key decisions |
38
+ | `/gswd:specify` | Build execution-grade spec with traceable IDs |
39
+ | `/gswd:audit-spec` | Audit spec for coverage — produces PASS/FAIL |
40
+ | `/gswd:compile` | Compile spec into GSD contract docs |
41
+ | `/gswd:status` | Show pipeline status and stage progress |
42
+ | `/gswd:settings` | Configure GSWD workflow settings |
43
+ | `/gswd:help` | Show this reference |
44
+
45
+ ## Common Flags
46
+
47
+ | Flag | Available On | Description |
48
+ |------|-------------|-------------|
49
+ | `--auto` | bootstrap, imagine, specify | Auto mode — minimal interruptions |
50
+ | `--resume` | bootstrap, imagine, specify, audit-spec | Resume from last checkpoint |
51
+ | `--skip-research` | bootstrap, imagine | Disable research agents |
52
+ | `--auto-fix` | audit-spec | Auto-fix gaps found during audit |
53
+ | `--phase-style=thin\|thick` | compile | Phase sizing for GSD roadmap |
54
+ | `--policy=<name>` | bootstrap | Auto policy: strict, balanced, aggressive |
55
+
56
+ ## Pipeline Flow
57
+
58
+ ```
59
+ /gswd:imagine → /gswd:specify → /gswd:audit-spec → /gswd:compile
60
+ ↓ ↓ ↓ ↓
61
+ DECISIONS.md SPEC.md AUDIT.md PROJECT.md
62
+ IMAGINE.md JOURNEYS.md (PASS/FAIL) REQUIREMENTS.md
63
+ ICP.md ARCHITECTURE.md ROADMAP.md
64
+ GTM.md INTEGRATIONS.md STATE.md
65
+ COMPETITION.md NFR.md
66
+ ```
67
+
68
+ ## After GSWD
69
+
70
+ Once compile is done, hand off to GSD:
71
+ ```
72
+ /gsd:plan-phase 01
73
+ ```
74
+
75
+ ---
76
+ </process>
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: gswd:imagine
3
+ description: Validate product direction and freeze key decisions
4
+ argument-hint: "[--auto] [--resume] [--skip-research] [@idea.md]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ - AskUserQuestion
10
+ - Task
11
+ ---
12
+ <objective>
13
+ Turn a fuzzy product idea into a validated direction with frozen decisions.
14
+
15
+ **Creates/updates:**
16
+ - `.planning/IMAGINE.md` — product vision and direction
17
+ - `.planning/ICP.md` — ideal customer profile
18
+ - `.planning/GTM.md` — go-to-market strategy
19
+ - `.planning/COMPETITION.md` — competitive landscape
20
+ - `.planning/DECISIONS.md` — frozen decisions, success metrics, risks
21
+
22
+ **Hard gate to complete:**
23
+ - `.planning/DECISIONS.md` must include:
24
+ - **Frozen Decisions** (>= 8)
25
+ - **Success Metrics** (1-3)
26
+ - **Out of Scope**
27
+ - **Risks & Mitigations** (>= 5)
28
+
29
+ **Flags:**
30
+ - `--auto` — apply auto policy for decision-making
31
+ - `--resume` — continue from last checkpoint
32
+ - `--skip-research` — disable research agents (faster, offline-friendly)
33
+
34
+ **After this command:** Run `/gswd:specify` to build the execution-grade spec.
35
+ </objective>
36
+
37
+ <process>
38
+ 1. Ensure GSWD is initialized. If `.planning/gswd/STATE.json` does not exist, run init first.
39
+
40
+ 2. Run the imagine workflow:
41
+ ```bash
42
+ node ./bin/gswd-tools.cjs imagine $ARGUMENTS
43
+ ```
44
+
45
+ 3. The CLI runs the imagine workflow which may spawn research agents (unless `--skip-research`).
46
+
47
+ 4. Interactive prompts will ask the founder to confirm or override key decisions.
48
+
49
+ 5. Display stage banners, checkpoint progress, and decision summaries as emitted.
50
+
51
+ 6. On completion, show Next Up: `/gswd:specify`
52
+ </process>
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: gswd:init
3
+ description: Initialize GSWD planning state and config
4
+ argument-hint: "[--project-slug <slug>]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ ---
10
+ <objective>
11
+ Initialize GSWD planning state and config for the current project.
12
+
13
+ **Creates if missing:**
14
+ - `.planning/gswd/STATE.json` — stage tracking and checkpoint state
15
+ - `.planning/gswd/NOTES.md` — scratch notes for GSWD workflows
16
+ - Adds/merges `.planning/config.json` under top-level `gswd` key
17
+
18
+ **Never:**
19
+ - Deletes existing planning docs
20
+ - Overwrites user config keys outside `gswd`
21
+
22
+ **After this command:** Run `/gswd:bootstrap @idea.md` or `/gswd:imagine @idea.md`.
23
+ </objective>
24
+
25
+ <process>
26
+ 1. Run the init command via the CLI:
27
+ ```bash
28
+ node "$(dirname "$(which gswd-tools)")/gswd-tools.cjs" init $ARGUMENTS
29
+ ```
30
+ If `gswd-tools` is not on PATH, use the project-local binary:
31
+ ```bash
32
+ node ./bin/gswd-tools.cjs init $ARGUMENTS
33
+ ```
34
+
35
+ 2. Display the CLI output directly to the user.
36
+
37
+ 3. Show Next Up guidance:
38
+ - If an idea file exists: suggest `/gswd:bootstrap @idea.md`
39
+ - Otherwise: suggest creating an idea file first, then `/gswd:bootstrap @idea.md`
40
+ </process>
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: gswd:settings
3
+ description: Configure GSWD workflow settings interactively
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Write
8
+ - AskUserQuestion
9
+ ---
10
+ <objective>
11
+ Interactive editor for `.planning/config.json` under the `gswd` key.
12
+
13
+ **Configurable settings:**
14
+ - `mode` — balanced / strict / aggressive
15
+ - `strict_gates` — enforce hard gates (true/false)
16
+ - `max_parallel_agents` — parallel agent limit (1-8)
17
+ - `external_research` — enable research agents (true/false)
18
+ - `integration_budget_usd_month` — monthly integration budget cap
19
+ - `doc_verbosity` — normal / verbose / minimal
20
+ - `phase_style` — thin / thick
21
+ - `auto.policy` — auto mode policy (strict/balanced/aggressive)
22
+
23
+ **Never overwrites** user config keys outside `gswd`.
24
+ </objective>
25
+
26
+ <process>
27
+ 1. Read current config:
28
+ ```bash
29
+ node ./bin/gswd-tools.cjs config read
30
+ ```
31
+
32
+ 2. Present current settings to the user using AskUserQuestion with the current values as defaults.
33
+
34
+ 3. Ask for each setting group:
35
+ - **Mode & Gates**: mode (balanced/strict/aggressive), strict_gates (on/off)
36
+ - **Agents**: max_parallel_agents, external_research (on/off)
37
+ - **Output**: doc_verbosity (normal/verbose/minimal), phase_style (thin/thick)
38
+ - **Auto Policy**: auto policy (strict/balanced/aggressive), budget, defaults
39
+
40
+ 4. Merge updated settings:
41
+ ```bash
42
+ node ./bin/gswd-tools.cjs config merge --overrides '<json>'
43
+ ```
44
+
45
+ 5. Display confirmation with the updated settings.
46
+ </process>
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: gswd:specify
3
+ description: Build execution-grade spec with traceable IDs
4
+ argument-hint: "[--auto] [--resume] [--integration-budget=<usd>]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Write
9
+ - AskUserQuestion
10
+ - Task
11
+ ---
12
+ <objective>
13
+ Turn validated direction into a build-ready, traceable specification.
14
+
15
+ **Creates/updates:**
16
+ - `.planning/SPEC.md` — full product specification
17
+ - `.planning/JOURNEYS.md` — user journeys (J-001, J-002, ...)
18
+ - `.planning/ARCHITECTURE.md` — system architecture and components
19
+ - `.planning/INTEGRATIONS.md` — external integrations
20
+ - `.planning/NFR.md` — non-functional requirements
21
+
22
+ **Hard gate to complete:**
23
+ - `J-*`, `FR-*`, `NFR-*` IDs exist and are cross-linked
24
+ - Each journey has: preconditions, steps, success outcome, failure modes (>= 2), acceptance tests (>= 1), linked FR + NFR
25
+
26
+ **Flags:**
27
+ - `--auto` — apply auto policy for decision-making
28
+ - `--resume` — continue from last checkpoint
29
+ - `--integration-budget=<usd>` — monthly integration budget cap
30
+
31
+ **After this command:** Run `/gswd:audit-spec` to validate coverage.
32
+ </objective>
33
+
34
+ <process>
35
+ 1. Verify imagine stage is complete by checking `.planning/gswd/STATE.json`.
36
+
37
+ 2. Run the specify workflow:
38
+ ```bash
39
+ node ./bin/gswd-tools.cjs specify $ARGUMENTS
40
+ ```
41
+
42
+ 3. The CLI builds the spec iteratively, creating journeys and requirements with traceable IDs.
43
+
44
+ 4. Interactive prompts will ask for decisions on architecture, integrations, and priorities.
45
+
46
+ 5. Display progress with ID allocation summaries and cross-link status.
47
+
48
+ 6. On completion, show Next Up: `/gswd:audit-spec`
49
+ </process>
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: gswd:status
3
+ description: Show GSWD pipeline status and stage progress
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ ---
8
+ <objective>
9
+ Display the current GSWD pipeline status.
10
+
11
+ **Shows:**
12
+ - Stage status: IMAGINE / SPECIFY / AUDIT / COMPILE — each with not_started / in_progress / done / pass / fail
13
+ - Last run timestamp
14
+ - Quick links to key docs
15
+ - Current auto mode and policy settings
16
+
17
+ This is a read-only command that never modifies state.
18
+ </objective>
19
+
20
+ <process>
21
+ 1. Run the status command:
22
+ ```bash
23
+ node ./bin/gswd-tools.cjs status
24
+ ```
25
+
26
+ 2. Display the CLI output directly to the user.
27
+
28
+ 3. If `.planning/gswd/STATE.json` does not exist, suggest running `/gswd:init` first.
29
+ </process>
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
2
  "name": "gswd",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "commonjs",
5
5
  "description": "Get Shit Well Done — CLI meta-prompting and spec-generation system",
6
6
  "bin": {
7
7
  "gswd": "./bin/gswd-tools.cjs",
8
- "gswd-tools": "./bin/gswd-tools.cjs"
8
+ "gswd-tools": "./bin/gswd-tools.cjs",
9
+ "gswd-install": "./bin/install.js"
9
10
  },
10
11
  "files": [
11
12
  "bin/",
12
13
  "lib/",
13
14
  "templates/",
14
- "agents/"
15
+ "agents/",
16
+ "commands/"
15
17
  ],
16
18
  "scripts": {
17
19
  "test": "node --import tsx --test tests/*.test.ts",