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 +119 -0
- package/bin/install.js +101 -0
- package/commands/gswd/audit-spec.md +50 -0
- package/commands/gswd/bootstrap.md +58 -0
- package/commands/gswd/compile.md +43 -0
- package/commands/gswd/help.md +76 -0
- package/commands/gswd/imagine.md +52 -0
- package/commands/gswd/init.md +40 -0
- package/commands/gswd/settings.md +46 -0
- package/commands/gswd/specify.md +49 -0
- package/commands/gswd/status.md +29 -0
- package/package.json +5 -3
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.
|
|
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",
|