openplanr 0.8.0 → 1.0.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 (227) hide show
  1. package/README.md +142 -52
  2. package/dist/agents/index.d.ts +1 -5
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +1 -4
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/agents/task-parser.d.ts +4 -1
  7. package/dist/agents/task-parser.d.ts.map +1 -1
  8. package/dist/agents/task-parser.js +6 -3
  9. package/dist/agents/task-parser.js.map +1 -1
  10. package/dist/agents/utils.d.ts +0 -4
  11. package/dist/agents/utils.d.ts.map +1 -1
  12. package/dist/agents/utils.js +3 -24
  13. package/dist/agents/utils.js.map +1 -1
  14. package/dist/ai/codebase/context-builder.d.ts +22 -3
  15. package/dist/ai/codebase/context-builder.d.ts.map +1 -1
  16. package/dist/ai/codebase/context-builder.js +202 -14
  17. package/dist/ai/codebase/context-builder.js.map +1 -1
  18. package/dist/ai/codebase/file-reader.d.ts.map +1 -1
  19. package/dist/ai/codebase/file-reader.js +7 -3
  20. package/dist/ai/codebase/file-reader.js.map +1 -1
  21. package/dist/ai/codebase/index.d.ts +3 -1
  22. package/dist/ai/codebase/index.d.ts.map +1 -1
  23. package/dist/ai/codebase/index.js +3 -1
  24. package/dist/ai/codebase/index.js.map +1 -1
  25. package/dist/ai/codebase/pattern-rules.d.ts +28 -0
  26. package/dist/ai/codebase/pattern-rules.d.ts.map +1 -0
  27. package/dist/ai/codebase/pattern-rules.js +186 -0
  28. package/dist/ai/codebase/pattern-rules.js.map +1 -0
  29. package/dist/ai/codebase/rules-reader.d.ts +14 -0
  30. package/dist/ai/codebase/rules-reader.d.ts.map +1 -0
  31. package/dist/ai/codebase/rules-reader.js +25 -0
  32. package/dist/ai/codebase/rules-reader.js.map +1 -0
  33. package/dist/ai/codebase/stack-detector.d.ts.map +1 -1
  34. package/dist/ai/codebase/stack-detector.js +4 -1
  35. package/dist/ai/codebase/stack-detector.js.map +1 -1
  36. package/dist/ai/codebase/tree-generator.d.ts.map +1 -1
  37. package/dist/ai/codebase/tree-generator.js +5 -2
  38. package/dist/ai/codebase/tree-generator.js.map +1 -1
  39. package/dist/ai/errors.js +1 -1
  40. package/dist/ai/errors.js.map +1 -1
  41. package/dist/ai/prompts/prompt-builder.d.ts +12 -0
  42. package/dist/ai/prompts/prompt-builder.d.ts.map +1 -1
  43. package/dist/ai/prompts/prompt-builder.js +45 -3
  44. package/dist/ai/prompts/prompt-builder.js.map +1 -1
  45. package/dist/ai/prompts/system-prompts.d.ts +5 -3
  46. package/dist/ai/prompts/system-prompts.d.ts.map +1 -1
  47. package/dist/ai/prompts/system-prompts.js +74 -13
  48. package/dist/ai/prompts/system-prompts.js.map +1 -1
  49. package/dist/ai/schemas/ai-response-schemas.d.ts +48 -2
  50. package/dist/ai/schemas/ai-response-schemas.d.ts.map +1 -1
  51. package/dist/ai/schemas/ai-response-schemas.js +19 -0
  52. package/dist/ai/schemas/ai-response-schemas.js.map +1 -1
  53. package/dist/ai/types.d.ts +4 -2
  54. package/dist/ai/types.d.ts.map +1 -1
  55. package/dist/ai/types.js +3 -1
  56. package/dist/ai/types.js.map +1 -1
  57. package/dist/ai/validation/dependency-chains.d.ts +21 -0
  58. package/dist/ai/validation/dependency-chains.d.ts.map +1 -0
  59. package/dist/ai/validation/dependency-chains.js +114 -0
  60. package/dist/ai/validation/dependency-chains.js.map +1 -0
  61. package/dist/ai/validation/index.d.ts +3 -0
  62. package/dist/ai/validation/index.d.ts.map +1 -0
  63. package/dist/ai/validation/index.js +3 -0
  64. package/dist/ai/validation/index.js.map +1 -0
  65. package/dist/ai/validation/task-validator.d.ts +37 -0
  66. package/dist/ai/validation/task-validator.d.ts.map +1 -0
  67. package/dist/ai/validation/task-validator.js +89 -0
  68. package/dist/ai/validation/task-validator.js.map +1 -0
  69. package/dist/cli/commands/backlog.d.ts +10 -0
  70. package/dist/cli/commands/backlog.d.ts.map +1 -0
  71. package/dist/cli/commands/backlog.js +292 -0
  72. package/dist/cli/commands/backlog.js.map +1 -0
  73. package/dist/cli/commands/checklist.js +4 -4
  74. package/dist/cli/commands/checklist.js.map +1 -1
  75. package/dist/cli/commands/config.js +13 -13
  76. package/dist/cli/commands/config.js.map +1 -1
  77. package/dist/cli/commands/epic.d.ts.map +1 -1
  78. package/dist/cli/commands/epic.js +41 -22
  79. package/dist/cli/commands/epic.js.map +1 -1
  80. package/dist/cli/commands/estimate.d.ts.map +1 -1
  81. package/dist/cli/commands/estimate.js +40 -39
  82. package/dist/cli/commands/estimate.js.map +1 -1
  83. package/dist/cli/commands/export.d.ts +8 -0
  84. package/dist/cli/commands/export.d.ts.map +1 -0
  85. package/dist/cli/commands/export.js +282 -0
  86. package/dist/cli/commands/export.js.map +1 -0
  87. package/dist/cli/commands/feature.js +9 -9
  88. package/dist/cli/commands/feature.js.map +1 -1
  89. package/dist/cli/commands/github.d.ts +8 -0
  90. package/dist/cli/commands/github.d.ts.map +1 -0
  91. package/dist/cli/commands/github.js +415 -0
  92. package/dist/cli/commands/github.js.map +1 -0
  93. package/dist/cli/commands/plan.d.ts.map +1 -1
  94. package/dist/cli/commands/plan.js +104 -50
  95. package/dist/cli/commands/plan.js.map +1 -1
  96. package/dist/cli/commands/quick.d.ts.map +1 -1
  97. package/dist/cli/commands/quick.js +37 -107
  98. package/dist/cli/commands/quick.js.map +1 -1
  99. package/dist/cli/commands/refine.js +21 -21
  100. package/dist/cli/commands/refine.js.map +1 -1
  101. package/dist/cli/commands/search.d.ts.map +1 -1
  102. package/dist/cli/commands/search.js +18 -7
  103. package/dist/cli/commands/search.js.map +1 -1
  104. package/dist/cli/commands/sprint.d.ts +9 -0
  105. package/dist/cli/commands/sprint.d.ts.map +1 -0
  106. package/dist/cli/commands/sprint.js +519 -0
  107. package/dist/cli/commands/sprint.js.map +1 -0
  108. package/dist/cli/commands/status.d.ts.map +1 -1
  109. package/dist/cli/commands/status.js +77 -32
  110. package/dist/cli/commands/status.js.map +1 -1
  111. package/dist/cli/commands/story.js +15 -15
  112. package/dist/cli/commands/story.js.map +1 -1
  113. package/dist/cli/commands/sync.js +11 -7
  114. package/dist/cli/commands/sync.js.map +1 -1
  115. package/dist/cli/commands/task.d.ts +0 -2
  116. package/dist/cli/commands/task.d.ts.map +1 -1
  117. package/dist/cli/commands/task.js +14 -169
  118. package/dist/cli/commands/task.js.map +1 -1
  119. package/dist/cli/commands/template.d.ts +10 -0
  120. package/dist/cli/commands/template.d.ts.map +1 -0
  121. package/dist/cli/commands/template.js +269 -0
  122. package/dist/cli/commands/template.js.map +1 -0
  123. package/dist/cli/helpers/task-creation.d.ts +89 -0
  124. package/dist/cli/helpers/task-creation.d.ts.map +1 -0
  125. package/dist/cli/helpers/task-creation.js +140 -0
  126. package/dist/cli/helpers/task-creation.js.map +1 -0
  127. package/dist/cli/index.js +29 -2
  128. package/dist/cli/index.js.map +1 -1
  129. package/dist/models/schema.d.ts +2 -0
  130. package/dist/models/schema.d.ts.map +1 -1
  131. package/dist/models/schema.js +2 -0
  132. package/dist/models/schema.js.map +1 -1
  133. package/dist/models/types.d.ts +32 -1
  134. package/dist/models/types.d.ts.map +1 -1
  135. package/dist/services/artifact-gathering.d.ts +2 -0
  136. package/dist/services/artifact-gathering.d.ts.map +1 -1
  137. package/dist/services/artifact-gathering.js +26 -7
  138. package/dist/services/artifact-gathering.js.map +1 -1
  139. package/dist/services/artifact-service.d.ts +5 -5
  140. package/dist/services/artifact-service.d.ts.map +1 -1
  141. package/dist/services/artifact-service.js +4 -0
  142. package/dist/services/artifact-service.js.map +1 -1
  143. package/dist/services/config-service.d.ts.map +1 -1
  144. package/dist/services/config-service.js +2 -0
  145. package/dist/services/config-service.js.map +1 -1
  146. package/dist/services/credential-backends.d.ts.map +1 -1
  147. package/dist/services/credential-backends.js +15 -7
  148. package/dist/services/credential-backends.js.map +1 -1
  149. package/dist/services/credentials-service.d.ts.map +1 -1
  150. package/dist/services/credentials-service.js +6 -3
  151. package/dist/services/credentials-service.js.map +1 -1
  152. package/dist/services/github-service.d.ts +83 -0
  153. package/dist/services/github-service.d.ts.map +1 -0
  154. package/dist/services/github-service.js +440 -0
  155. package/dist/services/github-service.js.map +1 -0
  156. package/dist/services/template-service.d.ts +2 -1
  157. package/dist/services/template-service.d.ts.map +1 -1
  158. package/dist/services/template-service.js +3 -1
  159. package/dist/services/template-service.js.map +1 -1
  160. package/dist/templates/backlog/backlog-item.md.hbs +40 -0
  161. package/dist/templates/checklists/agile-checklist.md.hbs +1 -1
  162. package/dist/templates/export/planning-report.html.hbs +230 -0
  163. package/dist/templates/export/planning-report.md.hbs +136 -0
  164. package/dist/templates/quick/quick-task.md.hbs +1 -1
  165. package/dist/templates/rules/claude/CLAUDE.md.hbs +78 -35
  166. package/dist/templates/rules/codex/AGENTS.md.hbs +73 -17
  167. package/dist/templates/rules/cursor/2101-implement-task-list.mdc.hbs +66 -14
  168. package/dist/templates/sprints/sprint.md.hbs +42 -0
  169. package/dist/templates/task-templates/api-integration.json +45 -0
  170. package/dist/templates/task-templates/auth-flow.json +48 -0
  171. package/dist/templates/task-templates/database-migration.json +44 -0
  172. package/dist/templates/task-templates/react-component.json +45 -0
  173. package/dist/templates/task-templates/rest-endpoint.json +53 -0
  174. package/dist/templates/tasks/task-list.md.hbs +1 -1
  175. package/dist/utils/constants.d.ts +4 -0
  176. package/dist/utils/constants.d.ts.map +1 -1
  177. package/dist/utils/constants.js +4 -0
  178. package/dist/utils/constants.js.map +1 -1
  179. package/dist/utils/logger.d.ts +31 -1
  180. package/dist/utils/logger.d.ts.map +1 -1
  181. package/dist/utils/logger.js +92 -9
  182. package/dist/utils/logger.js.map +1 -1
  183. package/dist/utils/markdown.d.ts +3 -2
  184. package/dist/utils/markdown.d.ts.map +1 -1
  185. package/dist/utils/markdown.js +3 -1
  186. package/dist/utils/markdown.js.map +1 -1
  187. package/dist/utils/slugify.d.ts +8 -1
  188. package/dist/utils/slugify.d.ts.map +1 -1
  189. package/dist/utils/slugify.js +18 -2
  190. package/dist/utils/slugify.js.map +1 -1
  191. package/package.json +14 -3
  192. package/dist/agents/agent-factory.d.ts +0 -7
  193. package/dist/agents/agent-factory.d.ts.map +0 -1
  194. package/dist/agents/agent-factory.js +0 -22
  195. package/dist/agents/agent-factory.js.map +0 -1
  196. package/dist/agents/claude-agent.d.ts +0 -18
  197. package/dist/agents/claude-agent.d.ts.map +0 -1
  198. package/dist/agents/claude-agent.js +0 -183
  199. package/dist/agents/claude-agent.js.map +0 -1
  200. package/dist/agents/codex-agent.d.ts +0 -17
  201. package/dist/agents/codex-agent.d.ts.map +0 -1
  202. package/dist/agents/codex-agent.js +0 -124
  203. package/dist/agents/codex-agent.js.map +0 -1
  204. package/dist/agents/cursor-agent.d.ts +0 -14
  205. package/dist/agents/cursor-agent.d.ts.map +0 -1
  206. package/dist/agents/cursor-agent.js +0 -49
  207. package/dist/agents/cursor-agent.js.map +0 -1
  208. package/dist/agents/implementation-bridge.d.ts +0 -30
  209. package/dist/agents/implementation-bridge.d.ts.map +0 -1
  210. package/dist/agents/implementation-bridge.js +0 -256
  211. package/dist/agents/implementation-bridge.js.map +0 -1
  212. package/dist/agents/progress.d.ts +0 -62
  213. package/dist/agents/progress.d.ts.map +0 -1
  214. package/dist/agents/progress.js +0 -155
  215. package/dist/agents/progress.js.map +0 -1
  216. package/dist/agents/prompt-composer.d.ts +0 -30
  217. package/dist/agents/prompt-composer.d.ts.map +0 -1
  218. package/dist/agents/prompt-composer.js +0 -81
  219. package/dist/agents/prompt-composer.js.map +0 -1
  220. package/dist/agents/types.d.ts +0 -25
  221. package/dist/agents/types.d.ts.map +0 -1
  222. package/dist/agents/types.js +0 -8
  223. package/dist/agents/types.js.map +0 -1
  224. package/dist/utils/error-context.d.ts +0 -23
  225. package/dist/utils/error-context.d.ts.map +0 -1
  226. package/dist/utils/error-context.js +0 -94
  227. package/dist/utils/error-context.js.map +0 -1
@@ -12,8 +12,8 @@
12
12
  */
13
13
  import path from 'node:path';
14
14
  import chalk from 'chalk';
15
- import { buildEpicPrompt, buildFeaturesPrompt, buildStoriesPrompt, buildTasksPrompt, } from '../../ai/prompts/prompt-builder.js';
16
- import { aiEpicResponseSchema, aiFeaturesResponseSchema, aiStoriesResponseSchema, aiTasksResponseSchema, } from '../../ai/schemas/ai-response-schemas.js';
15
+ import { buildEpicPrompt, buildFeaturesPrompt, buildStoriesPrompt, } from '../../ai/prompts/prompt-builder.js';
16
+ import { aiEpicResponseSchema, aiFeaturesResponseSchema, aiStoriesResponseSchema, } from '../../ai/schemas/ai-response-schemas.js';
17
17
  import { TOKEN_BUDGETS } from '../../ai/types.js';
18
18
  import { generateStreamingJSON, getAIProvider, isAIConfigured } from '../../services/ai-service.js';
19
19
  import { addChildReference, createArtifact, getArtifactDir, listArtifacts, readArtifact, readArtifactRaw, resolveArtifactFilename, } from '../../services/artifact-service.js';
@@ -21,7 +21,8 @@ import { loadConfig } from '../../services/config-service.js';
21
21
  import { promptConfirm, promptText } from '../../services/prompt-service.js';
22
22
  import { renderTemplate } from '../../services/template-service.js';
23
23
  import { writeFile } from '../../utils/fs.js';
24
- import { logger } from '../../utils/logger.js';
24
+ import { display, logger } from '../../utils/logger.js';
25
+ import { buildTaskItems } from '../helpers/task-creation.js';
25
26
  export function registerPlanCommand(program) {
26
27
  program
27
28
  .command('plan')
@@ -39,8 +40,8 @@ export function registerPlanCommand(program) {
39
40
  const provider = await getAIProvider(config);
40
41
  try {
41
42
  if (opts.story) {
42
- // Start from story → generate tasks
43
- await generateTasksForStory(projectDir, config, provider, opts.story);
43
+ // Start from story → generate tasks (find parent feature and generate at feature level)
44
+ await generateTasksForSingleStory(projectDir, config, provider, opts.story);
44
45
  }
45
46
  else if (opts.feature) {
46
47
  // Start from feature → stories → tasks
@@ -76,8 +77,8 @@ async function planFromScratch(projectDir, config, provider) {
76
77
  logger.dim('\n[1/4] Generating epic...');
77
78
  const epicMessages = buildEpicPrompt(brief, existingTitles);
78
79
  const { result: epicData } = await generateStreamingJSON(provider, epicMessages, aiEpicResponseSchema, { maxTokens: TOKEN_BUDGETS.epic });
79
- console.log(chalk.bold(`\n Epic: ${epicData.title}`));
80
- console.log(chalk.dim(` ${epicData.solutionOverview}`));
80
+ display.line(chalk.bold(`\n Epic: ${epicData.title}`));
81
+ display.line(chalk.dim(` ${epicData.solutionOverview}`));
81
82
  const continueFlow = await promptConfirm('Save epic and continue planning?', true);
82
83
  if (!continueFlow) {
83
84
  logger.info('Planning cancelled.');
@@ -107,9 +108,9 @@ async function planFromEpic(projectDir, config, provider, epicId) {
107
108
  logger.dim('\n[2/4] Generating features...');
108
109
  const featureMessages = buildFeaturesPrompt(epicRaw, existingFeatureTitles);
109
110
  const { result: featureResult } = await generateStreamingJSON(provider, featureMessages, aiFeaturesResponseSchema, { maxTokens: TOKEN_BUDGETS.feature });
110
- console.log(chalk.bold(`\n Generated ${featureResult.features.length} features:`));
111
+ display.line(chalk.bold(`\n Generated ${featureResult.features.length} features:`));
111
112
  featureResult.features.forEach((f, i) => {
112
- console.log(chalk.dim(` ${i + 1}. ${f.title}`));
113
+ display.line(chalk.dim(` ${i + 1}. ${f.title}`));
113
114
  });
114
115
  const continueFeatures = await promptConfirm(`Create all ${featureResult.features.length} features and continue?`, true);
115
116
  if (!continueFeatures) {
@@ -137,21 +138,22 @@ async function planFromEpic(projectDir, config, provider, epicId) {
137
138
  logger.success(`Created ${id}: ${feat.title}`);
138
139
  }
139
140
  // Step 3+4: Stories and tasks for each feature
141
+ let totalStories = 0;
142
+ let totalTasks = 0;
140
143
  for (const featureId of featureIds) {
141
- await planFromFeature(projectDir, config, provider, featureId);
144
+ const counts = await planFromFeature(projectDir, config, provider, featureId);
145
+ totalStories += counts.stories;
146
+ totalTasks += counts.tasks;
142
147
  }
143
- // Final summary
148
+ // Final summary — only count artifacts created in this run
144
149
  logger.heading('\nPlanning Complete!');
145
- const allFeatures = await listArtifacts(projectDir, config, 'feature');
146
- const allStories = await listArtifacts(projectDir, config, 'story');
147
- const allTasks = await listArtifacts(projectDir, config, 'task');
148
- console.log(` Epic: ${epicId}`);
149
- console.log(` Features: ${allFeatures.length}`);
150
- console.log(` Stories: ${allStories.length}`);
151
- console.log(` Tasks: ${allTasks.length}`);
150
+ display.line(` Epic: ${epicId}`);
151
+ display.line(` Features: ${featureIds.length}`);
152
+ display.line(` Stories: ${totalStories}`);
153
+ display.line(` Tasks: ${totalTasks}`);
152
154
  logger.dim('');
153
155
  logger.dim('Start implementing:');
154
- logger.dim(' planr task implement TASK-001 --next');
156
+ logger.dim(' planr rules generate — Generate rules for your coding agent');
155
157
  logger.dim(' planr status');
156
158
  }
157
159
  async function planFromFeature(projectDir, config, provider, featureId) {
@@ -159,7 +161,7 @@ async function planFromFeature(projectDir, config, provider, featureId) {
159
161
  const featureRaw = await readArtifactRaw(projectDir, config, 'feature', featureId);
160
162
  if (!featureRaw) {
161
163
  logger.error(`Feature ${featureId} not found.`);
162
- return;
164
+ return { stories: 0, tasks: 0 };
163
165
  }
164
166
  const featureData = await readArtifact(projectDir, config, 'feature', featureId);
165
167
  const epicId = featureData?.data.epicId;
@@ -172,7 +174,7 @@ async function planFromFeature(projectDir, config, provider, featureId) {
172
174
  logger.dim(`\n[3/4] Generating stories for ${featureId}...`);
173
175
  const storyMessages = buildStoriesPrompt(featureRaw, epicRaw, existingStoryTitles);
174
176
  const { result: storyResult } = await generateStreamingJSON(provider, storyMessages, aiStoriesResponseSchema, { maxTokens: TOKEN_BUDGETS.story });
175
- console.log(chalk.dim(` Generated ${storyResult.stories.length} stories for ${featureId}`));
177
+ display.line(chalk.dim(` Generated ${storyResult.stories.length} stories for ${featureId}`));
176
178
  const storyDir = path.join(projectDir, getArtifactDir(config, 'story'));
177
179
  const storyIds = [];
178
180
  const featureFilename = await resolveArtifactFilename(projectDir, config, 'feature', featureId);
@@ -205,39 +207,31 @@ async function planFromFeature(projectDir, config, provider, featureId) {
205
207
  await addChildReference(projectDir, config, 'feature', featureId, 'story', id, story.title);
206
208
  logger.success(`Created ${id}: ${story.title}`);
207
209
  }
208
- // Step 4: Generate tasks for each story
209
- for (const storyId of storyIds) {
210
- await generateTasksForStory(projectDir, config, provider, storyId);
211
- }
210
+ // Step 4: Generate one task list per feature (all stories + full context)
211
+ const taskCreated = await generateTasksForFeature(projectDir, config, provider, featureId, storyIds);
212
+ return { stories: storyIds.length, tasks: taskCreated ? 1 : 0 };
212
213
  }
213
- async function generateTasksForStory(projectDir, config, provider, storyId) {
214
- const { gatherStoryArtifacts } = await import('../../services/artifact-gathering.js');
214
+ async function generateTasksForFeature(projectDir, config, provider, featureId, storyIds) {
215
+ const { gatherFeatureArtifacts } = await import('../../services/artifact-gathering.js');
216
+ const { buildTasksPrompt } = await import('../../ai/prompts/prompt-builder.js');
217
+ const { aiTasksResponseSchema } = await import('../../ai/schemas/ai-response-schemas.js');
215
218
  let ctx;
216
219
  try {
217
- ctx = await gatherStoryArtifacts(projectDir, config, storyId);
220
+ ctx = await gatherFeatureArtifacts(projectDir, config, featureId);
218
221
  }
219
- catch {
220
- logger.error(`Story ${storyId} not found.`);
221
- return;
222
+ catch (err) {
223
+ logger.debug('Failed to gather feature artifacts', err);
224
+ logger.error(`Feature ${featureId} not found.`);
225
+ return false;
222
226
  }
223
- logger.dim(`\n[4/4] Generating tasks for ${storyId}...`);
224
- ctx.scope = { type: 'story', id: storyId };
227
+ logger.dim(`\n[4/4] Generating tasks for ${featureId} (${ctx.stories.length} stories)...`);
228
+ ctx.scope = { type: 'feature', id: featureId };
225
229
  const taskMessages = buildTasksPrompt(ctx);
226
230
  const { result } = await generateStreamingJSON(provider, taskMessages, aiTasksResponseSchema, {
227
- maxTokens: TOKEN_BUDGETS.plan,
231
+ maxTokens: TOKEN_BUDGETS.taskFeature,
228
232
  });
229
- const tasks = result.tasks.map((tg) => ({
230
- id: tg.id,
231
- title: tg.title,
232
- status: 'pending',
233
- subtasks: (tg.subtasks || []).map((st) => ({
234
- id: st.id,
235
- title: st.title,
236
- status: 'pending',
237
- subtasks: [],
238
- })),
239
- }));
240
- const storyFilename = await resolveArtifactFilename(projectDir, config, 'story', storyId);
233
+ const tasks = buildTaskItems(result);
234
+ const featureFilename = await resolveArtifactFilename(projectDir, config, 'feature', featureId);
241
235
  // Build artifact sources for traceability
242
236
  const artifactSources = [];
243
237
  for (const s of ctx.stories) {
@@ -257,15 +251,75 @@ async function generateTasksForStory(projectDir, config, provider, storyId) {
257
251
  }
258
252
  const { id } = await createArtifact(projectDir, config, 'task', 'tasks/task-list.md.hbs', {
259
253
  title: result.title,
260
- storyId,
261
- storyFilename,
254
+ featureId,
255
+ featureFilename,
262
256
  tasks,
263
257
  artifactSources,
264
258
  acceptanceCriteriaMapping: result.acceptanceCriteriaMapping,
265
259
  relevantFiles: result.relevantFiles,
266
260
  });
267
261
  const total = tasks.reduce((sum, t) => sum + t.subtasks.length + 1, 0);
268
- await addChildReference(projectDir, config, 'story', storyId, 'task', id, result.title);
269
- logger.success(`Created ${id}: ${result.title} (${total} tasks)`);
262
+ // Link task list from each story
263
+ for (const sId of storyIds) {
264
+ await addChildReference(projectDir, config, 'story', sId, 'task', id, result.title);
265
+ }
266
+ logger.success(`Created ${id}: ${result.title} (${total} tasks from ${ctx.stories.length} stories)`);
267
+ return true;
268
+ }
269
+ async function generateTasksForSingleStory(projectDir, config, provider, storyId) {
270
+ // Find parent feature and generate tasks at feature level
271
+ const storyData = await readArtifact(projectDir, config, 'story', storyId);
272
+ if (!storyData) {
273
+ logger.error(`Story ${storyId} not found.`);
274
+ return;
275
+ }
276
+ const featureId = storyData.data.featureId;
277
+ if (featureId) {
278
+ logger.dim(`Story ${storyId} belongs to ${featureId} — generating tasks at feature level.`);
279
+ await generateTasksForFeature(projectDir, config, provider, featureId, [storyId]);
280
+ }
281
+ else {
282
+ // Orphan story — fall back to story-level gathering
283
+ const { gatherStoryArtifacts } = await import('../../services/artifact-gathering.js');
284
+ const { buildTasksPrompt } = await import('../../ai/prompts/prompt-builder.js');
285
+ const { aiTasksResponseSchema } = await import('../../ai/schemas/ai-response-schemas.js');
286
+ const ctx = await gatherStoryArtifacts(projectDir, config, storyId);
287
+ logger.dim(`\nGenerating tasks for ${storyId}...`);
288
+ ctx.scope = { type: 'story', id: storyId };
289
+ const taskMessages = buildTasksPrompt(ctx);
290
+ const { result } = await generateStreamingJSON(provider, taskMessages, aiTasksResponseSchema, {
291
+ maxTokens: TOKEN_BUDGETS.plan,
292
+ });
293
+ const tasks = buildTaskItems(result);
294
+ const storyFilename = await resolveArtifactFilename(projectDir, config, 'story', storyId);
295
+ const artifactSources = [];
296
+ for (const s of ctx.stories) {
297
+ artifactSources.push({
298
+ type: 'User Story',
299
+ path: `${config.outputPaths.agile}/stories/${s.id}`,
300
+ });
301
+ }
302
+ for (const g of ctx.gherkinScenarios) {
303
+ artifactSources.push({
304
+ type: 'Gherkin',
305
+ path: `${config.outputPaths.agile}/stories/${g.storyId}-gherkin.feature`,
306
+ });
307
+ }
308
+ for (const a of ctx.adrs) {
309
+ artifactSources.push({ type: 'ADR', path: `${config.outputPaths.agile}/adrs/${a.id}` });
310
+ }
311
+ const { id } = await createArtifact(projectDir, config, 'task', 'tasks/task-list.md.hbs', {
312
+ title: result.title,
313
+ storyId,
314
+ storyFilename,
315
+ tasks,
316
+ artifactSources,
317
+ acceptanceCriteriaMapping: result.acceptanceCriteriaMapping,
318
+ relevantFiles: result.relevantFiles,
319
+ });
320
+ const total = tasks.reduce((sum, t) => sum + t.subtasks.length + 1, 0);
321
+ await addChildReference(projectDir, config, 'story', storyId, 'task', id, result.title);
322
+ logger.success(`Created ${id}: ${result.title} (${total} tasks)`);
323
+ }
270
324
  }
271
325
  //# sourceMappingURL=plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CACV,8EAA8E,CAC/E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,oCAAoC;gBACpC,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,uCAAuC;gBACvC,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,+CAA+C;gBAC/C,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACvD,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAuB,EAAE,QAAoB;IAC9F,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAEvD,sBAAsB;IACtB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,0CAA0C,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,qBAAqB,CACtD,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,EAAE,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,CAClC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;IACnF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC/D,CAAC,CAAC,QAAQ,CAAC,eAAe;QAC1B,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE;QAC3F,GAAG,QAAQ;QACX,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7C,mBAAmB,EAAE,iBAAiB;QACtC,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvD,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,MAAuB,EACvB,QAAoB,EACpB,MAAc;IAEd,4BAA4B;IAC5B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjF,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC5E,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAC3D,QAAQ,EACR,eAAe,EACf,wBAAwB,EACxB,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,EAAE,CACrC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,aAAa,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC;IACpF,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAC1C,cAAc,aAAa,CAAC,QAAQ,CAAC,MAAM,yBAAyB,EACpE,IAAI,CACL,CAAC;IACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE;YAC5F,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM;YACN,YAAY;YACZ,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,+CAA+C;IAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,UAAkB,EAClB,MAAuB,EACvB,QAAoB,EACpB,SAAiB;IAEjB,2BAA2B;IAC3B,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,aAAa,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,CAAC,MAA4B,CAAC;IAC9D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,GAAG,CAAC,kCAAkC,SAAS,KAAK,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACnF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,CACzD,QAAQ,EACR,aAAa,EACb,uBAAuB,EACvB,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,CACnC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,OAAO,CAAC,MAAM,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEhG,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE;YAC5F,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,eAAe;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,SAAS;SACpD,CAAC,CAAC;QAEH,eAAe;QACf,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,6BAA6B,EAC7B;YACE,EAAE;YACF,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;SACJ,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;QACF,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,cAAc,CAAC,CAAC;QAE9E,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5F,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,wCAAwC;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,MAAuB,EACvB,QAAoB,EACpB,OAAe;IAEf,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAEtF,IAAI,GAAiE,CAAC;IACtE,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,aAAa,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,gCAAgC,OAAO,KAAK,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE;QAC5F,SAAS,EAAE,aAAa,CAAC,IAAI;KAC9B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,SAAkB;QAC1B,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,MAAM,EAAE,SAAkB;YAC1B,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1F,0CAA0C;IAC1C,MAAM,eAAe,GAA0C,EAAE,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACrC,eAAe,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,YAAY,CAAC,CAAC,OAAO,kBAAkB;SACzE,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE;QACxF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO;QACP,aAAa;QACb,KAAK;QACL,eAAe;QACf,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quick.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/quick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAkJpD"}
1
+ {"version":3,"file":"quick.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/quick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA4FpD"}
@@ -9,7 +9,6 @@
9
9
  * via `planr quick promote`.
10
10
  */
11
11
  import path from 'node:path';
12
- import chalk from 'chalk';
13
12
  import { buildQuickTasksPrompt } from '../../ai/prompts/prompt-builder.js';
14
13
  import { aiQuickTasksResponseSchema } from '../../ai/schemas/ai-response-schemas.js';
15
14
  import { TOKEN_BUDGETS } from '../../ai/types.js';
@@ -19,8 +18,9 @@ import { loadConfig } from '../../services/config-service.js';
19
18
  import { getNextId } from '../../services/id-service.js';
20
19
  import { promptConfirm, promptMultiText, promptText } from '../../services/prompt-service.js';
21
20
  import { ensureDir, writeFile } from '../../utils/fs.js';
22
- import { logger } from '../../utils/logger.js';
21
+ import { display, logger } from '../../utils/logger.js';
23
22
  import { slugify } from '../../utils/slugify.js';
23
+ import { buildTaskItems, countTaskItems, displayNextSteps, displayTaskPreview, displayValidationWarnings, handleAIError, } from '../helpers/task-creation.js';
24
24
  export function registerQuickCommand(program) {
25
25
  const quick = program
26
26
  .command('quick')
@@ -32,12 +32,25 @@ export function registerQuickCommand(program) {
32
32
  .command('create', { isDefault: true })
33
33
  .description('Create a standalone task list from a brief description')
34
34
  .argument('[description...]', 'what to build (one-line description)')
35
+ .option('--file <path>', 'read description from a file (PRD, spec, etc.)')
35
36
  .option('--manual', 'use manual interactive prompts instead of AI')
36
37
  .action(async (descriptionParts, opts) => {
37
38
  const projectDir = program.opts().projectDir;
38
39
  const config = await loadConfig(projectDir);
39
40
  let description = descriptionParts.join(' ').trim();
40
- if (!description && !opts.manual) {
41
+ if (opts.file) {
42
+ try {
43
+ const { readFile } = await import('../../utils/fs.js');
44
+ description = await readFile(path.resolve(opts.file));
45
+ logger.dim(`Read ${description.split('\n').length} lines from ${opts.file}`);
46
+ }
47
+ catch (err) {
48
+ logger.debug('Failed to read quick task input file', err);
49
+ logger.error(`Failed to read file: ${opts.file}`);
50
+ return;
51
+ }
52
+ }
53
+ else if (!description && !opts.manual) {
41
54
  description = await promptText('What do you want to build?');
42
55
  }
43
56
  const useAI = !opts.manual && isAIConfigured(config);
@@ -46,7 +59,7 @@ export function registerQuickCommand(program) {
46
59
  logger.error('Please provide a description.');
47
60
  return;
48
61
  }
49
- await createQuickWithAI(projectDir, config, description);
62
+ await createQuickWithAI(projectDir, config, description, !!opts.file);
50
63
  }
51
64
  else {
52
65
  if (!opts.manual && !isAIConfigured(config)) {
@@ -71,64 +84,10 @@ export function registerQuickCommand(program) {
71
84
  }
72
85
  logger.heading('Quick Tasks');
73
86
  for (const t of tasks) {
74
- console.log(` ${t.id} ${t.title}`);
87
+ display.line(` ${t.id} ${t.title}`);
75
88
  }
76
89
  });
77
90
  // -----------------------------------------------------------------------
78
- // planr quick implement <qtId>
79
- // -----------------------------------------------------------------------
80
- quick
81
- .command('implement')
82
- .description('Implement a quick task using a coding agent')
83
- .argument('<qtId>', 'quick task ID (e.g., QT-001)')
84
- .option('-s, --subtask <id>', 'specific subtask ID or search term')
85
- .option('--next', 'implement the next unchecked subtask')
86
- .option('--agent <name>', 'override coding agent (claude, cursor, codex)')
87
- .option('--dry-run', 'show the composed prompt without executing')
88
- .action(async (qtId, opts) => {
89
- const projectDir = program.opts().projectDir;
90
- const config = await loadConfig(projectDir);
91
- const { executeImplementation } = await import('../../agents/implementation-bridge.js');
92
- await executeImplementation(projectDir, config, qtId, {
93
- subtask: opts.subtask,
94
- next: opts.next,
95
- agent: opts.agent,
96
- dryRun: opts.dryRun,
97
- });
98
- });
99
- // -----------------------------------------------------------------------
100
- // planr quick fix <message>
101
- // -----------------------------------------------------------------------
102
- quick
103
- .command('fix')
104
- .description('Send a follow-up prompt to fix issues')
105
- .argument('[message...]', 'describe the issue (or pipe error output)')
106
- .option('--agent <name>', 'override coding agent (claude, cursor, codex)')
107
- .action(async (messageParts, opts) => {
108
- const projectDir = program.opts().projectDir;
109
- const config = await loadConfig(projectDir);
110
- const { extractErrorContext, readMultilineInput } = await import('../../utils/error-context.js');
111
- const { executeFollowUp } = await import('../../agents/implementation-bridge.js');
112
- let message = messageParts.join(' ').trim();
113
- if (!message && !process.stdin.isTTY) {
114
- const chunks = [];
115
- for await (const chunk of process.stdin) {
116
- chunks.push(chunk.toString());
117
- }
118
- message = extractErrorContext(chunks.join(''));
119
- }
120
- if (!message) {
121
- logger.info('Describe the issue or paste error output.');
122
- logger.dim('Type your message, then press Enter twice (empty line) to submit:\n');
123
- message = await readMultilineInput();
124
- }
125
- if (!message.trim()) {
126
- logger.error('No message provided.');
127
- return;
128
- }
129
- await executeFollowUp(projectDir, config, message, { agent: opts.agent });
130
- });
131
- // -----------------------------------------------------------------------
132
91
  // planr quick promote <qtId>
133
92
  // -----------------------------------------------------------------------
134
93
  quick
@@ -150,87 +109,58 @@ export function registerQuickCommand(program) {
150
109
  // ---------------------------------------------------------------------------
151
110
  // AI-powered quick task creation
152
111
  // ---------------------------------------------------------------------------
153
- async function createQuickWithAI(projectDir, config, description) {
112
+ async function createQuickWithAI(projectDir, config, description, fromFile = false) {
154
113
  logger.heading('Quick Task (AI-powered)');
155
114
  logger.dim('Analyzing description and codebase...');
156
115
  try {
157
116
  // Build optional codebase context
158
117
  let codebaseContext;
118
+ let rawCodebaseContext;
159
119
  try {
160
120
  const { buildCodebaseContext, extractKeywords, formatCodebaseContext } = await import('../../ai/codebase/index.js');
161
121
  const keywords = extractKeywords(description);
162
122
  const ctx = await buildCodebaseContext(projectDir, keywords);
123
+ rawCodebaseContext = ctx;
163
124
  codebaseContext = formatCodebaseContext(ctx);
164
125
  const stackInfo = ctx.techStack
165
126
  ? ` — ${ctx.techStack.language}${ctx.techStack.framework ? ` + ${ctx.techStack.framework}` : ''}`
166
127
  : '';
167
128
  logger.success(`Scanned codebase${stackInfo}`);
168
129
  }
169
- catch {
130
+ catch (err) {
131
+ logger.debug('Codebase scanning failed during quick task creation', err);
170
132
  // Codebase scanning is best-effort
171
133
  }
172
134
  const provider = await getAIProvider(config);
173
135
  const messages = buildQuickTasksPrompt(description, codebaseContext);
174
136
  logger.dim('AI is generating tasks...');
137
+ const maxTokens = fromFile ? TOKEN_BUDGETS.taskFeature : TOKEN_BUDGETS.task;
175
138
  const { result } = await generateStreamingJSON(provider, messages, aiQuickTasksResponseSchema, {
176
- maxTokens: TOKEN_BUDGETS.task,
139
+ maxTokens,
177
140
  });
178
141
  // Display preview
179
- console.log(chalk.dim('━'.repeat(50)));
180
- for (const taskGroup of result.tasks) {
181
- console.log(chalk.bold(` ${taskGroup.id} ${taskGroup.title}`));
182
- for (const sub of taskGroup.subtasks || []) {
183
- console.log(chalk.dim(` ${sub.id} ${sub.title}`));
184
- }
185
- }
186
- if (result.relevantFiles && result.relevantFiles.length > 0) {
187
- console.log('');
188
- console.log(chalk.bold(' Relevant Files:'));
189
- for (const f of result.relevantFiles) {
190
- console.log(chalk.dim(` ${f.path} — ${f.reason}`));
191
- }
192
- }
193
- console.log(chalk.dim('━'.repeat(50)));
194
- const total = result.tasks.reduce((sum, t) => sum + (t.subtasks || []).length + 1, 0);
142
+ displayTaskPreview(result);
143
+ await displayValidationWarnings(result.relevantFiles, rawCodebaseContext);
144
+ const total = countTaskItems(result.tasks);
195
145
  const confirmCreate = await promptConfirm(`Create quick task list with ${total} items?`, true);
196
146
  if (!confirmCreate) {
197
147
  logger.info('Cancelled.');
198
148
  return;
199
149
  }
200
- const tasks = result.tasks.map((tg) => ({
201
- id: tg.id,
202
- title: tg.title,
203
- status: 'pending',
204
- subtasks: (tg.subtasks || []).map((st) => ({
205
- id: st.id,
206
- title: st.title,
207
- status: 'pending',
208
- subtasks: [],
209
- })),
210
- }));
150
+ const tasks = buildTaskItems(result);
211
151
  const { id, filePath } = await createArtifact(projectDir, config, 'quick', 'quick/quick-task.md.hbs', { title: result.title, tasks, relevantFiles: result.relevantFiles });
212
152
  logger.success(`Created ${id}: ${result.title}`);
213
153
  logger.dim(` ${filePath}`);
214
154
  logger.dim(` ${total} tasks`);
215
155
  logger.dim('');
216
- logger.heading('Next steps:');
217
- logger.dim(` planr quick implement ${id} — Implement all tasks`);
218
- logger.dim(` planr quick implement ${id} --next — Implement next pending subtask`);
219
- logger.dim(` planr quick implement ${id} -s 1.1 Implement specific subtask`);
220
- logger.dim(` planr quick implement ${id} --dry-run — Preview the implementation prompt`);
221
- logger.dim(` planr quick promote ${id} --story US-001 — Move into agile hierarchy`);
156
+ displayNextSteps({
157
+ command: 'quick',
158
+ id,
159
+ extras: [`planr quick promote ${id} --story US-001Move into agile hierarchy`],
160
+ });
222
161
  }
223
162
  catch (err) {
224
- const { AIError } = await import('../../ai/errors.js');
225
- if (err instanceof AIError) {
226
- logger.error(err.userMessage);
227
- }
228
- else if (err instanceof Error) {
229
- logger.error(err.message);
230
- }
231
- else {
232
- throw err;
233
- }
163
+ await handleAIError(err);
234
164
  }
235
165
  }
236
166
  // ---------------------------------------------------------------------------
@@ -251,7 +181,7 @@ async function createQuickManually(projectDir, config, description) {
251
181
  logger.dim(` ${filePath}`);
252
182
  logger.dim(` ${tasks.length} tasks`);
253
183
  logger.dim('');
254
- logger.dim(`Next: planr quick implement ${id}`);
184
+ logger.dim(`Next: planr quick list`);
255
185
  }
256
186
  // ---------------------------------------------------------------------------
257
187
  // Promote quick task into agile hierarchy
@@ -327,6 +257,6 @@ async function promoteQuickTask(projectDir, config, qtId, opts) {
327
257
  if (opts.feature)
328
258
  logger.dim(` Linked to feature ${opts.feature}`);
329
259
  logger.dim('');
330
- logger.dim(`Next: planr task implement ${newId}`);
260
+ logger.dim(`Next: planr task list`);
331
261
  }
332
262
  //# sourceMappingURL=quick.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../src/cli/commands/quick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quick.js","sourceRoot":"","sources":["../../../src/cli/commands/quick.ts"],"names":[],"mappings":"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"}