@codemcp/workflows-core 5.2.1 → 5.2.3
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.
- package/dist/conversation-manager.js +3 -2
- package/dist/conversation-manager.js.map +1 -1
- package/dist/path-validation-utils.d.ts +24 -0
- package/dist/path-validation-utils.js +37 -1
- package/dist/path-validation-utils.js.map +1 -1
- package/dist/plan-manager.js +2 -1
- package/dist/plan-manager.js.map +1 -1
- package/package.json +1 -1
- package/resources/workflows/adr.yaml +62 -48
- package/resources/workflows/big-bang-conversion.yaml +231 -172
- package/resources/workflows/boundary-testing.yaml +137 -95
- package/resources/workflows/bugfix.yaml +33 -38
- package/resources/workflows/business-analysis.yaml +130 -172
- package/resources/workflows/c4-analysis.yaml +120 -114
- package/resources/workflows/epcc.yaml +43 -10
- package/resources/workflows/game-beginner.yaml +113 -103
- package/resources/workflows/greenfield.yaml +61 -38
- package/resources/workflows/minor.yaml +51 -28
- package/resources/workflows/posts.yaml +41 -42
- package/resources/workflows/sdd-bugfix-crowd.yaml +181 -206
- package/resources/workflows/sdd-bugfix.yaml +168 -179
- package/resources/workflows/sdd-feature-crowd.yaml +357 -380
- package/resources/workflows/sdd-feature.yaml +162 -155
- package/resources/workflows/sdd-greenfield-crowd.yaml +82 -74
- package/resources/workflows/sdd-greenfield.yaml +153 -147
- package/resources/workflows/slides.yaml +29 -35
- package/resources/workflows/tdd.yaml +59 -48
- package/resources/workflows/waterfall.yaml +64 -44
|
@@ -9,6 +9,7 @@ import { execSync } from 'node:child_process';
|
|
|
9
9
|
import { resolve } from 'node:path';
|
|
10
10
|
import { existsSync } from 'node:fs';
|
|
11
11
|
import { createLogger } from './logger.js';
|
|
12
|
+
import { getPathBasename } from './path-validation-utils.js';
|
|
12
13
|
import { PlanManager } from './plan-manager.js';
|
|
13
14
|
const logger = createLogger('ConversationManager');
|
|
14
15
|
export class ConversationManager {
|
|
@@ -196,8 +197,8 @@ export class ConversationManager {
|
|
|
196
197
|
* @param gitBranch - Git branch name
|
|
197
198
|
*/
|
|
198
199
|
generateConversationId(projectPath, gitBranch) {
|
|
199
|
-
// Extract project name from path
|
|
200
|
-
const projectName = projectPath
|
|
200
|
+
// Extract project name from path (cross-platform: handles both / and \)
|
|
201
|
+
const projectName = getPathBasename(projectPath, 'unknown-project');
|
|
201
202
|
// Clean branch name for use in ID
|
|
202
203
|
const cleanBranch = gitBranch
|
|
203
204
|
.replace(/[^a-zA-Z0-9-]/g, '-')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,3 +49,27 @@ export declare class PathValidationUtils {
|
|
|
49
49
|
design: string[];
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Cross-platform utility to extract the last component of a path.
|
|
54
|
+
* Handles both forward slashes (/) and backslashes (\) regardless of
|
|
55
|
+
* the platform the code is running on.
|
|
56
|
+
*
|
|
57
|
+
* Note: Node.js's `path.basename()` only handles the native path separator
|
|
58
|
+
* for the current platform. This function normalizes paths to handle both
|
|
59
|
+
* Unix and Windows paths on any platform.
|
|
60
|
+
*
|
|
61
|
+
* @param filePath - The file path to extract from
|
|
62
|
+
* @param fallback - Fallback value if path is empty (default: 'unknown')
|
|
63
|
+
* @returns The last component of the path, or the fallback value
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* // Unix-style paths
|
|
67
|
+
* getPathBasename('/home/user/project') // 'project'
|
|
68
|
+
*
|
|
69
|
+
* // Windows-style paths (works on any platform)
|
|
70
|
+
* getPathBasename('c:\\work\\project') // 'project'
|
|
71
|
+
*
|
|
72
|
+
* // Mixed paths
|
|
73
|
+
* getPathBasename('c:/work/project') // 'project'
|
|
74
|
+
*/
|
|
75
|
+
export declare function getPathBasename(filePath: string, fallback?: string): string;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* and ensuring security constraints for the file linking functionality.
|
|
6
6
|
*/
|
|
7
7
|
import { access, stat } from 'node:fs/promises';
|
|
8
|
-
import { resolve, isAbsolute, join, normalize } from 'node:path';
|
|
8
|
+
import { resolve, isAbsolute, join, normalize, basename } from 'node:path';
|
|
9
9
|
import { createLogger } from './logger.js';
|
|
10
10
|
const logger = createLogger('PathValidationUtils');
|
|
11
11
|
export class PathValidationUtils {
|
|
@@ -199,4 +199,40 @@ export class PathValidationUtils {
|
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Cross-platform utility to extract the last component of a path.
|
|
204
|
+
* Handles both forward slashes (/) and backslashes (\) regardless of
|
|
205
|
+
* the platform the code is running on.
|
|
206
|
+
*
|
|
207
|
+
* Note: Node.js's `path.basename()` only handles the native path separator
|
|
208
|
+
* for the current platform. This function normalizes paths to handle both
|
|
209
|
+
* Unix and Windows paths on any platform.
|
|
210
|
+
*
|
|
211
|
+
* @param filePath - The file path to extract from
|
|
212
|
+
* @param fallback - Fallback value if path is empty (default: 'unknown')
|
|
213
|
+
* @returns The last component of the path, or the fallback value
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* // Unix-style paths
|
|
217
|
+
* getPathBasename('/home/user/project') // 'project'
|
|
218
|
+
*
|
|
219
|
+
* // Windows-style paths (works on any platform)
|
|
220
|
+
* getPathBasename('c:\\work\\project') // 'project'
|
|
221
|
+
*
|
|
222
|
+
* // Mixed paths
|
|
223
|
+
* getPathBasename('c:/work/project') // 'project'
|
|
224
|
+
*/
|
|
225
|
+
export function getPathBasename(filePath, fallback = 'unknown') {
|
|
226
|
+
if (!filePath) {
|
|
227
|
+
return fallback;
|
|
228
|
+
}
|
|
229
|
+
// Normalize backslashes to forward slashes for cross-platform support
|
|
230
|
+
// This ensures Windows paths are handled correctly on Unix and vice versa
|
|
231
|
+
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
232
|
+
// Remove trailing slashes
|
|
233
|
+
const trimmedPath = normalizedPath.replace(/\/+$/, '');
|
|
234
|
+
// Use basename on the normalized path
|
|
235
|
+
const result = basename(trimmedPath);
|
|
236
|
+
return result || fallback;
|
|
237
|
+
}
|
|
202
238
|
//# sourceMappingURL=path-validation-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-validation-utils.js","sourceRoot":"","sources":["../src/path-validation-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"path-validation-utils.js","sourceRoot":"","sources":["../src/path-validation-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-manager.js
CHANGED
|
@@ -9,6 +9,7 @@ import { writeFile, readFile, access } from 'node:fs/promises';
|
|
|
9
9
|
import { dirname } from 'node:path';
|
|
10
10
|
import { mkdir } from 'node:fs/promises';
|
|
11
11
|
import { createLogger } from './logger.js';
|
|
12
|
+
import { getPathBasename } from './path-validation-utils.js';
|
|
12
13
|
const logger = createLogger('PlanManager');
|
|
13
14
|
export class PlanManager {
|
|
14
15
|
stateMachine = null;
|
|
@@ -85,7 +86,7 @@ export class PlanManager {
|
|
|
85
86
|
logger.debug('Plan file directory ensured', {
|
|
86
87
|
directory: dirname(planFilePath),
|
|
87
88
|
});
|
|
88
|
-
const projectName = projectPath
|
|
89
|
+
const projectName = getPathBasename(projectPath, 'Unknown Project');
|
|
89
90
|
const branchInfo = gitBranch !== 'no-git' ? ` (${gitBranch} branch)` : '';
|
|
90
91
|
const initialContent = this.generateInitialPlanContent(projectName, branchInfo);
|
|
91
92
|
await writeFile(planFilePath, initialContent, 'utf-8');
|
package/dist/plan-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"plan-manager.js","sourceRoot":"","sources":["../src/plan-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -23,20 +23,27 @@ states:
|
|
|
23
23
|
context:
|
|
24
24
|
description: 'Define the architectural problem or decision that needs to be made'
|
|
25
25
|
default_instructions: |
|
|
26
|
-
|
|
26
|
+
**STEP 1:** Determine ADR storage location
|
|
27
|
+
- If `$ARCHITECTURE_DOC` exists: Use it to determine ADR storage location
|
|
28
|
+
- Otherwise: Document ADR decisions in the plan file
|
|
27
29
|
|
|
28
|
-
**
|
|
29
|
-
1. Check if $ARCHITECTURE_DOC exists to determine ADR storage location
|
|
30
|
-
2. Look for existing ADRs to understand current format/numbering
|
|
31
|
-
3. Help user clearly define the architectural problem or decision needed
|
|
32
|
-
4. Identify key stakeholders who should be involved
|
|
33
|
-
5. IMPORTANT: Gather information about the quality attributes (non-functional requirements)
|
|
34
|
-
that are relevant to this decision (e.g., performance, security, maintainability)
|
|
35
|
-
6. Document the context and problem statement
|
|
36
|
-
7. Create initial ADR structure using existing format or template above
|
|
30
|
+
**STEP 2:** Look for existing ADRs to understand current format and numbering
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
**STEP 3:** Help user clearly define the architectural problem or decision needed
|
|
33
|
+
|
|
34
|
+
**STEP 4:** Identify key stakeholders who should be involved
|
|
35
|
+
|
|
36
|
+
**STEP 5:** Gather information about quality attributes (non-functional requirements) relevant to this decision
|
|
37
|
+
- Performance implications
|
|
38
|
+
- Security requirements
|
|
39
|
+
- Maintainability concerns
|
|
40
|
+
- Other relevant attributes
|
|
41
|
+
|
|
42
|
+
**STEP 6:** Document the context and problem statement
|
|
43
|
+
|
|
44
|
+
**STEP 7:** Create initial ADR structure using existing format or provided template
|
|
45
|
+
|
|
46
|
+
Focus on understanding WHAT decision needs to be made and WHY it's important. Do not evaluate technical options yet—that happens in the decide phase.
|
|
40
47
|
|
|
41
48
|
additional_instructions: |
|
|
42
49
|
**ADR Template (use if no existing ADRs found):**
|
|
@@ -71,20 +78,21 @@ states:
|
|
|
71
78
|
research:
|
|
72
79
|
description: 'Investigate options, gather information, and analyze alternatives'
|
|
73
80
|
default_instructions: |
|
|
74
|
-
|
|
81
|
+
**STEP 1:** Research available options and alternatives for the decision
|
|
82
|
+
|
|
83
|
+
**STEP 2:** Gather technical information, constraints, and requirements
|
|
75
84
|
|
|
76
|
-
**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- Many solutions will require knowledge about a particular technology. Query the user about his experience with it.
|
|
82
|
-
- Don't jump to judgments: Consider the user's perspective on the decision-making process
|
|
83
|
-
4. Document findings in the "Alternatives Considered" section
|
|
84
|
-
5. Identify pros and cons for each option
|
|
85
|
+
**STEP 3:** Analyze trade-offs between different approaches
|
|
86
|
+
- Evaluate each option based on defined quality attributes
|
|
87
|
+
- Query user about experience with specific technologies
|
|
88
|
+
- Consider user's perspective on the decision-making process
|
|
89
|
+
- Avoid premature judgments
|
|
85
90
|
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
**STEP 4:** Document findings in the "Alternatives Considered" section
|
|
92
|
+
|
|
93
|
+
**STEP 5:** Identify pros and cons for each option
|
|
94
|
+
|
|
95
|
+
Work with the user to thoroughly understand all viable options before making a decision. Update the ADR with research findings but do not make the final decision yet.
|
|
88
96
|
|
|
89
97
|
transitions:
|
|
90
98
|
- trigger: research_complete
|
|
@@ -94,19 +102,21 @@ states:
|
|
|
94
102
|
decide:
|
|
95
103
|
description: 'Make the architectural decision and document the rationale'
|
|
96
104
|
default_instructions: |
|
|
97
|
-
|
|
105
|
+
**STEP 1:** Help user make the final architectural decision based on research conducted
|
|
106
|
+
|
|
107
|
+
**STEP 2:** Document the chosen option in the "Decision" section
|
|
108
|
+
|
|
109
|
+
**STEP 3:** Provide clear rationale for why this option was selected
|
|
110
|
+
|
|
111
|
+
**STEP 4:** Document positive consequences (benefits) of the decision
|
|
98
112
|
|
|
99
|
-
**
|
|
100
|
-
1. Help user make the final architectural decision based on research
|
|
101
|
-
2. Document the chosen option in the "Decision" section
|
|
102
|
-
3. Provide clear rationale for why this option was selected
|
|
103
|
-
4. Document positive consequences (benefits) of the decision
|
|
104
|
-
5. Document negative consequences (drawbacks/risks) of the decision
|
|
105
|
-
6. Ensure the decision is specific and actionable
|
|
106
|
-
7. Update ADR status to "Accepted" (or "Proposed" if needs approval)
|
|
113
|
+
**STEP 5:** Document negative consequences (drawbacks and risks) of the decision
|
|
107
114
|
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
**STEP 6:** Ensure the decision is specific and actionable
|
|
116
|
+
|
|
117
|
+
**STEP 7:** Update ADR status to "Accepted" (or "Proposed" if approval is needed)
|
|
118
|
+
|
|
119
|
+
Focus on making a clear, well-reasoned decision with documented rationale based on the research conducted in the previous phase.
|
|
110
120
|
|
|
111
121
|
transitions:
|
|
112
122
|
- trigger: decision_complete
|
|
@@ -123,19 +133,23 @@ states:
|
|
|
123
133
|
commit:
|
|
124
134
|
description: 'Finalize the ADR with validation and cleanup'
|
|
125
135
|
default_instructions: |
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
4
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
**STEP 1:** Review ADR completeness and quality
|
|
137
|
+
|
|
138
|
+
**STEP 2:** Ensure proper formatting and structure
|
|
139
|
+
|
|
140
|
+
**STEP 3:** Verify all sections are filled appropriately
|
|
141
|
+
|
|
142
|
+
**STEP 4:** Check that consequences (positive and negative) are documented
|
|
143
|
+
|
|
144
|
+
**STEP 5:** Ensure alternatives considered are listed
|
|
145
|
+
|
|
146
|
+
**STEP 6:** Finalize ADR numbering if needed
|
|
147
|
+
|
|
148
|
+
**STEP 7:** Update ADR status to final state (Accepted or Approved)
|
|
149
|
+
|
|
150
|
+
**STEP 8:** Save and integrate ADR into `$ARCHITECTURE_DOC` or appropriate location
|
|
151
|
+
|
|
152
|
+
Complete final validation and cleanup before the ADR is finalized.
|
|
139
153
|
|
|
140
154
|
transitions:
|
|
141
155
|
- trigger: need_decision_changes
|