gspec 1.11.0 → 1.13.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 (78) hide show
  1. package/README.md +25 -34
  2. package/bin/gspec.js +762 -159
  3. package/commands/gspec.analyze.md +1 -1
  4. package/commands/gspec.architect.md +2 -2
  5. package/commands/gspec.feature.md +2 -2
  6. package/commands/gspec.implement.md +1 -1
  7. package/commands/gspec.migrate.md +13 -10
  8. package/commands/gspec.practices.md +2 -2
  9. package/commands/gspec.profile.md +2 -2
  10. package/commands/gspec.research.md +4 -4
  11. package/commands/gspec.stack.md +2 -2
  12. package/commands/gspec.style.md +2 -2
  13. package/dist/antigravity/gspec-analyze/SKILL.md +1 -1
  14. package/dist/antigravity/gspec-architect/SKILL.md +2 -2
  15. package/dist/antigravity/gspec-feature/SKILL.md +2 -2
  16. package/dist/antigravity/gspec-implement/SKILL.md +1 -1
  17. package/dist/antigravity/gspec-migrate/SKILL.md +13 -10
  18. package/dist/antigravity/gspec-practices/SKILL.md +2 -2
  19. package/dist/antigravity/gspec-profile/SKILL.md +2 -2
  20. package/dist/antigravity/gspec-research/SKILL.md +4 -4
  21. package/dist/antigravity/gspec-stack/SKILL.md +2 -2
  22. package/dist/antigravity/gspec-style/SKILL.md +2 -2
  23. package/dist/claude/gspec-analyze/SKILL.md +1 -1
  24. package/dist/claude/gspec-architect/SKILL.md +2 -2
  25. package/dist/claude/gspec-feature/SKILL.md +2 -2
  26. package/dist/claude/gspec-implement/SKILL.md +1 -1
  27. package/dist/claude/gspec-migrate/SKILL.md +13 -10
  28. package/dist/claude/gspec-practices/SKILL.md +2 -2
  29. package/dist/claude/gspec-profile/SKILL.md +2 -2
  30. package/dist/claude/gspec-research/SKILL.md +4 -4
  31. package/dist/claude/gspec-stack/SKILL.md +2 -2
  32. package/dist/claude/gspec-style/SKILL.md +2 -2
  33. package/dist/codex/gspec-analyze/SKILL.md +1 -1
  34. package/dist/codex/gspec-architect/SKILL.md +2 -2
  35. package/dist/codex/gspec-feature/SKILL.md +2 -2
  36. package/dist/codex/gspec-implement/SKILL.md +1 -1
  37. package/dist/codex/gspec-migrate/SKILL.md +13 -10
  38. package/dist/codex/gspec-practices/SKILL.md +2 -2
  39. package/dist/codex/gspec-profile/SKILL.md +2 -2
  40. package/dist/codex/gspec-research/SKILL.md +4 -4
  41. package/dist/codex/gspec-stack/SKILL.md +2 -2
  42. package/dist/codex/gspec-style/SKILL.md +2 -2
  43. package/dist/cursor/gspec-analyze.mdc +1 -1
  44. package/dist/cursor/gspec-architect.mdc +2 -2
  45. package/dist/cursor/gspec-feature.mdc +2 -2
  46. package/dist/cursor/gspec-implement.mdc +1 -1
  47. package/dist/cursor/gspec-migrate.mdc +13 -10
  48. package/dist/cursor/gspec-practices.mdc +2 -2
  49. package/dist/cursor/gspec-profile.mdc +2 -2
  50. package/dist/cursor/gspec-research.mdc +4 -4
  51. package/dist/cursor/gspec-stack.mdc +2 -2
  52. package/dist/cursor/gspec-style.mdc +2 -2
  53. package/dist/opencode/gspec-analyze/SKILL.md +1 -1
  54. package/dist/opencode/gspec-architect/SKILL.md +2 -2
  55. package/dist/opencode/gspec-feature/SKILL.md +2 -2
  56. package/dist/opencode/gspec-implement/SKILL.md +1 -1
  57. package/dist/opencode/gspec-migrate/SKILL.md +13 -10
  58. package/dist/opencode/gspec-practices/SKILL.md +2 -2
  59. package/dist/opencode/gspec-profile/SKILL.md +2 -2
  60. package/dist/opencode/gspec-research/SKILL.md +4 -4
  61. package/dist/opencode/gspec-stack/SKILL.md +2 -2
  62. package/dist/opencode/gspec-style/SKILL.md +2 -2
  63. package/package.json +1 -2
  64. package/templates/spec-sync.md +1 -1
  65. package/starters/features/about-page.md +0 -98
  66. package/starters/features/contact-form.md +0 -147
  67. package/starters/features/contact-page.md +0 -103
  68. package/starters/features/home-page.md +0 -103
  69. package/starters/features/responsive-navbar.md +0 -113
  70. package/starters/features/services-page.md +0 -103
  71. package/starters/features/site-footer.md +0 -121
  72. package/starters/features/theme-switcher.md +0 -124
  73. package/starters/practices/tdd-pipeline-first.md +0 -192
  74. package/starters/stacks/astro-tailwind-github-pages.md +0 -283
  75. package/starters/stacks/nextjs-supabase-vercel.md +0 -319
  76. package/starters/stacks/nextjs-vercel-typescript.md +0 -264
  77. package/starters/styles/clean-professional.md +0 -316
  78. package/starters/styles/dark-minimal-developer.md +0 -442
package/README.md CHANGED
@@ -19,13 +19,13 @@ gspec solves both problems. It provides a structured specification workflow that
19
19
 
20
20
  gspec installs as a set of slash commands (skills) in your AI coding tool. Each command plays a specific role — business strategist, product manager, architect, designer, engineer — and produces a structured Markdown document in your project's `gspec/` directory.
21
21
 
22
- These documents become the shared context for all subsequent AI interactions. When you implement features, your AI reads the specs. When the code changes, the specs update to match.
22
+ These documents become the shared context for all subsequent AI interactions. When you implement features, your AI reads the specs. When the code changes, gspec's always-on spec sync keeps them in sync automatically.
23
23
 
24
24
  ### The Workflow
25
25
 
26
- The only commands you *need* are the four fundamentals and `implement`. Everything else exists to help when your project calls for it.
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, `implement` can take a plain-language description and start building. The remaining commands — `research`, `feature`, `architect`, `analyze`, `dor`, and `record` — 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`, and `/gspec-analyze` — add structure and rigor when the scope or complexity warrants it.
29
29
 
30
30
  ```mermaid
31
31
  flowchart LR
@@ -47,9 +47,6 @@ flowchart LR
47
47
 
48
48
  Build["6. Build
49
49
  implement"]
50
-
51
- Iterate["7. Iterate
52
- dor · record"]
53
50
 
54
51
  Define --> Research
55
52
  Define --> Specify
@@ -61,8 +58,7 @@ flowchart LR
61
58
  Architect --> Analyze
62
59
  Architect --> Build
63
60
  Analyze --> Build
64
- Build --> Iterate
65
- Iterate --> Build
61
+ Build --> Define
66
62
 
67
63
  style Define fill:#4a9eff,color:#fff,stroke:none
68
64
  style Research fill:#a855f7,color:#fff,stroke:none
@@ -70,73 +66,65 @@ flowchart LR
70
66
  style Architect fill:#f59e0b,color:#fff,stroke:none
71
67
  style Analyze fill:#f59e0b,color:#fff,stroke:none
72
68
  style Build fill:#22c55e,color:#fff,stroke:none
73
- style Iterate fill:#64748b,color:#fff,stroke:none
74
69
  ```
75
70
 
76
- > **Blue** = required foundation. **Purple/Yellow** = optional depth. **Green** = implementation. **Gray** = maintenance.
71
+ > **Blue** = required foundation. **Purple/Yellow** = optional depth. **Green** = implementation.
77
72
  > Every path starts with Define and passes through Build. The steps in between depend on your project's complexity.
78
73
 
79
74
  **1. Define the Fundamentals** — Establish the foundation that drives every decision.
80
75
 
81
76
  | Command | Role | What it produces |
82
77
  |---|---|---|
83
- | `gspec.profile` | Business Strategist | Product identity, audience, value proposition, positioning |
84
- | `gspec.style` | UI/UX Designer | Visual design language, design tokens, component patterns |
85
- | `gspec.stack` | Software Architect | Technology stack, frameworks, infrastructure, architecture |
86
- | `gspec.practices` | Engineering Lead | Development standards, code quality, testing, workflows |
78
+ | `/gspec-profile` | Business Strategist | Product identity, audience, value proposition, positioning |
79
+ | `/gspec-style` | UI/UX Designer | Visual design language, design tokens, component patterns |
80
+ | `/gspec-stack` | Software Architect | Technology stack, frameworks, infrastructure, architecture |
81
+ | `/gspec-practices` | Engineering Lead | Development standards, code quality, testing, workflows |
87
82
 
88
83
  **2. Research the Market** *(optional)* — Understand the competitive landscape before building.
89
84
 
90
85
  | Command | Role | What it produces |
91
86
  |---|---|---|
92
- | `gspec.research` | Product Strategist | Competitive analysis, feature matrix, gap identification, and additional feature proposals |
87
+ | `/gspec-research` | Product Strategist | Competitive analysis, feature matrix, gap identification, and additional feature proposals |
93
88
 
94
- Use `research` when you want to understand what competitors offer, identify table-stakes features you might be missing, find differentiation opportunities, and **propose additional features** that serve your product's mission. It reads competitors from your product profile, produces a persistent `gspec/research.md` file, and can optionally generate feature PRDs from its findings and proposals. This is where new feature ideas are surfaced and vetted — not during implementation.
89
+ Use `/gspec-research` when you want to understand what competitors offer, identify table-stakes features you might be missing, find differentiation opportunities, and **propose additional features** that serve your product's mission. It reads competitors from your product profile, produces a persistent `gspec/research.md` file, and can optionally generate feature PRDs from its findings and proposals. This is where new feature ideas are surfaced and vetted — not during implementation.
95
90
 
96
91
  **3. Specify What to Build** *(optional)* — Define features and requirements.
97
92
 
98
93
  | Command | Role | What it produces |
99
94
  |---|---|---|
100
- | `gspec.feature` | Product Manager | One or more feature PRDs with prioritized capabilities |
95
+ | `/gspec-feature` | Product Manager | One or more feature PRDs with prioritized capabilities |
101
96
 
102
- Use `feature` when you want detailed PRDs with prioritized capabilities and acceptance criteria before building. It handles both single features and larger bodies of work — if the scope is large enough, it will propose a multi-feature breakdown for your approval. For smaller tasks or rapid prototyping, you can skip straight to `implement` with a plain-language description.
97
+ Use `/gspec-feature` when you want detailed PRDs with prioritized capabilities and acceptance criteria before building. It handles both single features and larger bodies of work — if the scope is large enough, it will propose a multi-feature breakdown for your approval. For smaller tasks or rapid prototyping, you can skip straight to `/gspec-implement` with a plain-language description.
103
98
 
104
99
  **4. Architect** *(optional)* — Translate specs into a concrete technical blueprint.
105
100
 
106
101
  | Command | Role | What it produces |
107
102
  |---|---|---|
108
- | `gspec.architect` | Senior Architect | Technical architecture document with data models, API design, project structure, auth flows, technical gap analysis, and Mermaid diagrams |
103
+ | `/gspec-architect` | Senior Architect | Technical architecture document with data models, API design, project structure, auth flows, technical gap analysis, and Mermaid diagrams |
109
104
 
110
- Use `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 `implement` can focus on building rather than making architectural decisions. For straightforward features, `implement` can make sound architectural decisions on its own using your `stack` and `practices` specs.
105
+ 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.
111
106
 
112
107
  **5. Analyze** *(optional)* — Reconcile discrepancies across specs before building.
113
108
 
114
109
  | Command | Role | What it does |
115
110
  |---|---|---|
116
- | `gspec.analyze` | Specification Analyst | Cross-references all specs, identifies contradictions, and walks you through reconciling each one |
111
+ | `/gspec-analyze` | Specification Analyst | Cross-references all specs, identifies contradictions, and walks you through reconciling each one |
117
112
 
118
- Use `analyze` after `architect` (or any time multiple specs exist) to catch conflicts before `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, `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.
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.
119
114
 
120
115
  **6. Build** — Implement with full context.
121
116
 
122
117
  | Command | Role | What it does |
123
118
  |---|---|---|
124
- | `gspec.implement` | Senior Engineer | Reads all specs, plans the build order, and implements |
119
+ | `/gspec-implement` | Senior Engineer | Reads all specs, plans the build order, and implements |
125
120
 
126
- **7. Iterate** *(optional)* Keep specs and code in sync as the project evolves.
127
-
128
- | Command | Role | What it does |
129
- |---|---|---|
130
- | `gspec.dor` | Engineer + Doc Lead | Makes code changes and updates specs to match |
131
- | `gspec.record` | Doc Lead | Updates specs to reflect decisions or changes — no code modifications |
132
-
133
- Use `dor` and `record` when you want your specification documents to stay accurate as the project evolves. If you're moving fast and specs are secondary, you can skip them — but as a project matures, keeping specs in sync prevents the context drift that degrades AI output over time.
121
+ **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.
134
122
 
135
123
  **Maintenance** — Keep specs up to date with the latest gspec format.
136
124
 
137
125
  | Command | Role | What it does |
138
126
  |---|---|---|
139
- | `gspec.migrate` | Migration Specialist | Updates existing gspec documents to the current format when you upgrade gspec, preserving all content |
127
+ | `/gspec-migrate` | Migration Specialist | Updates existing gspec documents to the current format when you upgrade gspec, preserving all content |
140
128
 
141
129
  Each command is self-contained and will ask clarifying questions when essential information is missing.
142
130
 
@@ -156,6 +144,7 @@ The CLI will ask which platform you're installing for:
156
144
  | Cursor | `.cursor/commands/` |
157
145
  | Antigravity | `.agent/skills/` |
158
146
  | Codex | `.agents/skills/` |
147
+ | Open Code | `.opencode/skills/` |
159
148
 
160
149
  You can skip the prompt by passing a target directly:
161
150
 
@@ -164,6 +153,7 @@ npx gspec --target claude
164
153
  npx gspec --target cursor
165
154
  npx gspec --target antigravity
166
155
  npx gspec --target codex
156
+ npx gspec --target opencode
167
157
  ```
168
158
 
169
159
  That's it. The commands are immediately available in your AI tool.
@@ -193,13 +183,13 @@ These are standard Markdown files. They live in your repo, are version-controlle
193
183
 
194
184
  **Spec-first development.** Every implementation decision traces back to a specification. AI tools don't guess — they follow documented decisions about your product, stack, design, and standards.
195
185
 
196
- **Living documents.** Specifications aren't write-once artifacts. The `dor` and `record` commands keep them in sync as your project evolves, so they remain a reliable source of truth.
186
+ **Living documents.** Specifications aren't write-once artifacts. The always-on spec sync keeps them in sync as your project evolves, so they remain a reliable source of truth.
197
187
 
198
188
  **Role-based commands.** Each command adopts a specific professional perspective — product manager, architect, designer, engineer. This ensures specifications are comprehensive and consider multiple viewpoints.
199
189
 
200
190
  **Incremental implementation.** Feature PRDs use checkboxes to track which capabilities have been built. The `implement` command reads these to know what's done and what's remaining, so it can be run multiple times as your project grows.
201
191
 
202
- **Research and architecture own discovery.** Feature proposals and technical gap analysis happen *before* implementation — in `research` and `architect` respectively. The `research` command surfaces new feature ideas through competitive analysis and product-driven reasoning. The `architect` command identifies technical gaps and resolves ambiguities. This separation keeps `implement` focused on building what the specs define, rather than proposing scope changes mid-build.
192
+ **Research and architecture own discovery.** Feature proposals and technical gap analysis happen *before* implementation — in `/gspec-research` and `/gspec-architect` respectively. `/gspec-research` surfaces new feature ideas through competitive analysis and product-driven reasoning. `/gspec-architect` identifies technical gaps and resolves ambiguities. This separation keeps `/gspec-implement` focused on building what the specs define, rather than proposing scope changes mid-build.
203
193
 
204
194
  **Platform-agnostic.** A single set of source commands builds for Claude Code, Cursor, Antigravity, and Codex. The build system handles platform-specific formatting so the commands stay consistent across tools.
205
195
 
@@ -211,6 +201,7 @@ These are standard Markdown files. They live in your repo, are version-controlle
211
201
  | [Cursor](https://www.cursor.com/) | Commands format | Supported |
212
202
  | [Antigravity](https://www.antigravity.dev/) | Skills format | Supported |
213
203
  | [Codex](https://developers.openai.com/codex/cli/) | Skills format | Supported |
204
+ | [Open Code](https://opencode.ai/) | Skills format | Supported |
214
205
 
215
206
  ## Project Status
216
207