gspec 1.0.3 → 1.1.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 (46) hide show
  1. package/bin/gspec.js +83 -0
  2. package/commands/gspec.architect.md +333 -0
  3. package/commands/gspec.dor.md +19 -13
  4. package/commands/gspec.epic.md +91 -43
  5. package/commands/gspec.feature.md +82 -27
  6. package/commands/gspec.implement.md +69 -23
  7. package/commands/gspec.migrate.md +115 -0
  8. package/commands/gspec.practices.md +7 -0
  9. package/commands/gspec.profile.md +7 -0
  10. package/commands/gspec.record.md +18 -12
  11. package/commands/gspec.stack.md +7 -0
  12. package/commands/gspec.style.md +38 -3
  13. package/dist/antigravity/gspec-architect/SKILL.md +337 -0
  14. package/dist/antigravity/gspec-dor/SKILL.md +19 -13
  15. package/dist/antigravity/gspec-epic/SKILL.md +91 -43
  16. package/dist/antigravity/gspec-feature/SKILL.md +82 -27
  17. package/dist/antigravity/gspec-implement/SKILL.md +69 -23
  18. package/dist/antigravity/gspec-migrate/SKILL.md +119 -0
  19. package/dist/antigravity/gspec-practices/SKILL.md +7 -0
  20. package/dist/antigravity/gspec-profile/SKILL.md +7 -0
  21. package/dist/antigravity/gspec-record/SKILL.md +18 -12
  22. package/dist/antigravity/gspec-stack/SKILL.md +7 -0
  23. package/dist/antigravity/gspec-style/SKILL.md +38 -3
  24. package/dist/claude/gspec-architect/SKILL.md +338 -0
  25. package/dist/claude/gspec-dor/SKILL.md +19 -13
  26. package/dist/claude/gspec-epic/SKILL.md +91 -43
  27. package/dist/claude/gspec-feature/SKILL.md +82 -27
  28. package/dist/claude/gspec-implement/SKILL.md +69 -23
  29. package/dist/claude/gspec-migrate/SKILL.md +120 -0
  30. package/dist/claude/gspec-practices/SKILL.md +7 -0
  31. package/dist/claude/gspec-profile/SKILL.md +7 -0
  32. package/dist/claude/gspec-record/SKILL.md +18 -12
  33. package/dist/claude/gspec-stack/SKILL.md +7 -0
  34. package/dist/claude/gspec-style/SKILL.md +38 -3
  35. package/dist/cursor/gspec-architect.mdc +336 -0
  36. package/dist/cursor/gspec-dor.mdc +19 -13
  37. package/dist/cursor/gspec-epic.mdc +91 -43
  38. package/dist/cursor/gspec-feature.mdc +82 -27
  39. package/dist/cursor/gspec-implement.mdc +69 -23
  40. package/dist/cursor/gspec-migrate.mdc +118 -0
  41. package/dist/cursor/gspec-practices.mdc +7 -0
  42. package/dist/cursor/gspec-profile.mdc +7 -0
  43. package/dist/cursor/gspec-record.mdc +18 -12
  44. package/dist/cursor/gspec-stack.mdc +7 -0
  45. package/dist/cursor/gspec-style.mdc +38 -3
  46. package/package.json +1 -1
@@ -29,9 +29,10 @@ Before proposing any updates, read all available gspec documents in this order:
29
29
  1. `gspec/profile.md` — Product identity and scope
30
30
  2. `gspec/epics/*.md` — Epic structure and feature dependencies
31
31
  3. `gspec/features/*.md` — Individual feature requirements
32
- 4. `gspec/stack.md` — Technology choices and architecture
33
- 5. `gspec/style.md` — Visual design system
34
- 6. `gspec/practices.md` — Development standards and conventions
32
+ 4. `gspec/stack.md` — Technology choices
33
+ 5. `gspec/architecture.md` — Technical architecture: project structure, data model, API design, component architecture, environment setup
34
+ 6. `gspec/style.md` — Visual design system
35
+ 7. `gspec/practices.md` — Development standards and conventions
35
36
 
36
37
  If any files are missing, note what is missing and proceed with what is available. You only update specs that exist. Do not create new spec files (profile, stack, style, practices) unless the user explicitly asks. You may create a new feature PRD only when what needs recording constitutes an entirely new feature.
37
38
 
@@ -65,10 +66,14 @@ Systematically evaluate which gspec documents need updating. Apply this decision
65
66
  |---|---|---|
66
67
  | New user-facing capability | `gspec/features/<relevant>.md` | Add capability to existing PRD, or create new PRD if entirely new feature |
67
68
  | Modified capability behavior | `gspec/features/<relevant>.md` | Update the affected capability description |
68
- | Removed or deprecated capability | `gspec/features/<relevant>.md` | Move to Non-Goals or Future Considerations, note deprecation |
69
+ | Removed or deprecated capability | `gspec/features/<relevant>.md` | Move to Scope section (out-of-scope or deferred), note deprecation |
69
70
  | New technology or dependency added | `gspec/stack.md` | Add to appropriate section with rationale |
70
71
  | Technology or dependency removed | `gspec/stack.md` | Remove and note why |
71
72
  | Technology version changed | `gspec/stack.md` | Update version |
73
+ | New data entity or changed data model | `gspec/architecture.md` | Update Data Model section with new/changed entities |
74
+ | New API endpoint or changed route | `gspec/architecture.md` | Update API Design section with new/changed routes |
75
+ | Project structure change (new directory, reorganization) | `gspec/architecture.md` | Update Project Structure section |
76
+ | Environment variable added or changed | `gspec/architecture.md` | Update Environment & Configuration section |
72
77
  | Visual design change — generic (colors, typography, spacing, base component patterns) | `gspec/style.md` | Update affected tokens or base component patterns. Only include changes that are reusable and not tied to a specific feature or domain |
73
78
  | Visual design change — feature-specific (a component unique to a feature, domain-specific visual treatment) | `gspec/features/<relevant>.md` | Document the visual details in the feature PRD's capabilities or a dedicated "Visual Design" subsection |
74
79
  | Development practice change (testing, code org, conventions) | `gspec/practices.md` | Update affected practice |
@@ -115,16 +120,15 @@ After approval, write the spec updates:
115
120
  2. **Preserve format** — Match the existing document's style, heading structure, and tone exactly
116
121
  3. **Add change context where valuable** — Where appropriate, add a brief parenthetical note indicating the change (e.g., "*(Updated: switched from REST to GraphQL)*"). Do not over-annotate — use judgment about when a note adds value vs. noise.
117
122
  4. **For new feature PRDs** — If the change introduces an entirely new feature that warrants its own PRD, follow the same structure used by the `gspec-feature` command:
118
- - Overview (name, summary, objective)
119
- - Problem & Context
120
- - Goals & Non-Goals
123
+ - Overview (name, summary, problem being solved and why it matters now)
121
124
  - Users & Use Cases
122
- - Assumptions & Open Questions
123
- - Capabilities (with P0/P1/P2 priority levels)
125
+ - Scope (in-scope goals, out-of-scope items, deferred ideas)
126
+ - Capabilities (with P0/P1/P2 priority levels, each with 2-4 **acceptance criteria** as a sub-list)
127
+ - Dependencies (on other features or external services)
128
+ - Assumptions & Risks (assumptions, open questions, key risks and mitigations — note in assumptions that this feature was recorded during iterative development)
124
129
  - Success Metrics
125
- - Risks & Mitigations
126
- - Future Considerations
127
- - Note in the Assumptions section that this feature was recorded during iterative development
130
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.1.0\n---`
131
+ - **Also update `gspec/architecture.md`** if the new feature introduces data entities, API endpoints, or new components — add them to the appropriate architecture sections
128
132
 
129
133
  ### Phase 6: Verify — Confirm Consistency
130
134
 
@@ -152,6 +156,8 @@ After writing spec updates:
152
156
 
153
157
  **When to create vs. update.** If a change adds a small capability that fits naturally within an existing feature PRD, update that PRD. If a change introduces a wholly new product area that does not belong in any existing PRD, create a new feature PRD. When in doubt, ask the user.
154
158
 
159
+ **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.1.0\n---` as the very first content before the main heading.
160
+
155
161
  **No code changes.** This command never creates, modifies, or deletes code files. If the user needs code changes alongside spec updates, suggest using `gspec-dor` instead.
156
162
 
157
163
  ---
@@ -21,6 +21,13 @@ You should:
21
21
 
22
22
  - Output **ONLY** a single Markdown document
23
23
  - Save the file as `gspec/stack.md` in the root of the project, create the `gspec` folder if it doesn't exist
24
+ - Begin the file with YAML frontmatter containing the gspec version:
25
+ ```
26
+ ---
27
+ gspec-version: 1.1.0
28
+ ---
29
+ ```
30
+ The frontmatter must be the very first content in the file, before the main heading.
24
31
  - **Before generating the document**, ask clarifying questions if:
25
32
  - The project type is unclear (web app, mobile, API, CLI, etc.)
26
33
  - Scale requirements are not specified
@@ -21,6 +21,13 @@ You should:
21
21
 
22
22
  - Output **ONLY** a single Markdown document
23
23
  - Save the file as `gspec/style.md` in the root of the project, create the `gspec` folder if it doesn't exist
24
+ - Begin the file with YAML frontmatter containing the gspec version:
25
+ ```
26
+ ---
27
+ gspec-version: 1.1.0
28
+ ---
29
+ ```
30
+ The frontmatter must be the very first content in the file, before the main heading.
24
31
  - **Before generating the document**, ask clarifying questions if:
25
32
  - The brand personality or visual direction is unclear
26
33
  - Existing brand assets or guidelines are not mentioned (logos, colors, fonts)
@@ -200,9 +207,37 @@ You should:
200
207
  ### 12. Design Tokens
201
208
 
202
209
  #### Token Structure
203
- - Naming conventions
204
- - Token categories
205
- - Example token definitions (CSS variables, JSON, etc.)
210
+ - Naming conventions (e.g., `--color-primary-500`, `--spacing-md`, `--font-size-lg`)
211
+ - Token categories (color, typography, spacing, shadow, border-radius, animation)
212
+
213
+ #### Token Definitions
214
+ - **Output a complete, machine-parseable token map** as a CSS custom properties code block that the implementing agent can copy directly into the codebase. This is the single source of truth for all design values — every color, spacing value, font size, shadow, and radius defined in earlier sections must appear here as a named token.
215
+ - Example format:
216
+ ```css
217
+ :root {
218
+ /* Colors — Primary */
219
+ --color-primary-50: #eff6ff;
220
+ --color-primary-500: #3b82f6;
221
+ --color-primary-900: #1e3a5f;
222
+ /* Colors — Semantic */
223
+ --color-success: #22c55e;
224
+ --color-error: #ef4444;
225
+ /* Typography */
226
+ --font-family-heading: 'Inter', sans-serif;
227
+ --font-size-h1: 2.25rem;
228
+ --font-weight-bold: 700;
229
+ /* Spacing */
230
+ --spacing-xs: 0.25rem;
231
+ --spacing-sm: 0.5rem;
232
+ --spacing-md: 1rem;
233
+ /* Shadows */
234
+ --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
235
+ /* Border Radius */
236
+ --radius-md: 0.375rem;
237
+ }
238
+ ```
239
+ - If the project uses a utility-first CSS framework (check `gspec/stack.md` if it exists), also provide the framework-specific configuration (e.g., Tailwind `theme.extend` values) that maps to these tokens
240
+ - For dark mode, provide the overridden token values under a separate selector or media query
206
241
 
207
242
  ### 13. Usage Examples
208
243
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gspec",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Install gspec specification commands for Claude Code, Cursor, and other AI tools",
5
5
  "main": "bin/gspec.js",
6
6
  "type": "module",