specpilot 1.3.0 → 1.6.1

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 (75) hide show
  1. package/README.md +96 -27
  2. package/dist/cli.js +23 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/add-specs.d.ts.map +1 -1
  5. package/dist/commands/add-specs.js +4 -9
  6. package/dist/commands/add-specs.js.map +1 -1
  7. package/dist/commands/archive.d.ts +5 -0
  8. package/dist/commands/archive.d.ts.map +1 -0
  9. package/dist/commands/archive.js +52 -0
  10. package/dist/commands/archive.js.map +1 -0
  11. package/dist/commands/init.d.ts +1 -0
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +131 -14
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/list.d.ts.map +1 -1
  16. package/dist/commands/list.js +23 -3
  17. package/dist/commands/list.js.map +1 -1
  18. package/dist/commands/migrate.d.ts.map +1 -1
  19. package/dist/commands/migrate.js.map +1 -1
  20. package/dist/commands/refine.d.ts +8 -0
  21. package/dist/commands/refine.d.ts.map +1 -0
  22. package/dist/commands/refine.js +286 -0
  23. package/dist/commands/refine.js.map +1 -0
  24. package/dist/commands/specify.d.ts.map +1 -1
  25. package/dist/commands/specify.js +98 -15
  26. package/dist/commands/specify.js.map +1 -1
  27. package/dist/commands/validate.d.ts.map +1 -1
  28. package/dist/commands/validate.js.map +1 -1
  29. package/dist/utils/agentConfigGenerator.d.ts +15 -0
  30. package/dist/utils/agentConfigGenerator.d.ts.map +1 -0
  31. package/dist/utils/agentConfigGenerator.js +234 -0
  32. package/dist/utils/agentConfigGenerator.js.map +1 -0
  33. package/dist/utils/codeAnalyzer.js +10 -10
  34. package/dist/utils/codeAnalyzer.js.map +1 -1
  35. package/dist/utils/frameworks.d.ts +2 -0
  36. package/dist/utils/frameworks.d.ts.map +1 -0
  37. package/dist/utils/frameworks.js +11 -0
  38. package/dist/utils/frameworks.js.map +1 -0
  39. package/dist/utils/ideConfigGenerator.d.ts +20 -0
  40. package/dist/utils/ideConfigGenerator.d.ts.map +1 -0
  41. package/dist/utils/ideConfigGenerator.js +176 -0
  42. package/dist/utils/ideConfigGenerator.js.map +1 -0
  43. package/dist/utils/logger.d.ts.map +1 -1
  44. package/dist/utils/logger.js +27 -18
  45. package/dist/utils/logger.js.map +1 -1
  46. package/dist/utils/projectDetector.d.ts.map +1 -1
  47. package/dist/utils/projectDetector.js.map +1 -1
  48. package/dist/utils/projectMigrator.d.ts.map +1 -1
  49. package/dist/utils/projectMigrator.js +36 -33
  50. package/dist/utils/projectMigrator.js.map +1 -1
  51. package/dist/utils/specArchiver.d.ts +20 -0
  52. package/dist/utils/specArchiver.d.ts.map +1 -0
  53. package/dist/utils/specArchiver.js +124 -0
  54. package/dist/utils/specArchiver.js.map +1 -0
  55. package/dist/utils/specFileGenerator.d.ts +27 -0
  56. package/dist/utils/specFileGenerator.d.ts.map +1 -0
  57. package/dist/utils/specFileGenerator.js +805 -0
  58. package/dist/utils/specFileGenerator.js.map +1 -0
  59. package/dist/utils/specGenerator.d.ts +11 -14
  60. package/dist/utils/specGenerator.d.ts.map +1 -1
  61. package/dist/utils/specGenerator.js +25 -431
  62. package/dist/utils/specGenerator.js.map +1 -1
  63. package/dist/utils/specTreePrinter.d.ts +8 -0
  64. package/dist/utils/specTreePrinter.d.ts.map +1 -0
  65. package/dist/utils/specTreePrinter.js +38 -0
  66. package/dist/utils/specTreePrinter.js.map +1 -0
  67. package/dist/utils/specValidator.d.ts +3 -0
  68. package/dist/utils/specValidator.d.ts.map +1 -1
  69. package/dist/utils/specValidator.js +85 -10
  70. package/dist/utils/specValidator.js.map +1 -1
  71. package/dist/utils/templateEngine.d.ts +9 -3
  72. package/dist/utils/templateEngine.d.ts.map +1 -1
  73. package/dist/utils/templateEngine.js +44 -36
  74. package/dist/utils/templateEngine.js.map +1 -1
  75. package/package.json +10 -6
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentConfigGenerator = void 0;
4
+ const path_1 = require("path");
5
+ const fs_1 = require("fs");
6
+ /**
7
+ * Generates AI agent configuration files:
8
+ * - Cowork Skills (.claude/skills/specpilot-project/SKILL.md)
9
+ * - Codex Instructions (CODEX_INSTRUCTIONS.md at project root)
10
+ */
11
+ class AgentConfigGenerator {
12
+ constructor(templateEngine) {
13
+ this.templateEngine = templateEngine;
14
+ }
15
+ /** Entry point — routes to the correct agent config generator. */
16
+ async generate(projectDir, context, agent) {
17
+ switch (agent.toLowerCase()) {
18
+ case 'cowork':
19
+ await this.generateCoworkSkills(projectDir, context);
20
+ break;
21
+ case 'codex':
22
+ await this.generateCodexInstructions(projectDir, context);
23
+ break;
24
+ }
25
+ }
26
+ async generateCoworkSkills(projectDir, context) {
27
+ const skillsDir = (0, path_1.join)(projectDir, '.claude', 'skills', 'specpilot-project');
28
+ (0, fs_1.mkdirSync)(skillsDir, { recursive: true });
29
+ const skillContent = `---
30
+ name: specpilot-project
31
+ description: SpecPilot project context, specifications, and development guidelines. Use to understand project architecture, requirements, and AI interaction history.
32
+ ---
33
+
34
+ # SpecPilot Project Context
35
+
36
+ This Skill provides context about the {{projectName}} project structure, specifications, and development practices.
37
+
38
+ ## Quick Start
39
+
40
+ The project uses Specification-Driven Development (SDD). All context lives in the \`.specs/\` folder:
41
+
42
+ - **.specs/project/** - Project metadata and requirements
43
+ - **.specs/architecture/** - System design and API specifications
44
+ - **.specs/planning/** - Tasks, roadmap, and project management
45
+ - **.specs/quality/** - Testing strategies and quality guidelines
46
+ - **.specs/development/** - AI prompts, context, and development logs
47
+
48
+ ## Key Files to Reference
49
+
50
+ 1. **.specs/project/project.yaml** - Project configuration, rules, and tech stack
51
+ 2. **.specs/project/requirements.md** - Functional and non-functional requirements
52
+ 3. **.specs/architecture/architecture.md** - System architecture and design decisions
53
+ 4. **.specs/planning/tasks.md** - Current tasks, sprints, and priorities
54
+ 5. **.specs/development/prompts.md** - AI interaction history and onboarding guide
55
+
56
+ ## Project Rules
57
+
58
+ \`\`\`bash
59
+ # Always follow these mandates:
60
+ - Update .specs/ files when making changes
61
+ - Maintain .specs/ as single source of truth
62
+ - Never modify .specs/ folder structure or file names
63
+ - Document decisions in context.md
64
+ - Update prompts.md with AI interactions
65
+ - Follow stable ID conventions (REQ-###, TASK-###, ARCH-###)
66
+ \`\`\`
67
+
68
+ ## Architecture Overview
69
+
70
+ Project: {{projectName}}
71
+ Language: {{language}}
72
+ {{#if framework}}
73
+ Framework: {{framework}}
74
+ {{/if}}
75
+
76
+ ## Development Process
77
+
78
+ 1. Review requirements in .specs/project/requirements.md
79
+ 2. Check tasks in .specs/planning/tasks.md
80
+ 3. Reference architecture in .specs/architecture/architecture.md
81
+ 4. Update specs after major changes
82
+ 5. Document decisions and context
83
+
84
+ ## AI Onboarding
85
+
86
+ For full AI onboarding instructions, see **.specs/development/prompts.md**.
87
+ This includes a comprehensive first-use prompt for populating all specs.
88
+
89
+ ## Cross-References
90
+
91
+ All spec files link to each other for easy navigation. Follow the links in relative paths like:
92
+ - ../project/project.yaml
93
+ - ../architecture/architecture.md
94
+ - ../planning/tasks.md
95
+ `;
96
+ (0, fs_1.writeFileSync)((0, path_1.join)(skillsDir, 'SKILL.md'), skillContent
97
+ .replace(/\{\{projectName\}\}/g, context.projectName)
98
+ .replace(/\{\{language\}\}/g, context.language)
99
+ .replace(/{{#if framework}}/g, context.framework ? '' : '<!-- ')
100
+ .replace(/{{\/if}}/g, context.framework ? '' : ' -->'));
101
+ }
102
+ async generateCodexInstructions(projectDir, context) {
103
+ const codexInstructions = `# OpenAI Codex Instructions for {{projectName}}
104
+
105
+ This file provides context and guidelines for OpenAI Codex when working on {{projectName}}.
106
+
107
+ ## Project Overview
108
+
109
+ - **Project**: {{projectName}}
110
+ - **Language**: {{language}}
111
+ {{#if framework}}
112
+ - **Framework**: {{framework}}
113
+ {{/if}}
114
+ - **Author**: {{author}}
115
+ - **Description**: {{description}}
116
+
117
+ ## Specification-Driven Development
118
+
119
+ This project follows **Specification-Driven Development (SDD)** where specifications come first.
120
+
121
+ ### Specification Folder Structure
122
+
123
+ All project specifications live in the \`.specs/\` folder:
124
+
125
+ \`\`\`
126
+ .specs/
127
+ ├── project/ # Project configuration and requirements
128
+ │ ├── project.yaml # Project metadata, rules, tech stack
129
+ │ └── requirements.md # Functional/non-functional requirements
130
+ ├── architecture/ # System design and APIs
131
+ │ ├── architecture.md # Architecture decisions and design
132
+ │ └── api.yaml # API specifications
133
+ ├── planning/ # Development planning
134
+ │ ├── tasks.md # Task tracking (backlog, sprint, completed)
135
+ │ └── roadmap.md # Project roadmap and milestones
136
+ ├── quality/ # Quality assurance
137
+ │ └── tests.md # Test strategy and coverage
138
+ └── development/ # Development context
139
+ ├── prompts.md # AI interaction history and prompts
140
+ ├── context.md # Project context and decisions
141
+ └── docs.md # Development documentation
142
+ \`\`\`
143
+
144
+ ## Key Rules for Development
145
+
146
+ ### Mandate: Spec Updates
147
+ **Always update .specs/ files when making significant changes:**
148
+ - Update relevant spec files BEFORE committing code
149
+ - Update metadata (lastUpdated, version, contributors)
150
+ - Maintain cross-references between specs
151
+ - Document architectural decisions in context.md
152
+
153
+ ### Mandate: Stable IDs
154
+ Use stable ID conventions for traceability:
155
+ - **REQ-###**: Requirements
156
+ - **TASK-###**: Tasks
157
+ - **ARCH-###**: Architecture components
158
+ - **TEST-###**: Test cases
159
+
160
+ Zero-pad numbers: REQ-001, REQ-042, etc.
161
+
162
+ ### Mandate: Preserve .specs Folder Structure
163
+ **The .specs/ folder structure is IMMUTABLE and must never be altered.**
164
+ - ❌ Do NOT rename files or folders
165
+ - ❌ Do NOT move files between subfolders
166
+ - ❌ Do NOT delete files or folders
167
+ - ❌ Do NOT change file extensions
168
+ - ✅ DO update file CONTENTS and add sections
169
+ - ✅ DO add metadata headers and cross-references
170
+
171
+ The stable structure ensures AI agents can reliably locate specifications and automation tools function correctly.
172
+
173
+ ### Mandate: No Git Operations Without Approval
174
+ **Never commit, push, or publish without explicit user approval.**
175
+ Always ask before:
176
+ - Committing code
177
+ - Pushing to remote
178
+ - Creating tags or releases
179
+ - Publishing to NPM
180
+
181
+ ## Important Files to Review
182
+
183
+ 1. **.specs/project/project.yaml** - Read first for project rules and tech stack
184
+ 2. **.specs/project/requirements.md** - Requirements and constraints
185
+ 3. **.specs/architecture/architecture.md** - System design patterns
186
+ 4. **.specs/planning/tasks.md** - Current priorities and tasks
187
+
188
+ ## When Starting Work
189
+
190
+ 1. Read .specs/project/requirements.md for scope
191
+ 2. Check .specs/planning/tasks.md for current sprint
192
+ 3. Reference .specs/architecture/architecture.md for design guidelines
193
+ 4. Read relevant sections in .specs/development/context.md
194
+
195
+ ## When Finishing Work
196
+
197
+ 1. Update .specs/ files that were affected
198
+ 2. Update lastUpdated timestamps
199
+ 3. Increment version numbers (semantic versioning)
200
+ 4. Document decisions in .specs/development/context.md
201
+ 5. Update task status in .specs/planning/tasks.md
202
+
203
+ ## AI Interaction Best Practices
204
+
205
+ - Copy the first-use prompt from .specs/development/prompts.md for onboarding
206
+ - Log all significant interactions in .specs/development/prompts.md
207
+ - Reference spec IDs (REQ-001, TASK-###) in commit messages
208
+ - Keep .specs/development/context.md current with project state
209
+
210
+ ## Testing and Validation
211
+
212
+ Run \`specpilot validate\` to check:
213
+ - Metadata consistency
214
+ - Cross-reference validity
215
+ - Spec file structure compliance
216
+
217
+ ## Reference Documentation
218
+
219
+ - Full guide: See .specs/README.md for comprehensive documentation
220
+ - API spec: See .specs/architecture/api.yaml
221
+ - Project roadmap: See .specs/planning/roadmap.md
222
+ - Context history: See .specs/development/context.md
223
+
224
+ ---
225
+
226
+ *Last Generated: {{currentDate}}*
227
+ *For more details, see .specs/development/prompts.md*
228
+ `;
229
+ const rendered = this.templateEngine.renderFromString(codexInstructions, context);
230
+ (0, fs_1.writeFileSync)((0, path_1.join)(projectDir, 'CODEX_INSTRUCTIONS.md'), rendered);
231
+ }
232
+ }
233
+ exports.AgentConfigGenerator = AgentConfigGenerator;
234
+ //# sourceMappingURL=agentConfigGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentConfigGenerator.js","sourceRoot":"","sources":["../../src/utils/agentConfigGenerator.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,2BAA8C;AAG9C;;;;GAIG;AACH,MAAa,oBAAoB;IAC/B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEtD,kEAAkE;IAClE,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,OAAwB,EAAE,KAAa;QACxE,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,KAAK,QAAQ;gBACX,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,OAAwB;QAC7E,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC7E,IAAA,cAAS,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkExB,CAAC;QAEE,IAAA,kBAAa,EACX,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC,EAC3B,YAAY;aACT,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,WAAW,CAAC;aACpD,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC;aAC9C,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aAC/D,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACzD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,UAAkB,EAAE,OAAwB;QAClF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6H7B,CAAC;QAEE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClF,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,uBAAuB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CACF;AApOD,oDAoOC"}
@@ -44,13 +44,13 @@ class CodeAnalyzer {
44
44
  });
45
45
  }
46
46
  }
47
- catch (error) {
47
+ catch {
48
48
  // Skip files that can't be read
49
49
  continue;
50
50
  }
51
51
  }
52
52
  }
53
- catch (error) {
53
+ catch {
54
54
  // Skip directories that can't be read
55
55
  }
56
56
  return todos;
@@ -77,7 +77,7 @@ class CodeAnalyzer {
77
77
  testCount += testMatches.length;
78
78
  }
79
79
  // Categorize tests
80
- if (file.includes('e2e') || file.includes('integration')) {
80
+ if (file.includes('e2e')) {
81
81
  hasE2E = true;
82
82
  }
83
83
  else if (file.includes('integration')) {
@@ -87,7 +87,7 @@ class CodeAnalyzer {
87
87
  hasUnit = true;
88
88
  }
89
89
  }
90
- catch (error) {
90
+ catch {
91
91
  // Skip files that can't be read
92
92
  }
93
93
  });
@@ -116,12 +116,12 @@ class CodeAnalyzer {
116
116
  testFiles.push(fullPath.replace(dir + '/', ''));
117
117
  }
118
118
  }
119
- catch (error) {
119
+ catch {
120
120
  continue;
121
121
  }
122
122
  }
123
123
  }
124
- catch (error) {
124
+ catch {
125
125
  // Skip directories that can't be read
126
126
  }
127
127
  }
@@ -151,7 +151,7 @@ class CodeAnalyzer {
151
151
  return 'playwright';
152
152
  }
153
153
  }
154
- catch (error) {
154
+ catch {
155
155
  // No package.json or can't read it
156
156
  }
157
157
  // Check for Python test frameworks
@@ -165,7 +165,7 @@ class CodeAnalyzer {
165
165
  return 'unittest';
166
166
  }
167
167
  }
168
- catch (error) {
168
+ catch {
169
169
  // No requirements.txt
170
170
  }
171
171
  return undefined;
@@ -209,12 +209,12 @@ class CodeAnalyzer {
209
209
  result += `${prefix}${item}\n`;
210
210
  }
211
211
  }
212
- catch (error) {
212
+ catch {
213
213
  continue;
214
214
  }
215
215
  }
216
216
  }
217
- catch (error) {
217
+ catch {
218
218
  // Skip directories that can't be read
219
219
  }
220
220
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"codeAnalyzer.js","sourceRoot":"","sources":["../../src/utils/codeAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeAnalyzer.js","sourceRoot":"","sources":["../../src/utils/codeAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getFrameworksForLanguage(language: string): string[];
2
+ //# sourceMappingURL=frameworks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/utils/frameworks.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAOnE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFrameworksForLanguage = getFrameworksForLanguage;
4
+ function getFrameworksForLanguage(language) {
5
+ const frameworks = {
6
+ typescript: ['react', 'express', 'next', 'nest', 'vue', 'angular'],
7
+ python: ['fastapi', 'django', 'flask', 'streamlit']
8
+ };
9
+ return frameworks[language] || [];
10
+ }
11
+ //# sourceMappingURL=frameworks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../src/utils/frameworks.ts"],"names":[],"mappings":";;AAAA,4DAOC;AAPD,SAAgB,wBAAwB,CAAC,QAAgB;IACvD,MAAM,UAAU,GAA6B;QAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;QAClE,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;KACpD,CAAC;IAEF,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { TemplateContext } from './templateEngine';
2
+ /**
3
+ * Generates IDE workspace settings (.vscode, .cursor, .windsurf, .kiro, .antigravity).
4
+ * Each IDE gets a settings.json and extensions.json with a shared base config
5
+ * plus per-IDE overlay keys.
6
+ */
7
+ export declare class IdeConfigGenerator {
8
+ /** Entry point — routes to the correct IDE settings generator. */
9
+ generate(projectDir: string, context: TemplateContext, ide: string): Promise<void>;
10
+ /**
11
+ * Generates .github/copilot-instructions.md with critical mandates.
12
+ * Read automatically by GitHub Copilot, Cursor, and other AI tools on every request.
13
+ * Always generated regardless of IDE choice.
14
+ */
15
+ generateCopilotInstructions(projectDir: string, context: TemplateContext): Promise<void>;
16
+ private buildCopilotInstructions;
17
+ private generateIDESettings;
18
+ private buildSettingsJson;
19
+ }
20
+ //# sourceMappingURL=ideConfigGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/ideConfigGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA0CnD;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,kEAAkE;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxF;;;;OAIG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9F,OAAO,CAAC,wBAAwB;YAwClB,mBAAmB;IAsBjC,OAAO,CAAC,iBAAiB;CA2D1B"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdeConfigGenerator = void 0;
4
+ const path_1 = require("path");
5
+ const fs_1 = require("fs");
6
+ /** IDE-specific overlay keys appended on top of the shared base settings.
7
+ * NOTE: These keys are aspirational — they are NOT confirmed in each IDE's
8
+ * official documentation. Unknown keys are silently ignored, but they are
9
+ * included here as hints for IDEs that may adopt spec-aware settings in future.
10
+ * Remove any keys that cause warnings in your specific IDE version.
11
+ */
12
+ const IDE_OVERRIDES = {
13
+ cursor: {
14
+ // ASPIRATIONAL — not in official Cursor docs
15
+ 'cursor.aiAccess': true,
16
+ 'cursor.enableAIContext': true,
17
+ },
18
+ windsurf: {
19
+ // ASPIRATIONAL — not in official Windsurf docs
20
+ 'windsurf.aiContext.enabled': true,
21
+ 'windsurf.specs.integration': true,
22
+ 'windsurf.codeCompletion.contextAware': true,
23
+ },
24
+ kiro: {
25
+ // ASPIRATIONAL — not in official Kiro docs
26
+ 'kiro.ai.contextAware': true,
27
+ 'kiro.specs.enabled': true,
28
+ },
29
+ antigravity: {
30
+ // ASPIRATIONAL — not in official Antigravity docs
31
+ 'antigravity.ai.enabled': true,
32
+ 'antigravity.contextual': true,
33
+ 'antigravity.specs.integration': true,
34
+ },
35
+ };
36
+ /** IDE directory names used for settings files. */
37
+ const IDE_DIRS = {
38
+ vscode: '.vscode',
39
+ cursor: '.cursor',
40
+ windsurf: '.windsurf',
41
+ kiro: '.kiro',
42
+ antigravity: '.antigravity',
43
+ };
44
+ /**
45
+ * Generates IDE workspace settings (.vscode, .cursor, .windsurf, .kiro, .antigravity).
46
+ * Each IDE gets a settings.json and extensions.json with a shared base config
47
+ * plus per-IDE overlay keys.
48
+ */
49
+ class IdeConfigGenerator {
50
+ /** Entry point — routes to the correct IDE settings generator. */
51
+ async generate(projectDir, context, ide) {
52
+ await this.generateIDESettings(projectDir, context, ide);
53
+ }
54
+ /**
55
+ * Generates .github/copilot-instructions.md with critical mandates.
56
+ * Read automatically by GitHub Copilot, Cursor, and other AI tools on every request.
57
+ * Always generated regardless of IDE choice.
58
+ */
59
+ async generateCopilotInstructions(projectDir, context) {
60
+ const githubDir = (0, path_1.join)(projectDir, '.github');
61
+ (0, fs_1.mkdirSync)(githubDir, { recursive: true });
62
+ (0, fs_1.writeFileSync)((0, path_1.join)(githubDir, 'copilot-instructions.md'), this.buildCopilotInstructions(context));
63
+ }
64
+ buildCopilotInstructions(context) {
65
+ const stack = context.framework
66
+ ? `${context.language} / ${context.framework}`
67
+ : context.language;
68
+ return `# AI Coding Instructions — ${context.projectName}
69
+
70
+ > This file is automatically read by GitHub Copilot, Cursor, and other AI tools on every request.
71
+ > Keep this file short — only critical mandates. Full context is in \`.specs/project/project.yaml\`.
72
+
73
+ ## Project
74
+
75
+ - **Name:** ${context.projectName}
76
+ - **Stack:** ${stack}
77
+ - **Specs location:** \`.specs/\`
78
+
79
+ ## 🔴 Critical Mandates — Never violate, no exceptions
80
+
81
+ 1. **NEVER commit** code to git unless the developer explicitly asks. Always ask first.
82
+ 2. **NEVER push** to git unless the developer explicitly asks. Always ask first.
83
+ 3. **NEVER deploy, publish, or release** the project unless the developer explicitly asks. Always ask first.
84
+ 4. **NEVER modify** the \`.specs/\` folder structure, subfolder names, or file names. Only update file contents.
85
+ 5. **ALWAYS update** affected \`.specs/\` files after every code change — without being asked:
86
+ - Structural changes → \`architecture/architecture.md\`
87
+ - Feature changes → \`project/requirements.md\`
88
+ - Test changes → \`quality/tests.md\`
89
+ - Task status → \`planning/tasks.md\`
90
+ - Completed work → \`CHANGELOG.md\`
91
+
92
+ ## 🟡 Process Mandates
93
+
94
+ - **Spec-First:** Update \`.specs/\` before writing code.
95
+ - **Log all AI interactions** in \`.specs/development/prompts.md\` with timestamps.
96
+ - **Document decisions** in \`.specs/development/context.md\`.
97
+
98
+ ## Re-Anchor
99
+
100
+ If you lose context mid-session, read \`.specs/project/project.yaml\` to restore full project context.\nFor a ready-made re-anchor prompt, see \`.specs/development/prompts.md → ## Re-Anchor Prompt\`.
101
+ `;
102
+ }
103
+ async generateIDESettings(projectDir, context, ide) {
104
+ const key = ide.toLowerCase();
105
+ const ideDir = IDE_DIRS[key] ?? '.vscode';
106
+ const overrides = IDE_OVERRIDES[key] ?? {};
107
+ const fullDir = (0, path_1.join)(projectDir, ideDir);
108
+ (0, fs_1.mkdirSync)(fullDir, { recursive: true });
109
+ const settingsWithComment = this.buildSettingsJson(ide, context, overrides);
110
+ (0, fs_1.writeFileSync)((0, path_1.join)(fullDir, 'settings.json'), settingsWithComment);
111
+ const extensions = {
112
+ recommendations: [
113
+ 'esbenp.prettier-vscode',
114
+ 'redhat.vscode-yaml',
115
+ 'github.copilot',
116
+ 'ms-vscode.vscode-typescript-next',
117
+ ],
118
+ unwantedRecommendations: [],
119
+ };
120
+ (0, fs_1.writeFileSync)((0, path_1.join)(fullDir, 'extensions.json'), JSON.stringify(extensions, null, 2));
121
+ }
122
+ buildSettingsJson(ide, context, overrides) {
123
+ const displayName = ide === 'vscode' ? 'VS Code' : ide.charAt(0).toUpperCase() + ide.slice(1);
124
+ const noteComment = ide === 'vscode'
125
+ ? '// Copy the "First-Use Onboarding Prompt" and paste into your AI agent to populate specs'
126
+ : `// Copy the "First-Use Onboarding Prompt" and paste into ${displayName}'s AI chat to populate specs`;
127
+ // Build override lines
128
+ const overrideLines = Object.entries(overrides)
129
+ .map(([k, v]) => ` "${k}": ${JSON.stringify(v)},`)
130
+ .join('\n');
131
+ const overrideBlock = overrideLines
132
+ ? `\n // ${displayName}-specific AI settings (ASPIRATIONAL — not confirmed in official docs; unknown keys are silently ignored)\n${overrideLines}\n`
133
+ : '';
134
+ return `{
135
+ // SpecPilot AI IDE Configuration${ide !== 'vscode' ? ` for ${displayName}` : ''}
136
+ // This file configures ${displayName} to work effectively with SpecPilot specs
137
+
138
+ // AI CONTEXT: The recommended way to give AI agents access to your .specs files
139
+ // is via .github/copilot-instructions.md (VS Code Copilot) or your IDE's equivalent
140
+ // custom instructions file. See .specs/development/prompts.md for guidelines.
141
+ ${noteComment}
142
+
143
+ // Ensure .specs folder is included in workspace search (not excluded)
144
+ "search.exclude": {
145
+ "**/.specs/*": false
146
+ },
147
+
148
+ // Markdown formatting for spec files
149
+ "[markdown]": {
150
+ "editor.wordWrap": "on",
151
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
152
+ },
153
+
154
+ // YAML formatting for spec files (project.yaml, api.yaml)
155
+ "[yaml]": {
156
+ "editor.insertSpaces": true,
157
+ "editor.tabSize": 2
158
+ },
159
+
160
+ // YAML validation (requires redhat.vscode-yaml extension)
161
+ "yaml.validate": true,
162
+ "yaml.schemas": {
163
+ "https://json.schemastore.org/github-workflow.json": ".github/workflows/*.{yml,yaml}"
164
+ },
165
+
166
+ // General file exclusions
167
+ "files.exclude": {
168
+ "**/.git": true,
169
+ "**/node_modules": true,
170
+ "**/__pycache__": true
171
+ }${overrideBlock}
172
+ }`;
173
+ }
174
+ }
175
+ exports.IdeConfigGenerator = IdeConfigGenerator;
176
+ //# sourceMappingURL=ideConfigGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideConfigGenerator.js","sourceRoot":"","sources":["../../src/utils/ideConfigGenerator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAcnB;IAEF,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAYxC,cAAc,IAAI,IAAI;IAqBtB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoCtL,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsCxJ,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAuBnF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAE,OAAc,GAAG,IAAI;IAgBnF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CASlD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAOnB;IAIF,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAYxC,cAAc,IAAI,IAAI;IA4BtB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoCtL,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsCxJ,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IA0BnF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAE,OAAc,GAAG,IAAI;IAgBnF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CASlD"}