@codemcp/workflows-core 4.5.0 → 4.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.
@@ -7,19 +7,21 @@
7
7
  * Handles variable substitution for project artifact references.
8
8
  */
9
9
  import { ProjectDocsManager } from './project-docs-manager.js';
10
+ import { TaskBackendManager } from './task-backend.js';
10
11
  export class InstructionGenerator {
11
- planManager;
12
12
  projectDocsManager;
13
- stateMachine = null;
14
- constructor(planManager) {
15
- this.planManager = planManager;
13
+ taskBackendDetector;
14
+ constructor(_planManager, taskBackendDetector = TaskBackendManager.detectTaskBackend) {
15
+ // planManager parameter kept for API compatibility but not stored since unused
16
16
  this.projectDocsManager = new ProjectDocsManager();
17
+ this.taskBackendDetector = taskBackendDetector;
17
18
  }
18
19
  /**
19
20
  * Set the state machine definition for dynamic instruction generation
20
21
  */
21
- setStateMachine(stateMachine) {
22
- this.stateMachine = stateMachine;
22
+ setStateMachine(_stateMachine) {
23
+ // stateMachine parameter kept for API compatibility but not stored since unused
24
+ return;
23
25
  }
24
26
  /**
25
27
  * Generate comprehensive instructions for the LLM
@@ -27,13 +29,11 @@ export class InstructionGenerator {
27
29
  async generateInstructions(baseInstructions, context) {
28
30
  // Apply variable substitution to base instructions
29
31
  const substitutedInstructions = this.applyVariableSubstitution(baseInstructions, context.conversationContext.projectPath, context.conversationContext.gitBranch);
30
- // Get plan file guidance
31
- const planFileGuidance = this.planManager.generatePlanFileGuidance(context.phase);
32
32
  // Enhance base instructions with context-specific guidance
33
- const enhancedInstructions = await this.enhanceInstructions(substitutedInstructions, context, planFileGuidance);
33
+ const enhancedInstructions = await this.enhanceInstructions(substitutedInstructions, context);
34
34
  return {
35
35
  instructions: enhancedInstructions,
36
- planFileGuidance,
36
+ planFileGuidance: 'Task management guidance is now included in main instructions',
37
37
  metadata: {
38
38
  phase: context.phase,
39
39
  planFilePath: context.conversationContext.planFilePath,
@@ -64,19 +64,41 @@ export class InstructionGenerator {
64
64
  /**
65
65
  * Enhance base instructions with context-specific information
66
66
  */
67
- async enhanceInstructions(baseInstructions, context, _planFileGuidance) {
67
+ async enhanceInstructions(baseInstructions, context) {
68
68
  const { phase, conversationContext, transitionReason, isModeled, planFileExists, } = context;
69
- // Build plan-file-referential instructions
70
- let enhanced = `Check your plan file at \`${conversationContext.planFilePath}\` and focus on the "${this.capitalizePhase(phase)}" section.
69
+ // Generate task-backend-specific guidance
70
+ const taskBackendConfig = this.taskBackendDetector();
71
+ const taskGuidance = this.generateTaskManagementGuidance(taskBackendConfig);
72
+ let enhanced;
73
+ // Different instruction structure for beads vs markdown
74
+ if (taskBackendConfig.backend === 'beads' &&
75
+ taskBackendConfig.isAvailable) {
76
+ // Beads mode: Focus on bd CLI task management, not plan file
77
+ enhanced = `You are in the ${phase} phase.
78
+ ${baseInstructions}
79
+
80
+ **Plan File Guidance:**
81
+ Use the plan file as memory for the current objective
82
+ - Update the "Key Decisions" section with important choices made
83
+ - Add relevant notes to help maintain context
84
+ - Do NOT enter tasks in the plan file, follow the below instructions for plan file management
85
+
86
+ **Task Management Guidance:**
87
+ ${taskGuidance}
88
+ `;
89
+ }
90
+ else {
91
+ // Markdown mode: Traditional plan file approach
92
+ enhanced = `Check your plan file at \`${conversationContext.planFilePath}\` and focus on the "${this.capitalizePhase(phase)}" section.
71
93
 
72
94
  ${baseInstructions}
73
95
 
74
96
  **Plan File Guidance:**
75
97
  - Work on the tasks listed in the ${this.capitalizePhase(phase)} section
76
- - Mark completed tasks with [x] as you finish them
77
- - Add new tasks as they are identified during your work with the user
98
+ ${taskGuidance}
78
99
  - Update the "Key Decisions" section with important choices made
79
100
  - Add relevant notes to help maintain context`;
101
+ }
80
102
  // Add project context
81
103
  enhanced += `\n\n**Project Context:**
82
104
  - Project: ${conversationContext.projectPath}
@@ -93,11 +115,34 @@ ${baseInstructions}
93
115
  '\n\n**Note**: Plan file will be created when you first update it.';
94
116
  }
95
117
  // Add continuity and task management instructions
118
+ const taskReminder = taskBackendConfig.backend === 'beads' && taskBackendConfig.isAvailable
119
+ ? 'Use ONLY bd CLI tool for task management - do not use your own task management tools'
120
+ : 'Use ONLY the development plan for task management - do not use your own task management tools';
96
121
  enhanced += `\n\n**Important Reminders:**
97
- - Use ONLY the development plan for task management - do not use your own task management tools
122
+ - ${taskReminder}
98
123
  - Call whats_next() after the next user message to maintain the development workflow`;
99
124
  return enhanced;
100
125
  }
126
+ /**
127
+ * Generate task management guidance based on active backend
128
+ */
129
+ generateTaskManagementGuidance(taskBackendConfig) {
130
+ if (taskBackendConfig.backend === 'beads' &&
131
+ taskBackendConfig.isAvailable) {
132
+ return `- Use bd CLI tool exclusively
133
+ - **Start by listing ready tasks**: \`bd list --parent <phase-task-id> --status open\`
134
+ - **Create new tasks**: \`bd create 'Task title' --parent <phase-task-id> -p 2\`
135
+ - **Update status when working**: \`bd update <task-id> --status in_progress\`
136
+ - **Complete tasks**: \`bd ready <task-id>\`
137
+ - **Focus on ready tasks first** - let beads handle dependencies
138
+ - Add new tasks as they are identified during your work with the user`;
139
+ }
140
+ else {
141
+ // Default markdown backend
142
+ return `- Mark completed tasks with [x] as you finish them
143
+ - Add new tasks as they are identified during your work with the user`;
144
+ }
145
+ }
101
146
  /**
102
147
  * Capitalize phase name for display
103
148
  */
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-generator.js","sourceRoot":"","sources":["../src/instruction-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAsB/D,MAAM,OAAO,oBAAoB;IACvB,WAAW,CAAc;IACzB,kBAAkB,CAAqB;IACvC,YAAY,GAA4B,IAAI,CAAC;IAErD,YAAY,WAAwB;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,YAA8B;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,gBAAwB,EACxB,OAA2B;QAE3B,mDAAmD;QACnD,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAC5D,gBAAgB,EAChB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EACvC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CACtC,CAAC;QAEF,yBAAyB;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAChE,OAAO,CAAC,KAAK,CACd,CAAC;QAEF,2DAA2D;QAC3D,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACzD,uBAAuB,EACvB,OAAO,EACP,gBAAgB,CACjB,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,oBAAoB;YAClC,gBAAgB;YAChB,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAY;gBACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,YAAoB,EACpB,WAAmB,EACnB,SAAkB;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CACpE,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAI,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,oDAAoD;YACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,gBAAwB,EACxB,OAA2B,EAC3B,iBAAyB;QAEzB,MAAM,EACJ,KAAK,EACL,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,cAAc,GACf,GAAG,OAAO,CAAC;QAEZ,2CAA2C;QAC3C,IAAI,QAAQ,GAAG,6BAA6B,mBAAmB,CAAC,YAAY,wBAAwB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;EAEjI,gBAAgB;;;oCAGkB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;;;;8CAIjB,CAAC;QAE3C,sBAAsB;QACtB,QAAQ,IAAI;aACH,mBAAmB,CAAC,WAAW;YAChC,mBAAmB,CAAC,SAAS;mBACtB,KAAK,EAAE,CAAC;QAEvB,yDAAyD;QACzD,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;YAClC,QAAQ,IAAI;IACd,gBAAgB,EAAE,CAAC;QACnB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ;gBACN,mEAAmE,CAAC;QACxE,CAAC;QAED,kDAAkD;QAClD,QAAQ,IAAI;;qFAEqE,CAAC;QAElF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAa;QACnC,OAAO,KAAK;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"instruction-generator.js","sourceRoot":"","sources":["../src/instruction-generator.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * Supports custom state machine definitions for dynamic plan file generation.
7
7
  */
8
8
  import type { YamlStateMachine } from './state-machine-types.js';
9
+ import type { TaskBackendConfig } from './task-backend.js';
9
10
  export interface PlanFileInfo {
10
11
  path: string;
11
12
  exists: boolean;
@@ -13,10 +14,15 @@ export interface PlanFileInfo {
13
14
  }
14
15
  export declare class PlanManager {
15
16
  private stateMachine;
17
+ private taskBackend;
16
18
  /**
17
19
  * Set the state machine definition for dynamic plan generation
18
20
  */
19
21
  setStateMachine(stateMachine: YamlStateMachine): void;
22
+ /**
23
+ * Set the task backend configuration
24
+ */
25
+ setTaskBackend(taskBackend: TaskBackendConfig): void;
20
26
  /**
21
27
  * Get plan file information
22
28
  */
@@ -12,6 +12,7 @@ import { createLogger } from './logger.js';
12
12
  const logger = createLogger('PlanManager');
13
13
  export class PlanManager {
14
14
  stateMachine = null;
15
+ taskBackend = null;
15
16
  /**
16
17
  * Set the state machine definition for dynamic plan generation
17
18
  */
@@ -22,6 +23,16 @@ export class PlanManager {
22
23
  phases: Object.keys(stateMachine.states),
23
24
  });
24
25
  }
26
+ /**
27
+ * Set the task backend configuration
28
+ */
29
+ setTaskBackend(taskBackend) {
30
+ this.taskBackend = taskBackend;
31
+ logger.debug('Task backend set for plan manager', {
32
+ backend: taskBackend.backend,
33
+ available: taskBackend.isAvailable,
34
+ });
35
+ }
25
36
  /**
26
37
  * Get plan file information
27
38
  */
@@ -101,6 +112,7 @@ export class PlanManager {
101
112
  }
102
113
  const phases = Object.keys(this.stateMachine.states);
103
114
  const initialPhase = this.stateMachine.initial_state;
115
+ const isBeadsMode = this.taskBackend?.backend === 'beads';
104
116
  const documentationUrl = this.generateWorkflowDocumentationUrl(this.stateMachine.name);
105
117
  let content = `# Development Plan: ${projectName}${branchInfo}
106
118
 
@@ -108,13 +120,17 @@ export class PlanManager {
108
120
  *Workflow: ${documentationUrl
109
121
  ? '[' + this.stateMachine.name + ']' + '(' + documentationUrl + ')'
110
122
  : this.stateMachine.name}*
123
+ *Task Management: ${isBeadsMode ? 'Beads Issue Tracker' : 'Markdown Checkboxes'}*
111
124
 
112
125
  ## Goal
113
126
  *Define what you're building or fixing - this will be updated as requirements are gathered*
114
127
 
115
128
  ## ${this.capitalizePhase(initialPhase)}
129
+ ${isBeadsMode ? '<!-- beads-phase-id: TBD -->' : ''}
116
130
  ### Tasks
117
- - [ ] *Tasks will be added as they are identified*
131
+ ${isBeadsMode
132
+ ? '**🔧 TASK MANAGEMENT VIA CLI TOOL bd**\n\nTasks are managed via bd CLI tool. Use bd commands to create and manage tasks with proper hierarchy:\n\n- `bd list --parent <phase-task-id>`\n- `bd create "Task title" --parent <phase-task-id> -p 2`\n- `bd ready <task-id>`\n\n**Never use [ ] or [x] checkboxes - use bd commands only!**'
133
+ : '- [ ] *Tasks will be added as they are identified*'}
118
134
 
119
135
  ### Completed
120
136
  - [x] Created development plan file
@@ -124,8 +140,11 @@ export class PlanManager {
124
140
  for (const phase of phases) {
125
141
  if (phase !== initialPhase) {
126
142
  content += `## ${this.capitalizePhase(phase)}
143
+ ${isBeadsMode ? '<!-- beads-phase-id: TBD -->' : ''}
127
144
  ### Tasks
128
- - [ ] *To be added when this phase becomes active*
145
+ ${isBeadsMode
146
+ ? '**🔧 TASK MANAGEMENT VIA CLI TOOL bd**\n\nTasks are managed via bd CLI tool. Use bd commands to create and manage tasks with proper hierarchy:\n\n- `bd list --parent <phase-task-id>`\n- `bd create "Task title" --parent <phase-task-id> -p 2`\n- `bd ready <task-id>`\n\n**Never use [ ] or [x] checkboxes - use bd commands only!**'
147
+ : '- [ ] *To be added when this phase becomes active*'}
129
148
 
130
149
  ### Completed
131
150
  *None yet*
@@ -1 +1 @@
1
- {"version":3,"file":"plan-manager.js","sourceRoot":"","sources":["../src/plan-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-manager.js","sourceRoot":"","sources":["../src/plan-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAQ3C,MAAM,OAAO,WAAW;IACd,YAAY,GAA4B,IAAI,CAAC;IAC7C,WAAW,GAA6B,IAAI,CAAC;IAErD;;OAEG;IACH,eAAe,CAAC,YAA8B;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;YACjD,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,WAA8B;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YAChD,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,WAAW,CAAC,WAAW;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,IAAI;gBACZ,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,WAAmB,EACnB,SAAiB;QAEjB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,YAAY;YACZ,WAAW;YACX,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBACxD,YAAY;aACb,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,YAAoB,EACpB,WAAmB,EACnB,SAAiB;QAEjB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC1C,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC;aACjC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,iBAAiB,CAAC;YACtE,MAAM,UAAU,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAE1E,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,CACpD,WAAW,EACX,UAAU,CACX,CAAC;YAEF,MAAM,SAAS,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;gBACpD,YAAY;gBACZ,aAAa,EAAE,cAAc,CAAC,MAAM;gBACpC,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAc,EAAE;gBACjE,YAAY;aACb,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAChC,WAAmB,EACnB,UAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC;QAE1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gCAAgC,CAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC;QAEF,IAAI,OAAO,GAAG,uBAAuB,WAAW,GAAG,UAAU;;gBAEjD,SAAS;aAEnB,gBAAgB;YACd,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG;YACnE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IACxB;oBACgB,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB;;;;;KAK1E,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;EACrC,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE;;EAGjD,WAAW;YACT,CAAC,CAAC,yUAAyU;YAC3U,CAAC,CAAC,oDACN;;;;;CAKC,CAAC;QAEE,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC3B,OAAO,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;EAClD,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE;;EAGjD,WAAW;oBACT,CAAC,CAAC,yUAAyU;oBAC3U,CAAC,CAAC,oDACN;;;;;CAKC,CAAC;YACI,CAAC;QACH,CAAC;QAED,OAAO,IAAI;;;;;;;;CAQd,CAAC;QAEE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAe;QACxD,0BAA0B;QAC1B,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,2EAA2E,CAAC;QACrF,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,KAAa;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,cAAc,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,0DAA0D,CAAC;QAC7G,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAErD,OAAO,cAAc,gBAAgB,iGAAiG,CAAC;IACzI,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAE3B,4CAA4C;YAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACpD,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAE3B,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,CAAC,+CAA+C;YAC9D,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAc,EAAE;gBACzD,YAAY;aACb,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QAC9C,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,sCAAsC;YACtC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBAC3D,YAAY;aACb,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;oBAC9D,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4BAA4B;YAC5B,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAc,EAAE;gBAChE,YAAY;aACb,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAa;QACnC,OAAO,KAAK;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,gCAAgC,CACtC,YAAoB;QAEpB,0CAA0C;QAC1C,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wCAAwC;QACxC,OAAO,8DAA8D,YAAY,EAAE,CAAC;IACtF,CAAC;CACF"}
@@ -31,7 +31,9 @@ IMPORTANT: Call whats_next() after each user message to get phase-specific instr
31
31
 
32
32
  Each tool call returns a JSON response with an "instructions" field. Follow these instructions immediately after you receive them.
33
33
 
34
- Do not use your own task management tools. Use the development plan which you will retrieve via whats_next() for all task tracking and project management.`;
34
+ Use the development plan which you will retrieve via whats_next() to record important insights and decisions as per the structure of the plan.
35
+
36
+ Do not use your own task management tools.`;
35
37
  logger.info('System prompt generated successfully', {
36
38
  promptLength: systemPrompt.length,
37
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt-generator.js","sourceRoot":"","sources":["../src/system-prompt-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA8B;IACjE,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;QACrE,gBAAgB,EAAE,YAAY,CAAC,IAAI;QACnC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;KACpD,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,aAA+B;IACjE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG;;;;;;;2JAOoI,CAAC;IAE1J,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;QAClD,YAAY,EAAE,YAAY,CAAC,MAAM;KAClC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"system-prompt-generator.js","sourceRoot":"","sources":["../src/system-prompt-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA8B;IACjE,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;QACrE,gBAAgB,EAAE,YAAY,CAAC,IAAI;QACnC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;KACpD,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,aAA+B;IACjE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG;;;;;;;;;2CASoB,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;QAClD,YAAY,EAAE,YAAY,CAAC,MAAM;KAClC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Task Backend Management
3
+ *
4
+ * Provides abstraction layer for different task management backends:
5
+ * - markdown: Traditional plan file with checkbox tasks
6
+ * - beads: Beads distributed issue tracker integration
7
+ */
8
+ export type TaskBackend = 'markdown' | 'beads';
9
+ export interface TaskBackendConfig {
10
+ backend: TaskBackend;
11
+ isAvailable: boolean;
12
+ errorMessage?: string;
13
+ }
14
+ /**
15
+ * Task backend detection and management utility
16
+ */
17
+ export declare class TaskBackendManager {
18
+ /**
19
+ * Detect and validate the requested task backend
20
+ */
21
+ static detectTaskBackend(): TaskBackendConfig;
22
+ /**
23
+ * Check if beads command is available and functional
24
+ */
25
+ private static checkBeadsAvailability;
26
+ /**
27
+ * Get setup instructions for beads backend
28
+ */
29
+ static getBeadsSetupInstructions(): string;
30
+ /**
31
+ * Validate task backend configuration and throw error if invalid
32
+ */
33
+ static validateTaskBackend(): TaskBackendConfig;
34
+ }
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Task Backend Management
3
+ *
4
+ * Provides abstraction layer for different task management backends:
5
+ * - markdown: Traditional plan file with checkbox tasks
6
+ * - beads: Beads distributed issue tracker integration
7
+ */
8
+ import { execSync } from 'node:child_process';
9
+ import { createLogger } from './logger.js';
10
+ const logger = createLogger('TaskBackend');
11
+ /**
12
+ * Task backend detection and management utility
13
+ */
14
+ export class TaskBackendManager {
15
+ /**
16
+ * Detect and validate the requested task backend
17
+ */
18
+ static detectTaskBackend() {
19
+ const envBackend = process.env['TASK_BACKEND']?.toLowerCase().trim();
20
+ // Default to markdown if not set or invalid
21
+ if (!envBackend || !['markdown', 'beads'].includes(envBackend)) {
22
+ logger.debug('Using default markdown backend', {
23
+ envBackend,
24
+ reason: envBackend ? 'invalid value' : 'not set',
25
+ });
26
+ return {
27
+ backend: 'markdown',
28
+ isAvailable: true,
29
+ };
30
+ }
31
+ const backend = envBackend;
32
+ if (backend === 'markdown') {
33
+ return {
34
+ backend: 'markdown',
35
+ isAvailable: true,
36
+ };
37
+ }
38
+ if (backend === 'beads') {
39
+ const beadsAvailable = TaskBackendManager.checkBeadsAvailability();
40
+ if (beadsAvailable.isAvailable) {
41
+ return {
42
+ backend: 'beads',
43
+ isAvailable: true,
44
+ };
45
+ }
46
+ else {
47
+ return {
48
+ backend: 'beads',
49
+ isAvailable: false,
50
+ errorMessage: beadsAvailable.errorMessage || 'Beads backend not available',
51
+ };
52
+ }
53
+ }
54
+ // Should never reach here
55
+ return {
56
+ backend: 'markdown',
57
+ isAvailable: true,
58
+ };
59
+ }
60
+ /**
61
+ * Check if beads command is available and functional
62
+ */
63
+ static checkBeadsAvailability() {
64
+ try {
65
+ // Check if bd command exists and is functional
66
+ const output = execSync('bd --version', {
67
+ encoding: 'utf-8',
68
+ stdio: ['ignore', 'pipe', 'pipe'],
69
+ timeout: 5000,
70
+ });
71
+ logger.debug('Beads command available', { version: output.trim() });
72
+ return { isAvailable: true };
73
+ }
74
+ catch (error) {
75
+ const errorMessage = error instanceof Error ? error.message : String(error);
76
+ // Provide helpful error message based on error type
77
+ if (errorMessage.includes('command not found') ||
78
+ errorMessage.includes('not recognized')) {
79
+ return {
80
+ isAvailable: false,
81
+ errorMessage: 'Beads command (bd) not found. Please install beads from: https://github.com/beads-data/beads',
82
+ };
83
+ }
84
+ if (errorMessage.includes('timeout')) {
85
+ return {
86
+ isAvailable: false,
87
+ errorMessage: 'Beads command (bd) timed out. Check if beads is properly installed and configured.',
88
+ };
89
+ }
90
+ logger.warn('Beads availability check failed', { errorMessage });
91
+ return {
92
+ isAvailable: false,
93
+ errorMessage: `Beads command (bd) check failed: ${errorMessage}`,
94
+ };
95
+ }
96
+ }
97
+ /**
98
+ * Get setup instructions for beads backend
99
+ */
100
+ static getBeadsSetupInstructions() {
101
+ return `## Beads Setup Required
102
+
103
+ To use beads as your task backend, you need to install beads:
104
+
105
+ ### Installation
106
+ 1. Clone the beads repository:
107
+ \`\`\`bash
108
+ git clone https://github.com/beads-data/beads.git ~/beads
109
+ cd ~/beads
110
+ \`\`\`
111
+
112
+ 2. Build and install beads:
113
+ \`\`\`bash
114
+ make install
115
+ \`\`\`
116
+
117
+ 3. Verify installation:
118
+ \`\`\`bash
119
+ bd --version
120
+ \`\`\`
121
+
122
+ ### Configuration
123
+ After installation, set the task backend:
124
+ \`\`\`bash
125
+ export TASK_BACKEND=beads
126
+ \`\`\`
127
+
128
+ Then restart the responsible-vibe-mcp server and try again.
129
+
130
+ ### Alternative: Use Markdown Backend
131
+ If you prefer to continue with traditional plan file task management:
132
+ \`\`\`bash
133
+ export TASK_BACKEND=markdown # or unset TASK_BACKEND
134
+ \`\`\``;
135
+ }
136
+ /**
137
+ * Validate task backend configuration and throw error if invalid
138
+ */
139
+ static validateTaskBackend() {
140
+ const config = this.detectTaskBackend();
141
+ if (!config.isAvailable) {
142
+ const setupInstructions = config.backend === 'beads'
143
+ ? this.getBeadsSetupInstructions()
144
+ : 'Task backend validation failed';
145
+ throw new Error(`Task backend '${config.backend}' is not available.\n\n${config.errorMessage || ''}\n\n${setupInstructions}`);
146
+ }
147
+ logger.info('Task backend validated successfully', {
148
+ backend: config.backend,
149
+ available: config.isAvailable,
150
+ });
151
+ return config;
152
+ }
153
+ }
154
+ //# sourceMappingURL=task-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-backend.js","sourceRoot":"","sources":["../src/task-backend.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemcp/workflows-core",
3
- "version": "4.5.0",
3
+ "version": "4.6.1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -33,7 +33,7 @@ states:
33
33
  • What error messages, logs, or stack traces are available?
34
34
  • Does this happen every time or intermittently?
35
35
  • How many users are affected and what is the business impact?
36
- Create test cases that demonstrate the problem. Document your findings in the plan file.
36
+ Create test cases that demonstrate the problem. Document your findings and create tasks as needed.
37
37
  transitions:
38
38
  - trigger: 'bug_reproduced'
39
39
  to: 'analyze'
@@ -54,7 +54,7 @@ states:
54
54
 
55
55
  analyze:
56
56
  description: 'Analyze the bug and identify root cause'
57
- default_instructions: 'You are in the bug analysis phase. Examine the code paths involved in the bug, identify the root cause, and understand why the issue occurs. Use debugging tools, add logging, and trace through the problematic code. Document your analysis in the plan file.'
57
+ default_instructions: 'You are in the bug analysis phase. Examine the code paths involved in the bug, identify the root cause, and understand why the issue occurs. Use debugging tools, add logging, and trace through the problematic code. Document your analysis and create tasks as needed.'
58
58
  transitions:
59
59
  - trigger: 'need_more_reproduction'
60
60
  to: 'reproduce'
@@ -63,7 +63,7 @@ states:
63
63
 
64
64
  - trigger: 'root_cause_identified'
65
65
  to: 'fix'
66
- additional_instructions: 'Document the root cause approach in the plan file.'
66
+ additional_instructions: 'Document the root cause approach and update task progress.'
67
67
  transition_reason: 'Root cause identified, ready to implement fix'
68
68
  review_perspectives:
69
69
  - perspective: 'architect'
@@ -91,7 +91,7 @@ states:
91
91
 
92
92
  - trigger: 'fix_implemented'
93
93
  to: 'verify'
94
- additional_instructions: 'Document the fix approach in the plan file.'
94
+ additional_instructions: 'Document the fix approach and update task progress.'
95
95
  transition_reason: 'Fix implemented, ready for verification'
96
96
  review_perspectives:
97
97
  - perspective: 'senior_software_developer'
@@ -165,7 +165,7 @@ states:
165
165
  - Verify documentation accuracy with a final review
166
166
  - Ensure bug fix is ready for production
167
167
 
168
- Update the plan file with finalization progress and mark completed tasks.
168
+ Update task progress and mark completed work as you finalize the bug fix.
169
169
  transitions:
170
170
  - trigger: 'need_fix_changes'
171
171
  to: 'fix'