gspec 1.15.0 → 1.17.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.
Files changed (52) hide show
  1. package/README.md +50 -12
  2. package/bin/gspec.js +372 -76
  3. package/commands/gspec.analyze.md +22 -8
  4. package/commands/gspec.audit.md +277 -0
  5. package/commands/gspec.feature.md +10 -0
  6. package/commands/gspec.implement.md +29 -15
  7. package/commands/gspec.migrate.md +29 -15
  8. package/commands/gspec.profile.md +55 -35
  9. package/commands/gspec.style.md +64 -12
  10. package/commands/gspec.tasks.md +150 -0
  11. package/dist/antigravity/gspec-analyze/SKILL.md +23 -9
  12. package/dist/antigravity/gspec-audit/SKILL.md +281 -0
  13. package/dist/antigravity/gspec-feature/SKILL.md +10 -0
  14. package/dist/antigravity/gspec-implement/SKILL.md +30 -16
  15. package/dist/antigravity/gspec-migrate/SKILL.md +29 -15
  16. package/dist/antigravity/gspec-profile/SKILL.md +55 -35
  17. package/dist/antigravity/gspec-style/SKILL.md +65 -13
  18. package/dist/antigravity/gspec-tasks/SKILL.md +154 -0
  19. package/dist/claude/gspec-analyze/SKILL.md +23 -9
  20. package/dist/claude/gspec-audit/SKILL.md +282 -0
  21. package/dist/claude/gspec-feature/SKILL.md +10 -0
  22. package/dist/claude/gspec-implement/SKILL.md +30 -16
  23. package/dist/claude/gspec-migrate/SKILL.md +29 -15
  24. package/dist/claude/gspec-profile/SKILL.md +55 -35
  25. package/dist/claude/gspec-style/SKILL.md +65 -13
  26. package/dist/claude/gspec-tasks/SKILL.md +155 -0
  27. package/dist/codex/gspec-analyze/SKILL.md +23 -9
  28. package/dist/codex/gspec-audit/SKILL.md +281 -0
  29. package/dist/codex/gspec-feature/SKILL.md +10 -0
  30. package/dist/codex/gspec-implement/SKILL.md +30 -16
  31. package/dist/codex/gspec-migrate/SKILL.md +29 -15
  32. package/dist/codex/gspec-profile/SKILL.md +55 -35
  33. package/dist/codex/gspec-style/SKILL.md +65 -13
  34. package/dist/codex/gspec-tasks/SKILL.md +154 -0
  35. package/dist/cursor/gspec-analyze.mdc +23 -9
  36. package/dist/cursor/gspec-audit.mdc +280 -0
  37. package/dist/cursor/gspec-feature.mdc +10 -0
  38. package/dist/cursor/gspec-implement.mdc +30 -16
  39. package/dist/cursor/gspec-migrate.mdc +29 -15
  40. package/dist/cursor/gspec-profile.mdc +55 -35
  41. package/dist/cursor/gspec-style.mdc +65 -13
  42. package/dist/cursor/gspec-tasks.mdc +153 -0
  43. package/dist/opencode/gspec-analyze/SKILL.md +23 -9
  44. package/dist/opencode/gspec-audit/SKILL.md +281 -0
  45. package/dist/opencode/gspec-feature/SKILL.md +10 -0
  46. package/dist/opencode/gspec-implement/SKILL.md +30 -16
  47. package/dist/opencode/gspec-migrate/SKILL.md +29 -15
  48. package/dist/opencode/gspec-profile/SKILL.md +55 -35
  49. package/dist/opencode/gspec-style/SKILL.md +65 -13
  50. package/dist/opencode/gspec-tasks/SKILL.md +154 -0
  51. package/package.json +1 -1
  52. package/templates/spec-sync.md +8 -4
package/README.md CHANGED
@@ -25,7 +25,7 @@ These documents become the shared context for all subsequent AI interactions. Wh
25
25
 
26
26
  The only commands you *need* are the four fundamentals and `/gspec-implement`. Everything else exists to help when your project calls for it.
27
27
 
28
- The fundamentals give your AI tool enough context to build well — it knows what the product is, how it should look, what technologies to use, and what engineering standards to follow. From there, `/gspec-implement` can take a plain-language description and start building. The remaining commands — `/gspec-research`, `/gspec-feature`, `/gspec-architect`, and `/gspec-analyze` — add structure and rigor when the scope or complexity warrants it.
28
+ The fundamentals give your AI tool enough context to build well — it knows what the product is, how it should look, what technologies to use, and what engineering standards to follow. From there, `/gspec-implement` can take a plain-language description and start building. The remaining commands — `/gspec-research`, `/gspec-feature`, `/gspec-architect`, `/gspec-tasks`, `/gspec-analyze`, and `/gspec-audit` — add structure and rigor when the scope or complexity warrants it.
29
29
 
30
30
  ```mermaid
31
31
  flowchart LR
@@ -42,10 +42,14 @@ flowchart LR
42
42
  Architect["4. Architect
43
43
  technical blueprint"]
44
44
 
45
- Analyze["5. Analyze
46
- reconcile specs"]
45
+ Plan["5. Plan
46
+ ordered tasks"]
47
47
 
48
- Build["6. Build
48
+ Analyze["6. Analyze & Audit
49
+ reconcile specs
50
+ check specs vs code"]
51
+
52
+ Build["7. Build
49
53
  implement"]
50
54
 
51
55
  Define --> Research
@@ -54,9 +58,12 @@ flowchart LR
54
58
  Research --> Specify
55
59
  Research --> Build
56
60
  Specify --> Architect
61
+ Specify --> Plan
57
62
  Specify --> Build
63
+ Architect --> Plan
58
64
  Architect --> Analyze
59
65
  Architect --> Build
66
+ Plan --> Build
60
67
  Analyze --> Build
61
68
  Build --> Define
62
69
 
@@ -64,6 +71,7 @@ flowchart LR
64
71
  style Research fill:#a855f7,color:#fff,stroke:none
65
72
  style Specify fill:#f59e0b,color:#fff,stroke:none
66
73
  style Architect fill:#f59e0b,color:#fff,stroke:none
74
+ style Plan fill:#f59e0b,color:#fff,stroke:none
67
75
  style Analyze fill:#f59e0b,color:#fff,stroke:none
68
76
  style Build fill:#22c55e,color:#fff,stroke:none
69
77
  ```
@@ -76,7 +84,7 @@ flowchart LR
76
84
  | Command | Role | What it produces |
77
85
  |---|---|---|
78
86
  | `/gspec-profile` | Business Strategist | Product identity, audience, value proposition, positioning |
79
- | `/gspec-style` | UI/UX Designer | Visual design language, design tokens, component patterns |
87
+ | `/gspec-style` | UI/UX Designer | Visual design language, design tokens, component patterns. Produces either a renderable `style.html` design system or a `style.md` Markdown guide |
80
88
  | `/gspec-stack` | Software Architect | Technology stack, frameworks, infrastructure, architecture |
81
89
  | `/gspec-practices` | Engineering Lead | Development standards, code quality, testing, workflows |
82
90
 
@@ -104,22 +112,35 @@ Use `/gspec-feature` when you want detailed PRDs with prioritized capabilities a
104
112
 
105
113
  Use `/gspec-architect` when your feature involves significant technical complexity — new data models, service boundaries, auth flows, or integration points that benefit from upfront design. It also **identifies technical gaps and ambiguities** in your specs and proposes solutions, so that `/gspec-implement` can focus on building rather than making architectural decisions. For straightforward features, `/gspec-implement` can make sound architectural decisions on its own using your `stack` and `practices` specs.
106
114
 
107
- **5. Analyze** *(optional)* — Reconcile discrepancies across specs before building.
115
+ **5. Plan** *(optional)* — Decompose a feature PRD into ordered work.
116
+
117
+ | Command | Role | What it produces |
118
+ |---|---|---|
119
+ | `/gspec-tasks` | Engineering Lead | A sibling `gspec/features/<feature>.tasks.md` file with stable task IDs, explicit `deps:` lines, and `[P]` markers for parallel-safe work |
120
+
121
+ Use `/gspec-tasks` after `/gspec-feature` (and after `/gspec-architect` when it exists) for any feature large enough that build order matters or that has work which could legitimately run in parallel. The output is what `/gspec-implement` consumes — when a tasks file exists for an in-scope feature, implement plans phases from it, respecting deps and surfacing `[P]`-marked tasks for parallel execution. Trivial features can skip this step and go straight to `/gspec-implement`, which falls back to PRD-checkbox-driven planning.
122
+
123
+ **6. Analyze & Audit** *(optional)* — Reconcile discrepancies before building, and keep specs honest as the codebase evolves.
108
124
 
109
125
  | Command | Role | What it does |
110
126
  |---|---|---|
111
- | `/gspec-analyze` | Specification Analyst | Cross-references all specs, identifies contradictions, and walks you through reconciling each one |
127
+ | `/gspec-analyze` | Specification Analyst | Cross-references all specs against **each other**, identifies contradictions, and walks you through reconciling each one |
128
+ | `/gspec-audit` | Specification Auditor | Cross-references specs against the **actual codebase**, finds drift (stack mismatches, stale data models, design tokens that don't match the stylesheet, capability checkboxes that lie), and walks you through updating specs to match reality |
129
+
130
+ Use `/gspec-analyze` after `/gspec-architect` (or any time multiple specs exist) to catch spec-to-spec conflicts before `/gspec-implement` sees them. For example, if the stack says PostgreSQL but the architecture references MongoDB.
112
131
 
113
- Use `/gspec-analyze` after `/gspec-architect` (or any time multiple specs exist) to catch conflicts before `/gspec-implement` sees them. For example, if the stack says PostgreSQL but the architecture references MongoDB, or a feature PRD defines a data model that contradicts the architecture, `/gspec-analyze` will surface the discrepancy and let you choose the resolution. Each conflict is presented one at a time with options no new files are created, only existing specs are updated.
132
+ Use `/gspec-audit` periodically before a major release, after a long sprint, or any time you suspect docs have drifted from code. Audit reads package manifests, configs, source files, and test output, then asks you per-finding whether to update the spec to match the code, keep the spec and fix the code separately, or defer. Each finding is presented one at a time with the spec quote and the code evidence side by side. Audit never modifies code.
114
133
 
115
- **6. Build** — Implement with full context.
134
+ **7. Build** — Implement with full context.
116
135
 
117
136
  | Command | Role | What it does |
118
137
  |---|---|---|
119
- | `/gspec-implement` | Senior Engineer | Reads all specs, plans the build order, and implements |
138
+ | `/gspec-implement` | Senior Engineer | Reads all specs (including any `*.tasks.md` files), plans the build order, and implements |
120
139
 
121
140
  **Spec Sync** — gspec includes always-on spec sync that automatically keeps your specification documents in sync as the code evolves. This is installed alongside the skills and requires no manual intervention — when code changes affect spec-documented behavior, the sync rules prompt your AI tool to update the relevant gspec files.
122
141
 
142
+ **Design-tool integration** — The style guide supports both Markdown (`style.md`) and a renderable HTML design system (`style.html`) that design-aware AI tools can open, render, and reason about directly. Drop mockups from external design tools (Figma, v0, Framer AI, etc.) into `gspec/design/` and `/gspec-implement` will use them as authoritative visual guidance when building UI.
143
+
123
144
  **Maintenance** — Keep specs up to date with the latest gspec format.
124
145
 
125
146
  | Command | Role | What it does |
@@ -176,6 +197,18 @@ Saved specs are organized by type in `~/.gspec/` (profiles, stacks, styles, prac
176
197
  gspec restore playbook/my-starter
177
198
  ```
178
199
 
200
+ ## Extensions
201
+
202
+ Author your own skills and have them auto-installed alongside the built-in `gspec-*` commands in every project. Extensions live in `~/.gspec/extensions/` as Markdown files with `name` and `description` frontmatter and the same shape as anything in `commands/`.
203
+
204
+ ```bash
205
+ gspec extension save ./my-deploy.md # Install a local skill file as a user extension
206
+ gspec extension list # See what's installed
207
+ gspec extension remove my-deploy # Delete from ~/.gspec/extensions/
208
+ ```
209
+
210
+ When you next run `npx gspec` in a project, the installer copies the built-in skills first, then emits each valid extension into the same per-platform install directory using the same formatting. Extension names that collide with built-in `gspec-*` skills are rejected with an error; malformed or duplicate extensions are skipped with a warning.
211
+
179
212
  ## Output Structure
180
213
 
181
214
  All specifications live in a `gspec/` directory at your project root:
@@ -184,18 +217,23 @@ All specifications live in a `gspec/` directory at your project root:
184
217
  project-root/
185
218
  └── gspec/
186
219
  ├── profile.md # Product identity and positioning
187
- ├── style.md # Visual design language
220
+ ├── style.html # Visual design language (HTML — renderable design system)
221
+ │ # or style.md if you prefer a Markdown style guide
188
222
  ├── stack.md # Technology stack and architecture
189
223
  ├── practices.md # Development standards
190
224
  ├── architecture.md # Technical architecture blueprint
191
225
  ├── research.md # Competitive analysis and feature gaps
226
+ ├── design/ # Optional — external mockups read during implementation
227
+ │ ├── dashboard.html
228
+ │ ├── checkout-flow.png
229
+ │ └── ...
192
230
  └── features/
193
231
  ├── user-authentication.md
194
232
  ├── dashboard-analytics.md
195
233
  └── ...
196
234
  ```
197
235
 
198
- These are standard Markdown files. They live in your repo, are version-controlled with your code, and are readable by both humans and AI tools.
236
+ Most specs are Markdown. The style guide can also be a self-contained HTML file (`style.html`) that renders the design system as live swatches, typography specimens, and styled component previews — ideal for design-aware AI tools. The optional `gspec/design/` folder holds mockups (HTML, SVG, PNG, JPG) exported from external design tools like Figma, v0, or Framer AI; `/gspec-implement` reads them to reason about layout and visual intent. All files live in your repo, are version-controlled with your code, and are readable by both humans and AI tools.
199
237
 
200
238
  ## Key Design Decisions
201
239