gspec 1.13.1 → 1.14.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 (32) hide show
  1. package/commands/gspec.architect.md +5 -3
  2. package/commands/gspec.feature.md +1 -1
  3. package/commands/gspec.practices.md +2 -2
  4. package/commands/gspec.research.md +2 -1
  5. package/commands/gspec.stack.md +3 -7
  6. package/dist/antigravity/gspec-architect/SKILL.md +5 -3
  7. package/dist/antigravity/gspec-feature/SKILL.md +1 -1
  8. package/dist/antigravity/gspec-practices/SKILL.md +2 -2
  9. package/dist/antigravity/gspec-research/SKILL.md +2 -1
  10. package/dist/antigravity/gspec-stack/SKILL.md +3 -7
  11. package/dist/claude/gspec-architect/SKILL.md +5 -3
  12. package/dist/claude/gspec-feature/SKILL.md +1 -1
  13. package/dist/claude/gspec-practices/SKILL.md +2 -2
  14. package/dist/claude/gspec-research/SKILL.md +2 -1
  15. package/dist/claude/gspec-stack/SKILL.md +3 -7
  16. package/dist/codex/gspec-architect/SKILL.md +5 -3
  17. package/dist/codex/gspec-feature/SKILL.md +1 -1
  18. package/dist/codex/gspec-practices/SKILL.md +2 -2
  19. package/dist/codex/gspec-research/SKILL.md +2 -1
  20. package/dist/codex/gspec-stack/SKILL.md +3 -7
  21. package/dist/cursor/gspec-architect.mdc +5 -3
  22. package/dist/cursor/gspec-feature.mdc +1 -1
  23. package/dist/cursor/gspec-practices.mdc +2 -2
  24. package/dist/cursor/gspec-research.mdc +2 -1
  25. package/dist/cursor/gspec-stack.mdc +3 -7
  26. package/dist/opencode/gspec-architect/SKILL.md +5 -3
  27. package/dist/opencode/gspec-feature/SKILL.md +1 -1
  28. package/dist/opencode/gspec-practices/SKILL.md +2 -2
  29. package/dist/opencode/gspec-research/SKILL.md +2 -1
  30. package/dist/opencode/gspec-stack/SKILL.md +3 -7
  31. package/package.json +1 -1
  32. package/templates/spec-sync.md +8 -6
@@ -29,7 +29,7 @@ Before generating the architecture document, read **all** existing gspec documen
29
29
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
30
30
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
31
31
 
32
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
32
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
33
33
 
34
34
  ---
35
35
 
@@ -56,6 +56,7 @@ All of these provide essential context. If any are missing, note the gap and mak
56
56
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
57
57
  - Include code blocks for directory trees, schema definitions, and configuration snippets
58
58
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
59
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
59
60
 
60
61
  ---
61
62
 
@@ -338,8 +339,9 @@ Examples of gaps to look for:
338
339
  - Technical decisions that were inferred rather than explicitly specified in existing specs
339
340
 
340
341
  ### 10. Open Decisions
341
- - Areas where the architecture may need to evolve as features are implemented
342
- - Questions that should be resolved before or during implementation
342
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
343
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
344
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
343
345
 
344
346
  ---
345
347
 
@@ -163,8 +163,8 @@ This separation — combined with the portability principles above — allows th
163
163
 
164
164
  ### 6. Assumptions & Risks
165
165
  - Assumptions (what we're taking as true)
166
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
167
166
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
167
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
168
168
 
169
169
  ### 7. Success Metrics
170
170
  - 2-4 measurable outcomes that define whether this feature is working
@@ -38,14 +38,14 @@ You should:
38
38
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
39
39
  - **Mark sections as "Not Applicable"** when they don't apply to this project
40
40
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
41
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
41
42
 
42
43
  ---
43
44
 
44
45
  ## Required Sections
45
46
 
46
47
  ### 1. Overview
47
- - Team context (size, experience level)
48
- - Development timeline constraints
48
+ - Summary of the practices
49
49
 
50
50
  ### 2. Core Development Practices
51
51
 
@@ -154,7 +154,7 @@ After writing `gspec/research.md`, ask the user:
154
154
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
155
155
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
156
156
  - Dependencies (on other features or external services)
157
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
157
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
158
158
  - Success Metrics
159
159
  - Implementation Context (standard portability note)
160
160
  - Begin the file with YAML frontmatter: `---\nspec-version: <<<SPEC_VERSION>>>\n---`
@@ -186,6 +186,7 @@ After writing `gspec/research.md`, ask the user:
186
186
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
187
187
  - Include the competitive feature matrix as a Markdown table
188
188
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
189
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
189
190
 
190
191
  ### Output File Structure
191
192
 
@@ -36,6 +36,7 @@ You should:
36
36
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
37
37
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
38
38
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
39
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
39
40
 
40
41
  ---
41
42
 
@@ -46,13 +47,8 @@ You should:
46
47
  - Deployment target (cloud, on-premise, hybrid)
47
48
  - Scale and performance requirements
48
49
 
49
- ### 2. Open Questions & Clarifications
50
- **List any critical questions that need answers before finalizing technology choices**
51
- - Missing requirements that impact stack decisions
52
- - Unclear constraints or preferences
53
- - Team expertise or existing infrastructure questions
54
- - Budget or licensing considerations
55
- - **Mark as "None" if all information is clear**
50
+ ### 2. Clarifications
51
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
56
52
 
57
53
  ### 3. Core Technology Stack
58
54
 
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
34
34
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
35
35
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
36
36
 
37
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
37
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
38
38
 
39
39
  ---
40
40
 
@@ -61,6 +61,7 @@ All of these provide essential context. If any are missing, note the gap and mak
61
61
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
62
62
  - Include code blocks for directory trees, schema definitions, and configuration snippets
63
63
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
64
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
64
65
 
65
66
  ---
66
67
 
@@ -343,8 +344,9 @@ Examples of gaps to look for:
343
344
  - Technical decisions that were inferred rather than explicitly specified in existing specs
344
345
 
345
346
  ### 10. Open Decisions
346
- - Areas where the architecture may need to evolve as features are implemented
347
- - Questions that should be resolved before or during implementation
347
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
348
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
349
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
348
350
 
349
351
  ---
350
352
 
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
168
168
 
169
169
  ### 6. Assumptions & Risks
170
170
  - Assumptions (what we're taking as true)
171
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
172
171
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
172
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
173
173
 
174
174
  ### 7. Success Metrics
175
175
  - 2-4 measurable outcomes that define whether this feature is working
@@ -43,14 +43,14 @@ You should:
43
43
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
44
44
  - **Mark sections as "Not Applicable"** when they don't apply to this project
45
45
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
46
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
46
47
 
47
48
  ---
48
49
 
49
50
  ## Required Sections
50
51
 
51
52
  ### 1. Overview
52
- - Team context (size, experience level)
53
- - Development timeline constraints
53
+ - Summary of the practices
54
54
 
55
55
  ### 2. Core Development Practices
56
56
 
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
159
159
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
160
160
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
161
161
  - Dependencies (on other features or external services)
162
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
162
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
163
163
  - Success Metrics
164
164
  - Implementation Context (standard portability note)
165
165
  - Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
@@ -191,6 +191,7 @@ After writing `gspec/research.md`, ask the user:
191
191
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
192
192
  - Include the competitive feature matrix as a Markdown table
193
193
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
194
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
194
195
 
195
196
  ### Output File Structure
196
197
 
@@ -41,6 +41,7 @@ You should:
41
41
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
42
42
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
43
43
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
44
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
44
45
 
45
46
  ---
46
47
 
@@ -51,13 +52,8 @@ You should:
51
52
  - Deployment target (cloud, on-premise, hybrid)
52
53
  - Scale and performance requirements
53
54
 
54
- ### 2. Open Questions & Clarifications
55
- **List any critical questions that need answers before finalizing technology choices**
56
- - Missing requirements that impact stack decisions
57
- - Unclear constraints or preferences
58
- - Team expertise or existing infrastructure questions
59
- - Budget or licensing considerations
60
- - **Mark as "None" if all information is clear**
55
+ ### 2. Clarifications
56
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
61
57
 
62
58
  ### 3. Core Technology Stack
63
59
 
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
34
34
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
35
35
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
36
36
 
37
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
37
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
38
38
 
39
39
  ---
40
40
 
@@ -61,6 +61,7 @@ All of these provide essential context. If any are missing, note the gap and mak
61
61
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
62
62
  - Include code blocks for directory trees, schema definitions, and configuration snippets
63
63
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
64
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
64
65
 
65
66
  ---
66
67
 
@@ -343,8 +344,9 @@ Examples of gaps to look for:
343
344
  - Technical decisions that were inferred rather than explicitly specified in existing specs
344
345
 
345
346
  ### 10. Open Decisions
346
- - Areas where the architecture may need to evolve as features are implemented
347
- - Questions that should be resolved before or during implementation
347
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
348
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
349
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
348
350
 
349
351
  ---
350
352
 
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
168
168
 
169
169
  ### 6. Assumptions & Risks
170
170
  - Assumptions (what we're taking as true)
171
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
172
171
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
172
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
173
173
 
174
174
  ### 7. Success Metrics
175
175
  - 2-4 measurable outcomes that define whether this feature is working
@@ -43,14 +43,14 @@ You should:
43
43
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
44
44
  - **Mark sections as "Not Applicable"** when they don't apply to this project
45
45
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
46
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
46
47
 
47
48
  ---
48
49
 
49
50
  ## Required Sections
50
51
 
51
52
  ### 1. Overview
52
- - Team context (size, experience level)
53
- - Development timeline constraints
53
+ - Summary of the practices
54
54
 
55
55
  ### 2. Core Development Practices
56
56
 
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
159
159
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
160
160
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
161
161
  - Dependencies (on other features or external services)
162
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
162
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
163
163
  - Success Metrics
164
164
  - Implementation Context (standard portability note)
165
165
  - Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
@@ -191,6 +191,7 @@ After writing `gspec/research.md`, ask the user:
191
191
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
192
192
  - Include the competitive feature matrix as a Markdown table
193
193
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
194
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
194
195
 
195
196
  ### Output File Structure
196
197
 
@@ -41,6 +41,7 @@ You should:
41
41
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
42
42
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
43
43
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
44
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
44
45
 
45
46
  ---
46
47
 
@@ -51,13 +52,8 @@ You should:
51
52
  - Deployment target (cloud, on-premise, hybrid)
52
53
  - Scale and performance requirements
53
54
 
54
- ### 2. Open Questions & Clarifications
55
- **List any critical questions that need answers before finalizing technology choices**
56
- - Missing requirements that impact stack decisions
57
- - Unclear constraints or preferences
58
- - Team expertise or existing infrastructure questions
59
- - Budget or licensing considerations
60
- - **Mark as "None" if all information is clear**
55
+ ### 2. Clarifications
56
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
61
57
 
62
58
  ### 3. Core Technology Stack
63
59
 
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
34
34
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
35
35
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
36
36
 
37
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
37
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
38
38
 
39
39
  ---
40
40
 
@@ -61,6 +61,7 @@ All of these provide essential context. If any are missing, note the gap and mak
61
61
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
62
62
  - Include code blocks for directory trees, schema definitions, and configuration snippets
63
63
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
64
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
64
65
 
65
66
  ---
66
67
 
@@ -343,8 +344,9 @@ Examples of gaps to look for:
343
344
  - Technical decisions that were inferred rather than explicitly specified in existing specs
344
345
 
345
346
  ### 10. Open Decisions
346
- - Areas where the architecture may need to evolve as features are implemented
347
- - Questions that should be resolved before or during implementation
347
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
348
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
349
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
348
350
 
349
351
  ---
350
352
 
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
168
168
 
169
169
  ### 6. Assumptions & Risks
170
170
  - Assumptions (what we're taking as true)
171
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
172
171
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
172
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
173
173
 
174
174
  ### 7. Success Metrics
175
175
  - 2-4 measurable outcomes that define whether this feature is working
@@ -43,14 +43,14 @@ You should:
43
43
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
44
44
  - **Mark sections as "Not Applicable"** when they don't apply to this project
45
45
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
46
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
46
47
 
47
48
  ---
48
49
 
49
50
  ## Required Sections
50
51
 
51
52
  ### 1. Overview
52
- - Team context (size, experience level)
53
- - Development timeline constraints
53
+ - Summary of the practices
54
54
 
55
55
  ### 2. Core Development Practices
56
56
 
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
159
159
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
160
160
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
161
161
  - Dependencies (on other features or external services)
162
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
162
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
163
163
  - Success Metrics
164
164
  - Implementation Context (standard portability note)
165
165
  - Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
@@ -191,6 +191,7 @@ After writing `gspec/research.md`, ask the user:
191
191
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
192
192
  - Include the competitive feature matrix as a Markdown table
193
193
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
194
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
194
195
 
195
196
  ### Output File Structure
196
197
 
@@ -41,6 +41,7 @@ You should:
41
41
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
42
42
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
43
43
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
44
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
44
45
 
45
46
  ---
46
47
 
@@ -51,13 +52,8 @@ You should:
51
52
  - Deployment target (cloud, on-premise, hybrid)
52
53
  - Scale and performance requirements
53
54
 
54
- ### 2. Open Questions & Clarifications
55
- **List any critical questions that need answers before finalizing technology choices**
56
- - Missing requirements that impact stack decisions
57
- - Unclear constraints or preferences
58
- - Team expertise or existing infrastructure questions
59
- - Budget or licensing considerations
60
- - **Mark as "None" if all information is clear**
55
+ ### 2. Clarifications
56
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
61
57
 
62
58
  ### 3. Core Technology Stack
63
59
 
@@ -33,7 +33,7 @@ Before generating the architecture document, read **all** existing gspec documen
33
33
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
34
34
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
35
35
 
36
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
36
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
37
37
 
38
38
  ---
39
39
 
@@ -60,6 +60,7 @@ All of these provide essential context. If any are missing, note the gap and mak
60
60
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
61
61
  - Include code blocks for directory trees, schema definitions, and configuration snippets
62
62
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
63
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
63
64
 
64
65
  ---
65
66
 
@@ -342,8 +343,9 @@ Examples of gaps to look for:
342
343
  - Technical decisions that were inferred rather than explicitly specified in existing specs
343
344
 
344
345
  ### 10. Open Decisions
345
- - Areas where the architecture may need to evolve as features are implemented
346
- - Questions that should be resolved before or during implementation
346
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
347
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
348
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
347
349
 
348
350
  ---
349
351
 
@@ -167,8 +167,8 @@ This separation — combined with the portability principles above — allows th
167
167
 
168
168
  ### 6. Assumptions & Risks
169
169
  - Assumptions (what we're taking as true)
170
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
171
170
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
171
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
172
172
 
173
173
  ### 7. Success Metrics
174
174
  - 2-4 measurable outcomes that define whether this feature is working
@@ -42,14 +42,14 @@ You should:
42
42
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
43
43
  - **Mark sections as "Not Applicable"** when they don't apply to this project
44
44
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
45
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
45
46
 
46
47
  ---
47
48
 
48
49
  ## Required Sections
49
50
 
50
51
  ### 1. Overview
51
- - Team context (size, experience level)
52
- - Development timeline constraints
52
+ - Summary of the practices
53
53
 
54
54
  ### 2. Core Development Practices
55
55
 
@@ -158,7 +158,7 @@ After writing `gspec/research.md`, ask the user:
158
158
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
159
159
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
160
160
  - Dependencies (on other features or external services)
161
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
161
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
162
162
  - Success Metrics
163
163
  - Implementation Context (standard portability note)
164
164
  - Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
@@ -190,6 +190,7 @@ After writing `gspec/research.md`, ask the user:
190
190
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
191
191
  - Include the competitive feature matrix as a Markdown table
192
192
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
193
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
193
194
 
194
195
  ### Output File Structure
195
196
 
@@ -40,6 +40,7 @@ You should:
40
40
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
41
41
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
42
42
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
43
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
43
44
 
44
45
  ---
45
46
 
@@ -50,13 +51,8 @@ You should:
50
51
  - Deployment target (cloud, on-premise, hybrid)
51
52
  - Scale and performance requirements
52
53
 
53
- ### 2. Open Questions & Clarifications
54
- **List any critical questions that need answers before finalizing technology choices**
55
- - Missing requirements that impact stack decisions
56
- - Unclear constraints or preferences
57
- - Team expertise or existing infrastructure questions
58
- - Budget or licensing considerations
59
- - **Mark as "None" if all information is clear**
54
+ ### 2. Clarifications
55
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
60
56
 
61
57
  ### 3. Core Technology Stack
62
58
 
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
34
34
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
35
35
  5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
36
36
 
37
- All of these provide essential context. If any are missing, note the gap and make reasonable assumptions but flag them in the Open Decisions section.
37
+ All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
38
38
 
39
39
  ---
40
40
 
@@ -61,6 +61,7 @@ All of these provide essential context. If any are missing, note the gap and mak
61
61
  - **Mark sections as "Not Applicable"** when they don't apply (e.g., no API for a static site, no frontend for a CLI tool)
62
62
  - Include code blocks for directory trees, schema definitions, and configuration snippets
63
63
  - **Do NOT duplicate product-level information** from feature PRDs — reference capabilities by name, don't restate them
64
+ - **The architecture document must be profile-agnostic** — it defines the technical blueprint for a system, not for a specific business or product identity. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application", "the system", or "the platform" instead. You may read `gspec/profile.md` to understand scope and boundaries, but do not carry business identity into the architecture document. Profile-specific context lives exclusively in `gspec/profile.md`.
64
65
 
65
66
  ---
66
67
 
@@ -343,8 +344,9 @@ Examples of gaps to look for:
343
344
  - Technical decisions that were inferred rather than explicitly specified in existing specs
344
345
 
345
346
  ### 10. Open Decisions
346
- - Areas where the architecture may need to evolve as features are implemented
347
- - Questions that should be resolved before or during implementation
347
+ - **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
348
+ - If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
349
+ - Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
348
350
 
349
351
  ---
350
352
 
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
168
168
 
169
169
  ### 6. Assumptions & Risks
170
170
  - Assumptions (what we're taking as true)
171
- - Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
172
171
  - Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
172
+ - **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
173
173
 
174
174
  ### 7. Success Metrics
175
175
  - 2-4 measurable outcomes that define whether this feature is working
@@ -43,14 +43,14 @@ You should:
43
43
  - **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
44
44
  - **Mark sections as "Not Applicable"** when they don't apply to this project
45
45
  - **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
46
+ - **The practices document must be profile-agnostic** — it defines engineering standards for a development team, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the project" or "the team" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
46
47
 
47
48
  ---
48
49
 
49
50
  ## Required Sections
50
51
 
51
52
  ### 1. Overview
52
- - Team context (size, experience level)
53
- - Development timeline constraints
53
+ - Summary of the practices
54
54
 
55
55
  ### 2. Core Development Practices
56
56
 
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
159
159
  - Scope (in-scope goals, out-of-scope items, deferred ideas)
160
160
  - Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
161
161
  - Dependencies (on other features or external services)
162
- - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
162
+ - Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
163
163
  - Success Metrics
164
164
  - Implementation Context (standard portability note)
165
165
  - Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
@@ -191,6 +191,7 @@ After writing `gspec/research.md`, ask the user:
191
191
  - Clearly distinguish between facts (what competitors do) and recommendations (what the product should do)
192
192
  - Include the competitive feature matrix as a Markdown table
193
193
  - Categorize all findings using the Table-Stakes / Differentiating / White-Space framework
194
+ - **The research document must be profile-agnostic in its headings and title** — use a generic document title like "# Competitive Research", not "# Competitive Research — ACME Solutions". Do NOT include the project name or company name in section headings. You may reference the product's positioning and competitive context from `gspec/profile.md` within the body where needed for analysis, but the document structure itself should be reusable. The "Our Product" column in matrices should use "Our Product" — not the product's name.
194
195
 
195
196
  ### Output File Structure
196
197
 
@@ -41,6 +41,7 @@ You should:
41
41
  - **Mark sections as "Not Applicable"** when they don't apply to this project (e.g., no backend, no message queue, etc.)
42
42
  - **Do NOT include general development practices** (code review, git workflow, refactoring guidelines) — these are documented separately
43
43
  - **DO include technology-specific practices in the designated section** that are inherent to the chosen stack (e.g., framework-specific conventions, ORM usage patterns, CSS framework token mapping, recommended library configurations)
44
+ - **The stack document must be profile-agnostic** — it defines technology choices for a given type of application, not for a specific business or product. Do NOT include the project name, company name, business purpose, or product-specific context in the document title, headings, or body. Use generic terms like "the application" or "the system" instead. Profile-specific context lives exclusively in `gspec/profile.md`.
44
45
 
45
46
  ---
46
47
 
@@ -51,13 +52,8 @@ You should:
51
52
  - Deployment target (cloud, on-premise, hybrid)
52
53
  - Scale and performance requirements
53
54
 
54
- ### 2. Open Questions & Clarifications
55
- **List any critical questions that need answers before finalizing technology choices**
56
- - Missing requirements that impact stack decisions
57
- - Unclear constraints or preferences
58
- - Team expertise or existing infrastructure questions
59
- - Budget or licensing considerations
60
- - **Mark as "None" if all information is clear**
55
+ ### 2. Clarifications
56
+ **All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
61
57
 
62
58
  ### 3. Core Technology Stack
63
59
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gspec",
3
- "version": "1.13.1",
3
+ "version": "1.14.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",
@@ -8,19 +8,21 @@ These specs define what the product is, how it should look, what technology it u
8
8
 
9
9
  1. **Read the specs first** — Before making non-trivial changes, read the relevant gspec documents to understand existing decisions and constraints. At minimum, scan `gspec/profile.md` and any feature PRDs in `gspec/features/` related to your work.
10
10
 
11
- 2. **Update feature checkboxes** — When you implement a capability defined in a feature PRD (`gspec/features/*.md`), change its checkbox from `- [ ]` to `- [x]`.
11
+ 2. **Spec before you build** — If the user asks for a feature or capability that isn't covered by an existing feature PRD in `gspec/features/`, run the `gspec-feature` command to create a new feature PRD before implementing it. Every feature should be specified before it's built — don't skip straight to code.
12
12
 
13
- 3. **Update specs that your changes contradict** — If your code change makes a spec statement incorrect (e.g., you changed the data model, switched a dependency, altered a UI pattern, or added a new API endpoint), update the spec to reflect reality. Common candidates:
13
+ 3. **Update feature checkboxes** — When you implement a capability defined in a feature PRD (`gspec/features/*.md`), change its checkbox from `- [ ]` to `- [x]`.
14
+
15
+ 4. **Update specs that your changes contradict** — If your code change makes a spec statement incorrect (e.g., you changed the data model, switched a dependency, altered a UI pattern, or added a new API endpoint), update the spec to reflect reality. Common candidates:
14
16
  - `gspec/architecture.md` — project structure, data model, API routes, component hierarchy
15
17
  - `gspec/stack.md` — dependencies, frameworks, infrastructure
16
18
  - `gspec/style.md` — design tokens, component styling, visual conventions
17
19
  - `gspec/practices.md` — coding standards, testing conventions, workflows
18
20
  - `gspec/profile.md` — product scope, target users, value proposition (rarely changes)
19
21
 
20
- 4. **Be surgical** — Change only what is necessary. Preserve the existing voice, structure, and formatting of each spec document. Do not rewrite sections that are still accurate.
22
+ 5. **Be surgical** — Change only what is necessary. Preserve the existing voice, structure, and formatting of each spec document. Do not rewrite sections that are still accurate.
21
23
 
22
- 5. **Announce spec updates** — When you update a spec, briefly mention what changed and why in your response. Never silently modify specs.
24
+ 6. **Announce spec updates** — When you update a spec, briefly mention what changed and why in your response. Never silently modify specs.
23
25
 
24
- 6. **Preserve frontmatter** — gspec files use YAML frontmatter with a `spec-version` field. Preserve it when editing. If a file lacks frontmatter, leave it as-is.
26
+ 7. **Preserve frontmatter** — gspec files use YAML frontmatter with a `spec-version` field. Preserve it when editing. If a file lacks frontmatter, leave it as-is.
25
27
 
26
- 7. **Don't create new foundation specs** — Only update existing spec files. If you believe a new spec document is needed, suggest it to the user rather than creating it yourself.
28
+ 8. **Don't create new foundation specs** — Only update existing spec files. If you believe a new spec document is needed, suggest it to the user rather than creating it yourself.