musubi-sdd 5.0.0 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.ja.md +106 -48
  2. package/README.md +110 -32
  3. package/bin/musubi-analyze.js +74 -67
  4. package/bin/musubi-browser.js +27 -26
  5. package/bin/musubi-change.js +48 -47
  6. package/bin/musubi-checkpoint.js +10 -7
  7. package/bin/musubi-convert.js +25 -25
  8. package/bin/musubi-costs.js +27 -10
  9. package/bin/musubi-gui.js +52 -46
  10. package/bin/musubi-init.js +1952 -10
  11. package/bin/musubi-orchestrate.js +327 -239
  12. package/bin/musubi-remember.js +69 -56
  13. package/bin/musubi-resolve.js +53 -45
  14. package/bin/musubi-trace.js +51 -22
  15. package/bin/musubi-validate.js +39 -30
  16. package/bin/musubi-workflow.js +33 -34
  17. package/bin/musubi.js +39 -2
  18. package/package.json +1 -1
  19. package/src/agents/agent-loop.js +94 -95
  20. package/src/agents/agentic/code-generator.js +119 -109
  21. package/src/agents/agentic/code-reviewer.js +105 -108
  22. package/src/agents/agentic/index.js +4 -4
  23. package/src/agents/browser/action-executor.js +13 -13
  24. package/src/agents/browser/ai-comparator.js +11 -10
  25. package/src/agents/browser/context-manager.js +6 -6
  26. package/src/agents/browser/index.js +5 -5
  27. package/src/agents/browser/nl-parser.js +31 -46
  28. package/src/agents/browser/screenshot.js +2 -2
  29. package/src/agents/browser/test-generator.js +6 -4
  30. package/src/agents/function-tool.js +71 -65
  31. package/src/agents/index.js +7 -7
  32. package/src/agents/schema-generator.js +98 -94
  33. package/src/analyzers/ast-extractor.js +164 -145
  34. package/src/analyzers/codegraph-auto-update.js +858 -0
  35. package/src/analyzers/complexity-analyzer.js +536 -0
  36. package/src/analyzers/context-optimizer.js +247 -125
  37. package/src/analyzers/impact-analyzer.js +1 -1
  38. package/src/analyzers/large-project-analyzer.js +766 -0
  39. package/src/analyzers/repository-map.js +83 -80
  40. package/src/analyzers/security-analyzer.js +19 -11
  41. package/src/analyzers/stuck-detector.js +19 -17
  42. package/src/converters/index.js +78 -57
  43. package/src/converters/ir/types.js +12 -12
  44. package/src/converters/parsers/musubi-parser.js +134 -126
  45. package/src/converters/parsers/openapi-parser.js +70 -53
  46. package/src/converters/parsers/speckit-parser.js +239 -175
  47. package/src/converters/writers/musubi-writer.js +123 -118
  48. package/src/converters/writers/speckit-writer.js +124 -113
  49. package/src/generators/rust-migration-generator.js +512 -0
  50. package/src/gui/public/index.html +1365 -1211
  51. package/src/gui/server.js +41 -40
  52. package/src/gui/services/file-watcher.js +23 -8
  53. package/src/gui/services/project-scanner.js +26 -20
  54. package/src/gui/services/replanning-service.js +27 -23
  55. package/src/gui/services/traceability-service.js +8 -8
  56. package/src/gui/services/workflow-service.js +14 -7
  57. package/src/index.js +151 -0
  58. package/src/integrations/cicd.js +90 -104
  59. package/src/integrations/codegraph-mcp.js +643 -0
  60. package/src/integrations/documentation.js +142 -103
  61. package/src/integrations/examples.js +95 -80
  62. package/src/integrations/github-client.js +17 -17
  63. package/src/integrations/index.js +5 -5
  64. package/src/integrations/mcp/index.js +21 -21
  65. package/src/integrations/mcp/mcp-context-provider.js +76 -78
  66. package/src/integrations/mcp/mcp-discovery.js +74 -72
  67. package/src/integrations/mcp/mcp-tool-registry.js +99 -94
  68. package/src/integrations/mcp-connector.js +70 -66
  69. package/src/integrations/platforms.js +50 -49
  70. package/src/integrations/tool-discovery.js +37 -31
  71. package/src/llm-providers/anthropic-provider.js +11 -11
  72. package/src/llm-providers/base-provider.js +16 -18
  73. package/src/llm-providers/copilot-provider.js +22 -19
  74. package/src/llm-providers/index.js +26 -25
  75. package/src/llm-providers/ollama-provider.js +11 -11
  76. package/src/llm-providers/openai-provider.js +12 -12
  77. package/src/managers/agent-memory.js +36 -24
  78. package/src/managers/checkpoint-manager.js +4 -8
  79. package/src/managers/delta-spec.js +19 -19
  80. package/src/managers/index.js +13 -4
  81. package/src/managers/memory-condenser.js +35 -45
  82. package/src/managers/repo-skill-manager.js +57 -31
  83. package/src/managers/skill-loader.js +25 -22
  84. package/src/managers/skill-tools.js +36 -72
  85. package/src/managers/workflow.js +30 -22
  86. package/src/monitoring/cost-tracker.js +53 -44
  87. package/src/monitoring/incident-manager.js +123 -103
  88. package/src/monitoring/index.js +144 -134
  89. package/src/monitoring/observability.js +82 -59
  90. package/src/monitoring/quality-dashboard.js +51 -39
  91. package/src/monitoring/release-manager.js +70 -50
  92. package/src/orchestration/agent-skill-binding.js +39 -47
  93. package/src/orchestration/error-handler.js +65 -107
  94. package/src/orchestration/guardrails/base-guardrail.js +26 -24
  95. package/src/orchestration/guardrails/guardrail-rules.js +50 -64
  96. package/src/orchestration/guardrails/index.js +5 -5
  97. package/src/orchestration/guardrails/input-guardrail.js +58 -45
  98. package/src/orchestration/guardrails/output-guardrail.js +104 -81
  99. package/src/orchestration/guardrails/safety-check.js +79 -79
  100. package/src/orchestration/index.js +38 -55
  101. package/src/orchestration/mcp-tool-adapters.js +96 -99
  102. package/src/orchestration/orchestration-engine.js +21 -21
  103. package/src/orchestration/pattern-registry.js +60 -45
  104. package/src/orchestration/patterns/auto.js +34 -47
  105. package/src/orchestration/patterns/group-chat.js +59 -65
  106. package/src/orchestration/patterns/handoff.js +67 -65
  107. package/src/orchestration/patterns/human-in-loop.js +51 -72
  108. package/src/orchestration/patterns/nested.js +25 -40
  109. package/src/orchestration/patterns/sequential.js +35 -34
  110. package/src/orchestration/patterns/swarm.js +63 -56
  111. package/src/orchestration/patterns/triage.js +150 -109
  112. package/src/orchestration/reasoning/index.js +9 -9
  113. package/src/orchestration/reasoning/planning-engine.js +143 -140
  114. package/src/orchestration/reasoning/reasoning-engine.js +206 -144
  115. package/src/orchestration/reasoning/self-correction.js +121 -128
  116. package/src/orchestration/replanning/adaptive-goal-modifier.js +107 -112
  117. package/src/orchestration/replanning/alternative-generator.js +37 -42
  118. package/src/orchestration/replanning/config.js +63 -59
  119. package/src/orchestration/replanning/goal-progress-tracker.js +98 -100
  120. package/src/orchestration/replanning/index.js +24 -20
  121. package/src/orchestration/replanning/plan-evaluator.js +49 -50
  122. package/src/orchestration/replanning/plan-monitor.js +32 -28
  123. package/src/orchestration/replanning/proactive-path-optimizer.js +175 -178
  124. package/src/orchestration/replanning/replan-history.js +33 -26
  125. package/src/orchestration/replanning/replanning-engine.js +106 -108
  126. package/src/orchestration/skill-executor.js +107 -109
  127. package/src/orchestration/skill-registry.js +85 -89
  128. package/src/orchestration/workflow-examples.js +228 -231
  129. package/src/orchestration/workflow-executor.js +65 -68
  130. package/src/orchestration/workflow-orchestrator.js +72 -73
  131. package/src/phase4-integration.js +47 -40
  132. package/src/phase5-integration.js +89 -30
  133. package/src/reporters/coverage-report.js +82 -30
  134. package/src/reporters/hierarchical-reporter.js +498 -0
  135. package/src/reporters/traceability-matrix-report.js +29 -20
  136. package/src/resolvers/issue-resolver.js +43 -31
  137. package/src/steering/advanced-validation.js +133 -124
  138. package/src/steering/auto-updater.js +60 -73
  139. package/src/steering/index.js +6 -6
  140. package/src/steering/quality-metrics.js +41 -35
  141. package/src/steering/steering-auto-update.js +83 -86
  142. package/src/steering/steering-validator.js +98 -106
  143. package/src/steering/template-constraints.js +53 -54
  144. package/src/templates/agents/claude-code/CLAUDE.md +32 -32
  145. package/src/templates/agents/claude-code/skills/agent-assistant/SKILL.md +13 -5
  146. package/src/templates/agents/claude-code/skills/ai-ml-engineer/mlops-guide.md +23 -23
  147. package/src/templates/agents/claude-code/skills/ai-ml-engineer/model-card-template.md +60 -41
  148. package/src/templates/agents/claude-code/skills/api-designer/api-patterns.md +27 -19
  149. package/src/templates/agents/claude-code/skills/api-designer/openapi-template.md +11 -7
  150. package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +4 -3
  151. package/src/templates/agents/claude-code/skills/bug-hunter/root-cause-analysis.md +37 -15
  152. package/src/templates/agents/claude-code/skills/change-impact-analyzer/dependency-graph-patterns.md +36 -42
  153. package/src/templates/agents/claude-code/skills/change-impact-analyzer/impact-analysis-template.md +69 -60
  154. package/src/templates/agents/claude-code/skills/cloud-architect/aws-patterns.md +31 -38
  155. package/src/templates/agents/claude-code/skills/cloud-architect/azure-patterns.md +28 -23
  156. package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +61 -0
  157. package/src/templates/agents/claude-code/skills/code-reviewer/best-practices.md +27 -0
  158. package/src/templates/agents/claude-code/skills/code-reviewer/review-checklist.md +29 -10
  159. package/src/templates/agents/claude-code/skills/code-reviewer/review-standards.md +29 -24
  160. package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +8 -6
  161. package/src/templates/agents/claude-code/skills/constitution-enforcer/constitutional-articles.md +62 -26
  162. package/src/templates/agents/claude-code/skills/constitution-enforcer/phase-minus-one-gates.md +35 -16
  163. package/src/templates/agents/claude-code/skills/database-administrator/backup-recovery.md +27 -17
  164. package/src/templates/agents/claude-code/skills/database-administrator/tuning-guide.md +25 -20
  165. package/src/templates/agents/claude-code/skills/database-schema-designer/schema-patterns.md +39 -22
  166. package/src/templates/agents/claude-code/skills/devops-engineer/ci-cd-templates.md +25 -22
  167. package/src/templates/agents/claude-code/skills/issue-resolver/SKILL.md +24 -21
  168. package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +148 -63
  169. package/src/templates/agents/claude-code/skills/orchestrator/patterns.md +35 -16
  170. package/src/templates/agents/claude-code/skills/orchestrator/selection-matrix.md +69 -64
  171. package/src/templates/agents/claude-code/skills/performance-engineer/optimization-playbook.md +47 -47
  172. package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +69 -0
  173. package/src/templates/agents/claude-code/skills/performance-optimizer/benchmark-template.md +63 -45
  174. package/src/templates/agents/claude-code/skills/performance-optimizer/optimization-patterns.md +33 -35
  175. package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +7 -6
  176. package/src/templates/agents/claude-code/skills/project-manager/agile-ceremonies.md +47 -28
  177. package/src/templates/agents/claude-code/skills/project-manager/project-templates.md +94 -78
  178. package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +20 -17
  179. package/src/templates/agents/claude-code/skills/quality-assurance/qa-plan-template.md +63 -49
  180. package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +5 -5
  181. package/src/templates/agents/claude-code/skills/release-coordinator/feature-flag-guide.md +30 -26
  182. package/src/templates/agents/claude-code/skills/release-coordinator/release-plan-template.md +67 -35
  183. package/src/templates/agents/claude-code/skills/requirements-analyst/ears-format.md +54 -42
  184. package/src/templates/agents/claude-code/skills/requirements-analyst/validation-rules.md +36 -33
  185. package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +77 -19
  186. package/src/templates/agents/claude-code/skills/security-auditor/audit-checklists.md +24 -24
  187. package/src/templates/agents/claude-code/skills/security-auditor/owasp-top-10.md +61 -20
  188. package/src/templates/agents/claude-code/skills/security-auditor/vulnerability-patterns.md +43 -11
  189. package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +1 -0
  190. package/src/templates/agents/claude-code/skills/site-reliability-engineer/incident-response-template.md +55 -25
  191. package/src/templates/agents/claude-code/skills/site-reliability-engineer/observability-patterns.md +78 -68
  192. package/src/templates/agents/claude-code/skills/site-reliability-engineer/slo-sli-guide.md +73 -53
  193. package/src/templates/agents/claude-code/skills/software-developer/solid-principles.md +83 -37
  194. package/src/templates/agents/claude-code/skills/software-developer/test-first-workflow.md +38 -31
  195. package/src/templates/agents/claude-code/skills/steering/SKILL.md +1 -0
  196. package/src/templates/agents/claude-code/skills/steering/auto-update-rules.md +31 -0
  197. package/src/templates/agents/claude-code/skills/system-architect/adr-template.md +25 -7
  198. package/src/templates/agents/claude-code/skills/system-architect/c4-model-guide.md +74 -61
  199. package/src/templates/agents/claude-code/skills/technical-writer/doc-templates/documentation-templates.md +70 -52
  200. package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +2 -0
  201. package/src/templates/agents/claude-code/skills/test-engineer/ears-test-mapping.md +75 -71
  202. package/src/templates/agents/claude-code/skills/test-engineer/test-types.md +85 -63
  203. package/src/templates/agents/claude-code/skills/traceability-auditor/coverage-matrix-template.md +39 -36
  204. package/src/templates/agents/claude-code/skills/traceability-auditor/gap-detection-rules.md +22 -17
  205. package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1 -0
  206. package/src/templates/agents/claude-code/skills/ui-ux-designer/accessibility-guidelines.md +49 -75
  207. package/src/templates/agents/claude-code/skills/ui-ux-designer/design-system-components.md +71 -59
  208. package/src/templates/agents/codex/AGENTS.md +74 -42
  209. package/src/templates/agents/cursor/AGENTS.md +74 -42
  210. package/src/templates/agents/gemini-cli/GEMINI.md +74 -42
  211. package/src/templates/agents/github-copilot/AGENTS.md +83 -51
  212. package/src/templates/agents/qwen-code/QWEN.md +74 -42
  213. package/src/templates/agents/windsurf/AGENTS.md +74 -42
  214. package/src/templates/architectures/README.md +41 -0
  215. package/src/templates/architectures/clean-architecture/README.md +113 -0
  216. package/src/templates/architectures/event-driven/README.md +162 -0
  217. package/src/templates/architectures/hexagonal/README.md +130 -0
  218. package/src/templates/index.js +6 -1
  219. package/src/templates/locale-manager.js +16 -16
  220. package/src/templates/shared/delta-spec-template.md +20 -13
  221. package/src/templates/shared/github-actions/musubi-issue-resolver.yml +5 -5
  222. package/src/templates/shared/github-actions/musubi-security-check.yml +3 -3
  223. package/src/templates/shared/github-actions/musubi-validate.yml +4 -4
  224. package/src/templates/shared/steering/structure.md +95 -0
  225. package/src/templates/skills/browser-agent.md +21 -16
  226. package/src/templates/skills/web-gui.md +8 -0
  227. package/src/templates/template-constraints.js +50 -53
  228. package/src/validators/advanced-validation.js +30 -36
  229. package/src/validators/constitutional-validator.js +77 -73
  230. package/src/validators/critic-system.js +49 -59
  231. package/src/validators/delta-format.js +59 -55
  232. package/src/validators/traceability-validator.js +7 -11
@@ -9,16 +9,19 @@ Patterns for building and analyzing dependency graphs in software systems.
9
9
  ## Types of Dependencies
10
10
 
11
11
  ### Direct Dependencies
12
+
12
13
  ```
13
14
  A → B: A directly uses B
14
15
  ```
15
16
 
16
17
  ### Transitive Dependencies
18
+
17
19
  ```
18
20
  A → B → C: A depends on C through B
19
21
  ```
20
22
 
21
23
  ### Circular Dependencies
24
+
22
25
  ```
23
26
  A → B → C → A: Problematic cycle
24
27
  ```
@@ -43,7 +46,7 @@ const graph: DependencyGraph = {
43
46
  edges: new Map([
44
47
  ['auth.ts', new Set(['user.ts', 'db.ts'])],
45
48
  ['user.ts', new Set(['db.ts'])],
46
- ])
49
+ ]),
47
50
  };
48
51
  ```
49
52
 
@@ -52,12 +55,12 @@ const graph: DependencyGraph = {
52
55
  ```dot
53
56
  digraph Dependencies {
54
57
  rankdir=TB;
55
-
58
+
56
59
  // Nodes
57
60
  auth [label="auth.ts"];
58
61
  user [label="user.ts"];
59
62
  db [label="db.ts"];
60
-
63
+
61
64
  // Edges
62
65
  auth -> user;
63
66
  auth -> db;
@@ -78,14 +81,14 @@ function getAllDependencies(
78
81
  visited = new Set<string>()
79
82
  ): Set<string> {
80
83
  if (visited.has(node)) return visited;
81
-
84
+
82
85
  visited.add(node);
83
-
86
+
84
87
  const deps = graph.edges.get(node) || new Set();
85
88
  for (const dep of deps) {
86
89
  getAllDependencies(graph, dep, visited);
87
90
  }
88
-
91
+
89
92
  return visited;
90
93
  }
91
94
  ```
@@ -93,18 +96,16 @@ function getAllDependencies(
93
96
  ### Find Circular Dependencies
94
97
 
95
98
  ```typescript
96
- function findCircularDependencies(
97
- graph: DependencyGraph
98
- ): string[][] {
99
+ function findCircularDependencies(graph: DependencyGraph): string[][] {
99
100
  const cycles: string[][] = [];
100
101
  const visited = new Set<string>();
101
102
  const recursionStack = new Set<string>();
102
-
103
+
103
104
  function dfs(node: string, path: string[]): void {
104
105
  visited.add(node);
105
106
  recursionStack.add(node);
106
107
  path.push(node);
107
-
108
+
108
109
  const deps = graph.edges.get(node) || new Set();
109
110
  for (const dep of deps) {
110
111
  if (!visited.has(dep)) {
@@ -115,17 +116,17 @@ function findCircularDependencies(
115
116
  cycles.push(path.slice(cycleStart));
116
117
  }
117
118
  }
118
-
119
+
119
120
  path.pop();
120
121
  recursionStack.delete(node);
121
122
  }
122
-
123
+
123
124
  for (const node of graph.nodes.keys()) {
124
125
  if (!visited.has(node)) {
125
126
  dfs(node, []);
126
127
  }
127
128
  }
128
-
129
+
129
130
  return cycles;
130
131
  }
131
132
  ```
@@ -137,29 +138,29 @@ function topologicalSort(graph: DependencyGraph): string[] {
137
138
  const inDegree = new Map<string, number>();
138
139
  const result: string[] = [];
139
140
  const queue: string[] = [];
140
-
141
+
141
142
  // Initialize in-degrees
142
143
  for (const node of graph.nodes.keys()) {
143
144
  inDegree.set(node, 0);
144
145
  }
145
-
146
+
146
147
  for (const deps of graph.edges.values()) {
147
148
  for (const dep of deps) {
148
149
  inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
149
150
  }
150
151
  }
151
-
152
+
152
153
  // Start with nodes that have no dependencies
153
154
  for (const [node, degree] of inDegree) {
154
155
  if (degree === 0) {
155
156
  queue.push(node);
156
157
  }
157
158
  }
158
-
159
+
159
160
  while (queue.length > 0) {
160
161
  const node = queue.shift()!;
161
162
  result.push(node);
162
-
163
+
163
164
  const deps = graph.edges.get(node) || new Set();
164
165
  for (const dep of deps) {
165
166
  inDegree.set(dep, inDegree.get(dep)! - 1);
@@ -168,7 +169,7 @@ function topologicalSort(graph: DependencyGraph): string[] {
168
169
  }
169
170
  }
170
171
  }
171
-
172
+
172
173
  return result;
173
174
  }
174
175
  ```
@@ -178,13 +179,11 @@ function topologicalSort(graph: DependencyGraph): string[] {
178
179
  ## Impact Scoring
179
180
 
180
181
  ### Afferent Coupling (Ca)
182
+
181
183
  Number of modules that depend on this module.
182
184
 
183
185
  ```typescript
184
- function getAfferentCoupling(
185
- graph: DependencyGraph,
186
- node: string
187
- ): number {
186
+ function getAfferentCoupling(graph: DependencyGraph, node: string): number {
188
187
  let count = 0;
189
188
  for (const [source, deps] of graph.edges) {
190
189
  if (deps.has(node)) {
@@ -196,13 +195,11 @@ function getAfferentCoupling(
196
195
  ```
197
196
 
198
197
  ### Efferent Coupling (Ce)
198
+
199
199
  Number of modules this module depends on.
200
200
 
201
201
  ```typescript
202
- function getEfferentCoupling(
203
- graph: DependencyGraph,
204
- node: string
205
- ): number {
202
+ function getEfferentCoupling(graph: DependencyGraph, node: string): number {
206
203
  return graph.edges.get(node)?.size || 0;
207
204
  }
208
205
  ```
@@ -269,10 +266,10 @@ function extractImports(filePath: string): string[] {
269
266
  ts.ScriptTarget.Latest,
270
267
  true
271
268
  );
272
-
269
+
273
270
  const imports: string[] = [];
274
-
275
- ts.forEachChild(sourceFile, (node) => {
271
+
272
+ ts.forEachChild(sourceFile, node => {
276
273
  if (ts.isImportDeclaration(node)) {
277
274
  const moduleSpecifier = node.moduleSpecifier;
278
275
  if (ts.isStringLiteral(moduleSpecifier)) {
@@ -280,7 +277,7 @@ function extractImports(filePath: string): string[] {
280
277
  }
281
278
  }
282
279
  });
283
-
280
+
284
281
  return imports;
285
282
  }
286
283
  ```
@@ -290,10 +287,7 @@ function extractImports(filePath: string): string[] {
290
287
  ```typescript
291
288
  function getDependencies(packagePath: string): string[] {
292
289
  const pkg = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
293
- return [
294
- ...Object.keys(pkg.dependencies || {}),
295
- ...Object.keys(pkg.devDependencies || {})
296
- ];
290
+ return [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.devDependencies || {})];
297
291
  }
298
292
  ```
299
293
 
@@ -302,12 +296,9 @@ function getDependencies(packagePath: string): string[] {
302
296
  ## Change Impact from Graph
303
297
 
304
298
  ```typescript
305
- function getImpactedModules(
306
- graph: DependencyGraph,
307
- changedModules: string[]
308
- ): Set<string> {
299
+ function getImpactedModules(graph: DependencyGraph, changedModules: string[]): Set<string> {
309
300
  const impacted = new Set<string>();
310
-
301
+
311
302
  // Find all modules that depend on changed modules
312
303
  for (const changed of changedModules) {
313
304
  // Reverse DFS to find dependents
@@ -321,7 +312,7 @@ function getImpactedModules(
321
312
  }
322
313
  }
323
314
  }
324
-
315
+
325
316
  return impacted;
326
317
  }
327
318
  ```
@@ -331,18 +322,21 @@ function getImpactedModules(
331
322
  ## Dependency Analysis Checklist
332
323
 
333
324
  ### Build Graph
325
+
334
326
  - [ ] Parse source files
335
327
  - [ ] Extract import statements
336
328
  - [ ] Resolve module paths
337
329
  - [ ] Store in graph structure
338
330
 
339
331
  ### Analyze
332
+
340
333
  - [ ] Find circular dependencies
341
334
  - [ ] Calculate coupling metrics
342
335
  - [ ] Identify hotspots
343
336
  - [ ] Generate reports
344
337
 
345
338
  ### Visualize
339
+
346
340
  - [ ] Create diagrams
347
341
  - [ ] Highlight problem areas
348
342
  - [ ] Show change impact
@@ -23,25 +23,29 @@ Framework for analyzing the impact of proposed changes on a system.
23
23
  # Change Impact Analysis: [Change Name]
24
24
 
25
25
  ## Change Overview
26
- | Field | Value |
27
- |-------|-------|
28
- | Request ID | CHG-[XXX] |
29
- | Requested By | [Name] |
30
- | Date | YYYY-MM-DD |
31
- | Priority | Low / Medium / High / Critical |
32
- | Status | Draft / Under Review / Approved / Rejected |
26
+
27
+ | Field | Value |
28
+ | ------------ | ------------------------------------------ |
29
+ | Request ID | CHG-[XXX] |
30
+ | Requested By | [Name] |
31
+ | Date | YYYY-MM-DD |
32
+ | Priority | Low / Medium / High / Critical |
33
+ | Status | Draft / Under Review / Approved / Rejected |
33
34
 
34
35
  ---
35
36
 
36
37
  ## 1. Change Description
37
38
 
38
39
  ### What is being changed?
40
+
39
41
  [Clear description of the proposed change]
40
42
 
41
43
  ### Why is this change needed?
44
+
42
45
  [Business justification]
43
46
 
44
47
  ### What is the expected outcome?
48
+
45
49
  [Success criteria]
46
50
 
47
51
  ---
@@ -50,26 +54,26 @@ Framework for analyzing the impact of proposed changes on a system.
50
54
 
51
55
  ### Files Affected
52
56
 
53
- | File/Module | Change Type | Effort |
54
- |-------------|-------------|--------|
55
- | src/auth/login.ts | Modify | Medium |
56
- | src/api/users.ts | Modify | Low |
57
- | tests/auth.test.ts | Add | Medium |
57
+ | File/Module | Change Type | Effort |
58
+ | ------------------ | ----------- | ------ |
59
+ | src/auth/login.ts | Modify | Medium |
60
+ | src/api/users.ts | Modify | Low |
61
+ | tests/auth.test.ts | Add | Medium |
58
62
 
59
63
  ### Dependencies
60
64
 
61
- | Dependency | Impact | Action Needed |
62
- |------------|--------|---------------|
63
- | User Service | Breaking | Update API |
64
- | Auth Library | Compatible | None |
65
- | Database | Schema change | Migration |
65
+ | Dependency | Impact | Action Needed |
66
+ | ------------ | ------------- | ------------- |
67
+ | User Service | Breaking | Update API |
68
+ | Auth Library | Compatible | None |
69
+ | Database | Schema change | Migration |
66
70
 
67
71
  ### APIs Affected
68
72
 
69
- | API | Change | Breaking |
70
- |-----|--------|----------|
71
- | POST /login | New field | No |
72
- | GET /user | New response field | No |
73
+ | API | Change | Breaking |
74
+ | ----------- | ------------------ | -------- |
75
+ | POST /login | New field | No |
76
+ | GET /user | New response field | No |
73
77
 
74
78
  ---
75
79
 
@@ -77,20 +81,20 @@ Framework for analyzing the impact of proposed changes on a system.
77
81
 
78
82
  ### Technical Impact
79
83
 
80
- | Area | Impact Level | Description |
81
- |------|--------------|-------------|
82
- | Performance | Low | No significant change |
83
- | Security | Medium | New auth flow |
84
- | Scalability | Low | No change |
85
- | Maintainability | Medium | Added complexity |
84
+ | Area | Impact Level | Description |
85
+ | --------------- | ------------ | --------------------- |
86
+ | Performance | Low | No significant change |
87
+ | Security | Medium | New auth flow |
88
+ | Scalability | Low | No change |
89
+ | Maintainability | Medium | Added complexity |
86
90
 
87
91
  ### Business Impact
88
92
 
89
- | Area | Impact Level | Description |
90
- |------|--------------|-------------|
91
- | Users | Medium | New login step |
92
- | Operations | Low | Minor training |
93
- | Revenue | None | N/A |
93
+ | Area | Impact Level | Description |
94
+ | ---------- | ------------ | -------------- |
95
+ | Users | Medium | New login step |
96
+ | Operations | Low | Minor training |
97
+ | Revenue | None | N/A |
94
98
 
95
99
  ---
96
100
 
@@ -98,13 +102,14 @@ Framework for analyzing the impact of proposed changes on a system.
98
102
 
99
103
  ### Risks
100
104
 
101
- | Risk | Probability | Impact | Mitigation |
102
- |------|-------------|--------|------------|
103
- | User confusion | Medium | Medium | Clear UI guidance |
104
- | Integration failure | Low | High | Thorough testing |
105
- | Performance regression | Low | Medium | Load testing |
105
+ | Risk | Probability | Impact | Mitigation |
106
+ | ---------------------- | ----------- | ------ | ----------------- |
107
+ | User confusion | Medium | Medium | Clear UI guidance |
108
+ | Integration failure | Low | High | Thorough testing |
109
+ | Performance regression | Low | Medium | Load testing |
106
110
 
107
111
  ### Rollback Plan
112
+
108
113
  1. [Step 1 to revert]
109
114
  2. [Step 2 to revert]
110
115
  3. [Verification steps]
@@ -115,19 +120,19 @@ Framework for analyzing the impact of proposed changes on a system.
115
120
 
116
121
  ### Tasks
117
122
 
118
- | Task | Owner | Estimate | Dependencies |
119
- |------|-------|----------|--------------|
120
- | Update auth logic | [Name] | 2 days | None |
121
- | Add tests | [Name] | 1 day | Auth logic |
123
+ | Task | Owner | Estimate | Dependencies |
124
+ | -------------------- | ------ | -------- | -------------- |
125
+ | Update auth logic | [Name] | 2 days | None |
126
+ | Add tests | [Name] | 1 day | Auth logic |
122
127
  | Update documentation | [Name] | 0.5 days | Implementation |
123
128
 
124
129
  ### Timeline
125
130
 
126
- | Phase | Start | End | Owner |
127
- |-------|-------|-----|-------|
131
+ | Phase | Start | End | Owner |
132
+ | ----------- | ----- | ----- | -------- |
128
133
  | Development | MM/DD | MM/DD | Dev Team |
129
- | Testing | MM/DD | MM/DD | QA Team |
130
- | Deployment | MM/DD | MM/DD | DevOps |
134
+ | Testing | MM/DD | MM/DD | QA Team |
135
+ | Deployment | MM/DD | MM/DD | DevOps |
131
136
 
132
137
  ---
133
138
 
@@ -143,31 +148,33 @@ Framework for analyzing the impact of proposed changes on a system.
143
148
 
144
149
  ## 7. Communication Plan
145
150
 
146
- | Audience | Channel | When | Owner |
147
- |----------|---------|------|-------|
148
- | Dev Team | Slack | Before start | [Name] |
149
- | Stakeholders | Email | Before deploy | [Name] |
150
- | Users | In-app | After deploy | [Name] |
151
+ | Audience | Channel | When | Owner |
152
+ | ------------ | ------- | ------------- | ------ |
153
+ | Dev Team | Slack | Before start | [Name] |
154
+ | Stakeholders | Email | Before deploy | [Name] |
155
+ | Users | In-app | After deploy | [Name] |
151
156
 
152
157
  ---
153
158
 
154
159
  ## 8. Approval
155
160
 
156
- | Approver | Role | Decision | Date |
157
- |----------|------|----------|------|
158
- | [Name] | Tech Lead | | |
159
- | [Name] | Product Owner | | |
160
- | [Name] | Security | | |
161
+ | Approver | Role | Decision | Date |
162
+ | -------- | ------------- | -------- | ---- |
163
+ | [Name] | Tech Lead | | |
164
+ | [Name] | Product Owner | | |
165
+ | [Name] | Security | | |
161
166
 
162
167
  ---
163
168
 
164
169
  ## 9. Post-Implementation
165
170
 
166
171
  ### Verification Steps
172
+
167
173
  - [ ] [Verification 1]
168
174
  - [ ] [Verification 2]
169
175
 
170
176
  ### Monitoring
177
+
171
178
  - [ ] Error rates checked
172
179
  - [ ] Performance baseline compared
173
180
  - [ ] User feedback collected
@@ -216,17 +223,18 @@ git log --oneline --name-only -- src/changed-file.ts | \
216
223
 
217
224
  ## Impact Severity Matrix
218
225
 
219
- | Probability ↓ / Impact → | Low | Medium | High |
220
- |---------------------------|-----|--------|------|
221
- | **High** | Medium | High | Critical |
222
- | **Medium** | Low | Medium | High |
223
- | **Low** | Low | Low | Medium |
226
+ | Probability ↓ / Impact → | Low | Medium | High |
227
+ | ------------------------ | ------ | ------ | -------- |
228
+ | **High** | Medium | High | Critical |
229
+ | **Medium** | Low | Medium | High |
230
+ | **Low** | Low | Low | Medium |
224
231
 
225
232
  ---
226
233
 
227
234
  ## Quick Impact Checklist
228
235
 
229
236
  ### Before Approving
237
+
230
238
  - [ ] All affected files identified
231
239
  - [ ] Breaking changes documented
232
240
  - [ ] Dependencies analyzed
@@ -237,6 +245,7 @@ git log --oneline --name-only -- src/changed-file.ts | \
237
245
  - [ ] Stakeholders notified
238
246
 
239
247
  ### Red Flags
248
+
240
249
  - 🚩 Many files affected
241
250
  - 🚩 Database schema changes
242
251
  - 🚩 Public API breaking changes
@@ -62,29 +62,20 @@ resources:
62
62
  ```yaml
63
63
  # task-definition.json
64
64
  {
65
- "family": "my-api",
66
- "networkMode": "awsvpc",
67
- "requiresCompatibilities": ["FARGATE"],
68
- "cpu": "256",
69
- "memory": "512",
70
- "containerDefinitions": [
71
- {
72
- "name": "api",
73
- "image": "my-api:latest",
74
- "portMappings": [
75
- {
76
- "containerPort": 3000,
77
- "protocol": "tcp"
78
- }
79
- ],
80
- "environment": [
81
- {
82
- "name": "DATABASE_URL",
83
- "value": "postgres://..."
84
- }
85
- ]
86
- }
87
- ]
65
+ 'family': 'my-api',
66
+ 'networkMode': 'awsvpc',
67
+ 'requiresCompatibilities': ['FARGATE'],
68
+ 'cpu': '256',
69
+ 'memory': '512',
70
+ 'containerDefinitions':
71
+ [
72
+ {
73
+ 'name': 'api',
74
+ 'image': 'my-api:latest',
75
+ 'portMappings': [{ 'containerPort': 3000, 'protocol': 'tcp' }],
76
+ 'environment': [{ 'name': 'DATABASE_URL', 'value': 'postgres://...' }],
77
+ },
78
+ ],
88
79
  }
89
80
  ```
90
81
 
@@ -124,7 +115,7 @@ Resources:
124
115
  Properties:
125
116
  CidrBlock: 10.0.0.0/16
126
117
  EnableDnsHostnames: true
127
-
118
+
128
119
  PublicSubnet1:
129
120
  Type: AWS::EC2::Subnet
130
121
  Properties:
@@ -132,7 +123,7 @@ Resources:
132
123
  CidrBlock: 10.0.1.0/24
133
124
  AvailabilityZone: !Select [0, !GetAZs '']
134
125
  MapPublicIpOnLaunch: true
135
-
126
+
136
127
  PrivateSubnet1:
137
128
  Type: AWS::EC2::Subnet
138
129
  Properties:
@@ -149,10 +140,7 @@ Resources:
149
140
  "Statement": [
150
141
  {
151
142
  "Effect": "Allow",
152
- "Action": [
153
- "dynamodb:GetItem",
154
- "dynamodb:PutItem"
155
- ],
143
+ "Action": ["dynamodb:GetItem", "dynamodb:PutItem"],
156
144
  "Resource": "arn:aws:dynamodb:*:*:table/users",
157
145
  "Condition": {
158
146
  "StringEquals": {
@@ -195,45 +183,50 @@ Resources:
195
183
 
196
184
  ### Compute Savings
197
185
 
198
- | Option | Savings | Use Case |
199
- |--------|---------|----------|
186
+ | Option | Savings | Use Case |
187
+ | ------------------ | --------- | --------------------- |
200
188
  | Reserved Instances | Up to 72% | Predictable workloads |
201
- | Savings Plans | Up to 72% | Flexible compute |
202
- | Spot Instances | Up to 90% | Fault-tolerant |
189
+ | Savings Plans | Up to 72% | Flexible compute |
190
+ | Spot Instances | Up to 90% | Fault-tolerant |
203
191
 
204
192
  ### Storage Tiers
205
193
 
206
- | Tier | Cost | Access |
207
- |------|------|--------|
208
- | S3 Standard | $$$ | Frequent |
209
- | S3 IA | $$ | Infrequent |
210
- | S3 Glacier | $ | Archive |
194
+ | Tier | Cost | Access |
195
+ | ----------- | ---- | ---------- |
196
+ | S3 Standard | $$$ | Frequent |
197
+ | S3 IA | $$ | Infrequent |
198
+ | S3 Glacier | $ | Archive |
211
199
 
212
200
  ---
213
201
 
214
202
  ## Well-Architected Checklist
215
203
 
216
204
  ### Operational Excellence
205
+
217
206
  - [ ] Infrastructure as code
218
207
  - [ ] Automated deployments
219
208
  - [ ] Monitoring and alerting
220
209
 
221
210
  ### Security
211
+
222
212
  - [ ] Least privilege IAM
223
213
  - [ ] Encryption at rest and in transit
224
214
  - [ ] VPC isolation
225
215
 
226
216
  ### Reliability
217
+
227
218
  - [ ] Multi-AZ deployment
228
219
  - [ ] Auto-scaling configured
229
220
  - [ ] Disaster recovery plan
230
221
 
231
222
  ### Performance
223
+
232
224
  - [ ] Right-sized resources
233
225
  - [ ] Caching implemented
234
226
  - [ ] CDN for static content
235
227
 
236
228
  ### Cost Optimization
229
+
237
230
  - [ ] Reserved/spot usage
238
231
  - [ ] Resource tagging
239
232
  - [ ] Cost monitoring