specpilot 1.6.3 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +26 -11
  2. package/dist/cli.js +15 -3
  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 +27 -8
  6. package/dist/commands/add-specs.js.map +1 -1
  7. package/dist/commands/archive.d.ts +1 -0
  8. package/dist/commands/archive.d.ts.map +1 -1
  9. package/dist/commands/archive.js +66 -0
  10. package/dist/commands/archive.js.map +1 -1
  11. package/dist/commands/backfill.d.ts +8 -0
  12. package/dist/commands/backfill.d.ts.map +1 -0
  13. package/dist/commands/backfill.js +111 -0
  14. package/dist/commands/backfill.js.map +1 -0
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +18 -11
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/utils/ideConfigGenerator.d.ts +23 -1
  19. package/dist/utils/ideConfigGenerator.d.ts.map +1 -1
  20. package/dist/utils/ideConfigGenerator.js +192 -31
  21. package/dist/utils/ideConfigGenerator.js.map +1 -1
  22. package/dist/utils/logger.d.ts.map +1 -1
  23. package/dist/utils/logger.js +3 -2
  24. package/dist/utils/logger.js.map +1 -1
  25. package/dist/utils/specArchiver.js +4 -4
  26. package/dist/utils/specArchiver.js.map +1 -1
  27. package/dist/utils/specBackfiller.d.ts +78 -0
  28. package/dist/utils/specBackfiller.d.ts.map +1 -0
  29. package/dist/utils/specBackfiller.js +583 -0
  30. package/dist/utils/specBackfiller.js.map +1 -0
  31. package/dist/utils/specFileGenerator.d.ts.map +1 -1
  32. package/dist/utils/specFileGenerator.js +25 -3
  33. package/dist/utils/specFileGenerator.js.map +1 -1
  34. package/dist/utils/specGenerator.d.ts.map +1 -1
  35. package/dist/utils/specGenerator.js +4 -3
  36. package/dist/utils/specGenerator.js.map +1 -1
  37. package/dist/utils/specValidator.d.ts +2 -0
  38. package/dist/utils/specValidator.d.ts.map +1 -1
  39. package/dist/utils/specValidator.js +10 -10
  40. package/dist/utils/specValidator.js.map +1 -1
  41. package/dist/utils/templateEngine.d.ts.map +1 -1
  42. package/dist/utils/templateEngine.js +3 -0
  43. package/dist/utils/templateEngine.js.map +1 -1
  44. package/package.json +2 -2
  45. package/dist/commands/specify.d.ts +0 -8
  46. package/dist/commands/specify.d.ts.map +0 -1
  47. package/dist/commands/specify.js +0 -286
  48. package/dist/commands/specify.js.map +0 -1
  49. package/dist/utils/templateRegistry.d.ts +0 -14
  50. package/dist/utils/templateRegistry.d.ts.map +0 -1
  51. package/dist/utils/templateRegistry.js +0 -87
  52. package/dist/utils/templateRegistry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ideConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/ideConfigGenerator.ts"],"names":[],"mappings":"AAGA,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;;;;;;;;OAQG;IACG,2BAA2B,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAyChB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,wBAAwB;YAwClB,mBAAmB;IAsBjC,OAAO,CAAC,iBAAiB;CA2D1B"}
1
+ {"version":3,"file":"ideConfigGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/ideConfigGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoCnD;;;;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;;;;;;;;OAQG;IACH;;;;;;OAMG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,MAAM,EACX,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAgBhB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,wBAAwB;YAMlB,gBAAgB;IA2C9B,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,oBAAoB;IAiCtB,2BAA2B,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAyChB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,6BAA6B;IAgBrC,OAAO,CAAC,4BAA4B;YAMtB,mBAAmB;IAsBjC,OAAO,CAAC,iBAAiB;IA4DzB;;;;OAIG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAqBhD"}
@@ -25,11 +25,6 @@ const IDE_OVERRIDES = {
25
25
  'windsurf.specs.integration': true,
26
26
  'windsurf.codeCompletion.contextAware': true,
27
27
  },
28
- kiro: {
29
- // ASPIRATIONAL — not in official Kiro docs
30
- 'kiro.ai.contextAware': true,
31
- 'kiro.specs.enabled': true,
32
- },
33
28
  antigravity: {
34
29
  // ASPIRATIONAL — not in official Antigravity docs
35
30
  'antigravity.ai.enabled': true,
@@ -42,11 +37,10 @@ const IDE_DIRS = {
42
37
  vscode: '.vscode',
43
38
  cursor: '.cursor',
44
39
  windsurf: '.windsurf',
45
- kiro: '.kiro',
46
40
  antigravity: '.antigravity',
47
41
  };
48
42
  /**
49
- * Generates IDE workspace settings (.vscode, .cursor, .windsurf, .kiro, .antigravity).
43
+ * Generates IDE workspace settings (.vscode, .cursor, .windsurf, .antigravity).
50
44
  * Each IDE gets a settings.json and extensions.json with a shared base config
51
45
  * plus per-IDE overlay keys.
52
46
  */
@@ -64,6 +58,152 @@ class IdeConfigGenerator {
64
58
  * - noPrompts=false → asks user: overwrite / append / skip
65
59
  * - noPrompts=true → auto-skips and prints a warning
66
60
  */
61
+ /**
62
+ * Routes to the correct IDE-native AI context file based on the selected IDE.
63
+ * - vscode / codex → .github/copilot-instructions.md
64
+ * - cursor → .cursor/rules/project.mdc
65
+ * - windsurf → .windsurfrules
66
+ * - antigravity → .antigravity/rules.md
67
+ */
68
+ async generateAiContextFile(projectDir, context, ide, noPrompts = false) {
69
+ const key = ide.toLowerCase();
70
+ if (key === 'cursor') {
71
+ await this.generateCursorRules(projectDir, context);
72
+ }
73
+ else if (key === 'windsurf') {
74
+ await this.generateWindsurfRules(projectDir, context);
75
+ }
76
+ else if (key === 'antigravity') {
77
+ await this.generateAntigravityRules(projectDir, context);
78
+ }
79
+ else if (key === 'cowork') {
80
+ await this.generateClaudeMd(projectDir, context, noPrompts);
81
+ }
82
+ else {
83
+ // vscode, codex, and unknown IDEs → copilot-instructions.md
84
+ await this.generateCopilotInstructions(projectDir, context, noPrompts);
85
+ }
86
+ }
87
+ generateCursorRules(projectDir, context) {
88
+ const rulesDir = (0, path_1.join)(projectDir, '.cursor', 'rules');
89
+ (0, fs_1.mkdirSync)(rulesDir, { recursive: true });
90
+ const filePath = (0, path_1.join)(rulesDir, 'project.mdc');
91
+ const content = `---\ndescription: Project mandates and AI coding rules\nglobs:\nalwaysApply: true\n---\n\n` +
92
+ this.buildCopilotInstructions(context);
93
+ (0, fs_1.writeFileSync)(filePath, content);
94
+ }
95
+ generateWindsurfRules(projectDir, context) {
96
+ const filePath = (0, path_1.join)(projectDir, '.windsurfrules');
97
+ (0, fs_1.writeFileSync)(filePath, this.buildCopilotInstructions(context));
98
+ }
99
+ generateAntigravityRules(projectDir, context) {
100
+ const rulesDir = (0, path_1.join)(projectDir, '.antigravity');
101
+ (0, fs_1.mkdirSync)(rulesDir, { recursive: true });
102
+ (0, fs_1.writeFileSync)((0, path_1.join)(rulesDir, 'rules.md'), this.buildCopilotInstructions(context));
103
+ }
104
+ async generateClaudeMd(projectDir, context, noPrompts = false) {
105
+ const filePath = (0, path_1.join)(projectDir, 'CLAUDE.md');
106
+ if (!(0, fs_1.existsSync)(filePath)) {
107
+ (0, fs_1.writeFileSync)(filePath, this.buildClaudeMd(context));
108
+ return;
109
+ }
110
+ // File already exists
111
+ if (noPrompts) {
112
+ console.log('\u26a0\ufe0f CLAUDE.md already exists \u2014 skipping (--no-prompts).\n' +
113
+ ' Manually merge the SpecPilot mandates shown below into that file:\n\n' +
114
+ this.buildClaudeMdSection(context));
115
+ return;
116
+ }
117
+ const { action } = await inquirer_1.default.prompt([
118
+ {
119
+ type: 'list',
120
+ name: 'action',
121
+ message: '\u26a0\ufe0f CLAUDE.md already exists. What would you like to do?',
122
+ choices: [
123
+ { name: 'Overwrite with SpecPilot template', value: 'o' },
124
+ { name: 'Append SpecPilot section to existing file', value: 'a' },
125
+ { name: 'Skip (keep existing file unchanged)', value: 's' },
126
+ ],
127
+ },
128
+ ]);
129
+ if (action === 'o') {
130
+ (0, fs_1.writeFileSync)(filePath, this.buildClaudeMd(context));
131
+ }
132
+ else if (action === 'a') {
133
+ (0, fs_1.appendFileSync)(filePath, '\n\n' + this.buildClaudeMdSection(context));
134
+ }
135
+ // action === 's' → leave file unchanged
136
+ }
137
+ buildClaudeMd(context) {
138
+ const stack = context.framework
139
+ ? `${context.language} / ${context.framework}`
140
+ : context.language;
141
+ return `# CLAUDE.md \u2014 ${context.projectName}
142
+
143
+ > This file is the primary instructions file for Claude Code / Cowork.
144
+ > Keep it lean \u2014 use it as a router to your \`.specs/\` files, not a dumping ground.
145
+ > Full project context is in \`.specs/project/project.yaml\`.
146
+
147
+ ## Project
148
+
149
+ - **Name:** ${context.projectName}
150
+ - **Stack:** ${stack}
151
+ - **Specs location:** \`.specs/\`
152
+
153
+ ## \ud83d\udd34 Critical Mandates \u2014 Never violate, no exceptions
154
+
155
+ ${this.buildCriticalMandatesMarkdown()}
156
+
157
+ ## \ud83d\udfe1 Process Mandates
158
+
159
+ ${this.buildProcessMandatesMarkdown()}
160
+
161
+ ## Context Files \u2014 Read in this order
162
+
163
+ 1. \`.specs/project/project.yaml\` \u2014 project config, rules, tech stack
164
+ 2. \`.specs/project/requirements.md\` \u2014 functional and non-functional requirements
165
+ 3. \`.specs/architecture/architecture.md\` \u2014 system design and decisions
166
+ 4. \`.specs/planning/tasks.md\` \u2014 current sprint and backlog
167
+ 5. \`.claude/skills/specpilot-project/SKILL.md\` \u2014 project skill context
168
+
169
+ ## Re-Anchor
170
+
171
+ If you lose context mid-session, read \`.specs/project/project.yaml\` to restore full project context.
172
+ For a ready-made re-anchor prompt, see \`.specs/development/prompts.md \u2192 ## Re-Anchor Prompt\`.
173
+ `;
174
+ }
175
+ buildClaudeMdSection(context) {
176
+ const stack = context.framework
177
+ ? `${context.language} / ${context.framework}`
178
+ : context.language;
179
+ return `## SpecPilot Mandates \u2014 ${context.projectName}
180
+
181
+ > Added by \`specpilot add-specs\`. These mandates apply alongside your existing instructions.
182
+ > Full context is in \`.specs/project/project.yaml\`.
183
+
184
+ ### Project
185
+
186
+ - **Name:** ${context.projectName}
187
+ - **Stack:** ${stack}
188
+ - **Specs location:** \`.specs/\`
189
+
190
+ ### \ud83d\udd34 Critical Mandates \u2014 Never violate, no exceptions
191
+
192
+ ${this.buildCriticalMandatesMarkdown()}
193
+
194
+ ### \ud83d\udfe1 Process Mandates
195
+
196
+ ${this.buildProcessMandatesMarkdown()}
197
+
198
+ ### Context Files \u2014 Read in this order
199
+
200
+ 1. \`.specs/project/project.yaml\` \u2014 project config, rules, tech stack
201
+ 2. \`.specs/project/requirements.md\` \u2014 functional and non-functional requirements
202
+ 3. \`.specs/architecture/architecture.md\` \u2014 system design and decisions
203
+ 4. \`.specs/planning/tasks.md\` \u2014 current sprint and backlog
204
+ 5. \`.claude/skills/specpilot-project/SKILL.md\` \u2014 project skill context
205
+ `;
206
+ }
67
207
  async generateCopilotInstructions(projectDir, context, noPrompts = false) {
68
208
  const githubDir = (0, path_1.join)(projectDir, '.github');
69
209
  (0, fs_1.mkdirSync)(githubDir, { recursive: true });
@@ -120,22 +260,11 @@ class IdeConfigGenerator {
120
260
 
121
261
  ### 🔴 Critical Mandates — Never violate, no exceptions
122
262
 
123
- 1. **NEVER commit** code to git unless the developer explicitly asks. Always ask first.
124
- 2. **NEVER push** to git unless the developer explicitly asks. Always ask first.
125
- 3. **NEVER deploy, publish, or release** the project unless the developer explicitly asks. Always ask first.
126
- 4. **NEVER modify** the \`.specs/\` folder structure, subfolder names, or file names. Only update file contents.
127
- 5. **ALWAYS update** affected \`.specs/\` files after every code change — without being asked:
128
- - Structural changes → \`architecture/architecture.md\`
129
- - Feature changes → \`project/requirements.md\`
130
- - Test changes → \`quality/tests.md\`
131
- - Task status → \`planning/tasks.md\`
132
- - Completed work → \`CHANGELOG.md\`
263
+ ${this.buildCriticalMandatesMarkdown()}
133
264
 
134
265
  ### 🟡 Process Mandates
135
266
 
136
- - **Spec-First:** Update \`.specs/\` before writing code.
137
- - **Log all AI interactions** in \`.specs/development/prompts.md\` with timestamps.
138
- - **Document decisions** in \`.specs/development/context.md\`.
267
+ ${this.buildProcessMandatesMarkdown()}
139
268
 
140
269
  ### Re-Anchor
141
270
 
@@ -160,7 +289,19 @@ For a ready-made re-anchor prompt, see \`.specs/development/prompts.md → ## Re
160
289
 
161
290
  ## 🔴 Critical Mandates — Never violate, no exceptions
162
291
 
163
- 1. **NEVER commit** code to git unless the developer explicitly asks. Always ask first.
292
+ ${this.buildCriticalMandatesMarkdown()}
293
+
294
+ ## 🟡 Process Mandates
295
+
296
+ ${this.buildProcessMandatesMarkdown()}
297
+
298
+ ## Re-Anchor
299
+
300
+ 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\`.
301
+ `;
302
+ }
303
+ buildCriticalMandatesMarkdown() {
304
+ return `1. **NEVER commit** code to git unless the developer explicitly asks. Always ask first.
164
305
  2. **NEVER push** to git unless the developer explicitly asks. Always ask first.
165
306
  3. **NEVER deploy, publish, or release** the project unless the developer explicitly asks. Always ask first.
166
307
  4. **NEVER modify** the \`.specs/\` folder structure, subfolder names, or file names. Only update file contents.
@@ -170,17 +311,14 @@ For a ready-made re-anchor prompt, see \`.specs/development/prompts.md → ## Re
170
311
  - Test changes → \`quality/tests.md\`
171
312
  - Task status → \`planning/tasks.md\`
172
313
  - Completed work → \`CHANGELOG.md\`
173
-
174
- ## 🟡 Process Mandates
175
-
176
- - **Spec-First:** Update \`.specs/\` before writing code.
314
+ 6. **NEVER describe, quote, or reference file contents** without first reading the file via a tool call in this session. If you have not read the file yet, say so explicitly before answering.
315
+ 7. **NEVER implement, write code, or make file changes** unless the developer explicitly asks. If the next step seems obvious, ask first — do not assume.
316
+ 8. **SPEC-FIRST review gate**: Before touching any code or non-spec files, read all relevant \`.specs/\` files, update all affected spec files first, present a **Spec Report** summarizing what changed, which files were affected, and what the specs now say, then wait for the developer's explicit \`yes, proceed\` before writing code. If the developer declines, revert the spec changes and stop.`;
317
+ }
318
+ buildProcessMandatesMarkdown() {
319
+ return `- **Spec-First:** Update \`.specs/\` before writing code.
177
320
  - **Log all AI interactions** in \`.specs/development/prompts.md\` with timestamps.
178
- - **Document decisions** in \`.specs/development/context.md\`.
179
-
180
- ## Re-Anchor
181
-
182
- 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\`.
183
- `;
321
+ - **Document decisions** in \`.specs/development/context.md\`.`;
184
322
  }
185
323
  async generateIDESettings(projectDir, context, ide) {
186
324
  const key = ide.toLowerCase();
@@ -253,6 +391,29 @@ If you lose context mid-session, read \`.specs/project/project.yaml\` to restore
253
391
  }${overrideBlock}
254
392
  }`;
255
393
  }
394
+ /**
395
+ * Generates (or updates) .gitattributes at project root with merge=union rules
396
+ * for append-heavy spec files, preventing git merge conflicts on shared branches.
397
+ * If the file already exists, only missing lines are appended.
398
+ */
399
+ generateGitAttributes(projectDir) {
400
+ const GITATTRIBUTES_LINES = [
401
+ '.specs/development/prompts*.md merge=union',
402
+ '.specs/planning/tasks.md merge=union',
403
+ 'CHANGELOG.md merge=union',
404
+ ];
405
+ const filePath = (0, path_1.join)(projectDir, '.gitattributes');
406
+ if (!(0, fs_1.existsSync)(filePath)) {
407
+ (0, fs_1.writeFileSync)(filePath, GITATTRIBUTES_LINES.join('\n') + '\n');
408
+ return;
409
+ }
410
+ const existing = (0, fs_1.readFileSync)(filePath, 'utf8');
411
+ const missing = GITATTRIBUTES_LINES.filter(line => !existing.includes(line));
412
+ if (missing.length > 0) {
413
+ const suffix = existing.endsWith('\n') ? '' : '\n';
414
+ (0, fs_1.appendFileSync)(filePath, suffix + missing.join('\n') + '\n');
415
+ }
416
+ }
256
417
  }
257
418
  exports.IdeConfigGenerator = IdeConfigGenerator;
258
419
  //# sourceMappingURL=ideConfigGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ideConfigGenerator.js","sourceRoot":"","sources":["../../src/utils/ideConfigGenerator.ts"],"names":[],"mappings":"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"}
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":"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"}
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;IA6BtB,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"}
@@ -59,12 +59,13 @@ class Logger {
59
59
  chalk_1.default.white(' • add-specs|add [options] - Add specs to existing project'),
60
60
  chalk_1.default.white(' • validate|v [options] - Validate specification files'),
61
61
  chalk_1.default.white(' • archive|ar [options] - Archive oversized prompts.md / tasks.md entries'),
62
+ chalk_1.default.white(' • backfill|bf [options] - Backfill missing mandates into existing projects'),
62
63
  chalk_1.default.white(' • list|ls [options] - Show available templates'),
63
- chalk_1.default.white(' • migrate|m [options] - Migrate between spec versions'),
64
+ chalk_1.default.white(' • migrate|m [options] - Convert legacy .project-spec folder (rarely needed)'),
64
65
  chalk_1.default.white(' • refine|ref [options] [desc]- Refine project specifications from natural language description'),
65
66
  '',
66
67
  chalk_1.default.cyan('Aliases:'),
67
- chalk_1.default.white(' init→i validate→v migrate→m list→ls refine→ref archive→ar add-specs→add'),
68
+ chalk_1.default.white(' init→i validate→v migrate→m list→ls refine→ref archive→ar add-specs→add backfill→bf'),
68
69
  '',
69
70
  chalk_1.default.yellow('⚠️ Tip: Use --help for detailed command options, e.g. specpilot init --help'),
70
71
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@ const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const SPECS_DIR_CANDIDATES = ['.specs', '.project-spec', 'specs', 'specifications'];
7
7
  /** Trim prompts.md to this many total lines after archiving. */
8
- const PROMPTS_LINE_LIMIT = 300;
9
- const PROMPTS_KEEP_LINES = 250;
8
+ const PROMPTS_LINE_LIMIT = 100;
9
+ const PROMPTS_KEEP_LINES = 80;
10
10
  /** Archive tasks.md Completed section when it exceeds this many lines. */
11
- const COMPLETED_LINE_LIMIT = 150;
11
+ const COMPLETED_LINE_LIMIT = 25;
12
12
  /** How many Completed entries to retain in the active file. */
13
- const COMPLETED_KEEP_ENTRIES = 100;
13
+ const COMPLETED_KEEP_ENTRIES = 20;
14
14
  class SpecArchiver {
15
15
  findSpecsDir(projectDir) {
16
16
  for (const name of SPECS_DIR_CANDIDATES) {
@@ -1 +1 @@
1
- {"version":3,"file":"specArchiver.js","sourceRoot":"","sources":["../../src/utils/specArchiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specArchiver.js","sourceRoot":"","sources":["../../src/utils/specArchiver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ export interface BackfillFileResult {
2
+ action: 'updated' | 'created' | 'skipped' | 'missing';
3
+ found: number;
4
+ total: number;
5
+ added: string[];
6
+ reason?: string;
7
+ }
8
+ export interface IdeFileBackfillResult {
9
+ path: string;
10
+ action: 'updated' | 'created' | 'skipped' | 'missing' | 'stale';
11
+ found: number;
12
+ total: number;
13
+ added: string[];
14
+ reason?: string;
15
+ }
16
+ export interface BackfillResult {
17
+ projectYaml: BackfillFileResult;
18
+ copilotInstructions: BackfillFileResult;
19
+ tasksMd: BackfillFileResult;
20
+ ideFiles: IdeFileBackfillResult[];
21
+ }
22
+ export declare class SpecBackfiller {
23
+ backfill(projectDir: string, specsName: string, dryRun: boolean, noPrompts?: boolean): Promise<BackfillResult>;
24
+ private backfillProjectYaml;
25
+ /**
26
+ * Text-based (not yaml.dump) insertion — preserves comments, emoji, and formatting.
27
+ *
28
+ * Strategy: find the last ` - "MANDATE:` line in the file and insert
29
+ * missing mandate lines immediately after it. If no MANDATE lines exist yet,
30
+ * find the ` critical:` key and append after it. As a final fallback, append
31
+ * a complete `critical:` block at the end of the file.
32
+ */
33
+ private insertYamlMandates;
34
+ private backfillCopilotInstructions;
35
+ private buildMdBackfillBlock;
36
+ private backfillIdeFiles;
37
+ private backfillMarkdownIdeFile;
38
+ private checkSkillFile;
39
+ /**
40
+ * Reads the first entry from `contributors:` list in project.yaml.
41
+ * Handles both inline (`contributors: ["girishr"]`) and block-list forms.
42
+ * Falls back to os.userInfo().username if not found.
43
+ */
44
+ private readContributorsFirst;
45
+ /**
46
+ * Writes `team:\n devPrefix: "<handle>"` into project.yaml after the `license:` line.
47
+ * If a `team:` block already exists (but devPrefix is missing), inserts devPrefix inside it.
48
+ * Text-based insertion — does not parse YAML to preserve formatting.
49
+ */
50
+ private writeDevPrefix;
51
+ /**
52
+ * When team.devPrefix is absent from project.yaml:
53
+ * - Reads contributors[0] as suggestion (fallback: os.userInfo().username)
54
+ * - Prompts user (unless noPrompts or dryRun), looping until non-empty
55
+ * - Writes devPrefix into project.yaml (skipped on dryRun)
56
+ */
57
+ private ensureDevPrefix;
58
+ /**
59
+ * Prompts the user for their short handle, suggesting contributors[0].
60
+ * Loops until a non-empty value is provided.
61
+ */
62
+ private promptHandle;
63
+ /**
64
+ * Reads a top-level scalar field from project.yaml using a simple regex.
65
+ * Handles both quoted (`name: "My Project"`) and unquoted (`name: my-project`) values.
66
+ * Does not parse YAML to preserve formatting safety.
67
+ */
68
+ private readProjectField;
69
+ /**
70
+ * Reads `team.devPrefix` from project.yaml.
71
+ * The field is nested under a `team:` block, e.g.:
72
+ * team:
73
+ * devPrefix: "girishr"
74
+ */
75
+ private readDevPrefix;
76
+ private backfillTasksMd;
77
+ }
78
+ //# sourceMappingURL=specBackfiller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specBackfiller.d.ts","sourceRoot":"","sources":["../../src/utils/specBackfiller.ts"],"names":[],"mappings":"AA4GA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,kBAAkB,CAAC;IAChC,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED,qBAAa,cAAc;IACnB,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,cAAc,CAAC;IAyB1B,OAAO,CAAC,mBAAmB;IAiC3B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;YA+BZ,2BAA2B;IA6CzC,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,cAAc;IA2CtB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;;;OAKG;YACW,eAAe;IAsB7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,eAAe;CA+FxB"}