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
@@ -8,68 +8,76 @@ Template for conducting performance benchmarks.
8
8
 
9
9
  ## Benchmark Document
10
10
 
11
- ```markdown
11
+ ````markdown
12
12
  # Performance Benchmark Report
13
13
 
14
14
  ## Metadata
15
15
 
16
- | Field | Value |
17
- |-------|-------|
18
- | Component | [Component Name] |
19
- | Date | YYYY-MM-DD |
20
- | Environment | [dev/staging/prod] |
21
- | Version | [Version/Commit] |
22
- | Author | performance-optimizer |
16
+ | Field | Value |
17
+ | ----------- | --------------------- |
18
+ | Component | [Component Name] |
19
+ | Date | YYYY-MM-DD |
20
+ | Environment | [dev/staging/prod] |
21
+ | Version | [Version/Commit] |
22
+ | Author | performance-optimizer |
23
23
 
24
24
  ---
25
25
 
26
26
  ## 1. Objectives
27
27
 
28
28
  ### What We're Testing
29
+
29
30
  [Clear description of what is being benchmarked]
30
31
 
31
32
  ### Success Criteria
32
- | Metric | Threshold | Priority |
33
- |--------|-----------|----------|
34
- | Response Time p95 | < 200ms | Critical |
35
- | Throughput | > 1000 req/s | High |
36
- | Error Rate | < 0.1% | Critical |
37
- | Memory Usage | < 512MB | Medium |
33
+
34
+ | Metric | Threshold | Priority |
35
+ | ----------------- | ------------ | -------- |
36
+ | Response Time p95 | < 200ms | Critical |
37
+ | Throughput | > 1000 req/s | High |
38
+ | Error Rate | < 0.1% | Critical |
39
+ | Memory Usage | < 512MB | Medium |
38
40
 
39
41
  ---
40
42
 
41
43
  ## 2. Test Environment
42
44
 
43
45
  ### Hardware
46
+
44
47
  - **CPU**: [e.g., 4 vCPU]
45
48
  - **Memory**: [e.g., 8 GB]
46
49
  - **Storage**: [e.g., SSD]
47
50
  - **Network**: [e.g., 1 Gbps]
48
51
 
49
52
  ### Software
53
+
50
54
  - **OS**: [e.g., Ubuntu 22.04]
51
55
  - **Runtime**: [e.g., Node.js 20.x]
52
56
  - **Database**: [e.g., PostgreSQL 15]
53
57
 
54
58
  ### Configuration
59
+
55
60
  ```yaml
56
61
  # Key settings
57
62
  db_pool_size: 20
58
63
  cache_ttl: 3600
59
64
  workers: 4
60
65
  ```
66
+ ````
61
67
 
62
68
  ---
63
69
 
64
70
  ## 3. Scenarios
65
71
 
66
72
  ### Scenario 1: [Name]
73
+
67
74
  - **Description**: [What this tests]
68
75
  - **Users**: [Concurrent users]
69
76
  - **Duration**: [Test duration]
70
77
  - **Data**: [Test data used]
71
78
 
72
79
  ### Scenario 2: [Name]
80
+
73
81
  ...
74
82
 
75
83
  ---
@@ -78,13 +86,13 @@ workers: 4
78
86
 
79
87
  ### Summary
80
88
 
81
- | Metric | Scenario 1 | Scenario 2 | Target | Status |
82
- |--------|------------|------------|--------|--------|
83
- | p50 Latency | 45ms | 52ms | <100ms | ✅ |
84
- | p95 Latency | 120ms | 180ms | <200ms | ✅ |
85
- | p99 Latency | 250ms | 380ms | <500ms | ✅ |
86
- | Throughput | 1,250 req/s | 980 req/s | >1000 | ⚠️ |
87
- | Error Rate | 0.01% | 0.08% | <0.1% | ✅ |
89
+ | Metric | Scenario 1 | Scenario 2 | Target | Status |
90
+ | ----------- | ----------- | ---------- | ------ | ------ |
91
+ | p50 Latency | 45ms | 52ms | <100ms | ✅ |
92
+ | p95 Latency | 120ms | 180ms | <200ms | ✅ |
93
+ | p99 Latency | 250ms | 380ms | <500ms | ✅ |
94
+ | Throughput | 1,250 req/s | 980 req/s | >1000 | ⚠️ |
95
+ | Error Rate | 0.01% | 0.08% | <0.1% | ✅ |
88
96
 
89
97
  ### Latency Distribution
90
98
 
@@ -100,40 +108,43 @@ Percentile | Scenario 1 | Scenario 2
100
108
 
101
109
  ### Resource Usage
102
110
 
103
- | Resource | Peak | Average | Limit |
104
- |----------|------|---------|-------|
105
- | CPU | 85% | 65% | 100% |
106
- | Memory | 420MB | 350MB | 512MB |
107
- | DB Connections | 18 | 12 | 20 |
111
+ | Resource | Peak | Average | Limit |
112
+ | -------------- | ----- | ------- | ----- |
113
+ | CPU | 85% | 65% | 100% |
114
+ | Memory | 420MB | 350MB | 512MB |
115
+ | DB Connections | 18 | 12 | 20 |
108
116
 
109
117
  ---
110
118
 
111
119
  ## 5. Bottlenecks Identified
112
120
 
113
121
  ### Bottleneck 1: [Name]
122
+
114
123
  - **Symptom**: [What was observed]
115
124
  - **Cause**: [Root cause]
116
125
  - **Impact**: [Performance impact]
117
126
  - **Recommendation**: [How to fix]
118
127
 
119
128
  ### Bottleneck 2: [Name]
129
+
120
130
  ...
121
131
 
122
132
  ---
123
133
 
124
134
  ## 6. Recommendations
125
135
 
126
- | Priority | Action | Expected Impact |
127
- |----------|--------|-----------------|
128
- | High | Add database index on X | -30% latency |
129
- | Medium | Enable response caching | +50% throughput |
130
- | Low | Optimize JSON serialization | -5% CPU |
136
+ | Priority | Action | Expected Impact |
137
+ | -------- | --------------------------- | --------------- |
138
+ | High | Add database index on X | -30% latency |
139
+ | Medium | Enable response caching | +50% throughput |
140
+ | Low | Optimize JSON serialization | -5% CPU |
131
141
 
132
142
  ---
133
143
 
134
144
  ## 7. Graphs
135
145
 
136
146
  [Include relevant graphs:]
147
+
137
148
  - Latency over time
138
149
  - Throughput over time
139
150
  - Error rate over time
@@ -144,16 +155,20 @@ Percentile | Scenario 1 | Scenario 2
144
155
  ## 8. Conclusion
145
156
 
146
157
  ### Pass/Fail
158
+
147
159
  [Did the benchmark meet success criteria?]
148
160
 
149
161
  ### Key Findings
162
+
150
163
  1. [Finding 1]
151
164
  2. [Finding 2]
152
165
 
153
166
  ### Next Steps
167
+
154
168
  1. [ ] [Action item 1]
155
169
  2. [ ] [Action item 2]
156
- ```
170
+
171
+ ````
157
172
 
158
173
  ---
159
174
 
@@ -190,14 +205,14 @@ const scenarios = [
190
205
  async function runBenchmarks() {
191
206
  for (const scenario of scenarios) {
192
207
  console.log(`Running: ${scenario.name}`);
193
-
208
+
194
209
  const result = await autocannon({
195
210
  ...config,
196
211
  method: scenario.method,
197
212
  path: scenario.path,
198
213
  body: scenario.body
199
214
  });
200
-
215
+
201
216
  console.log(`
202
217
  Results for ${scenario.name}:
203
218
  - Avg Latency: ${result.latency.average}ms
@@ -209,7 +224,7 @@ Results for ${scenario.name}:
209
224
  }
210
225
 
211
226
  runBenchmarks();
212
- ```
227
+ ````
213
228
 
214
229
  ---
215
230
 
@@ -225,11 +240,11 @@ const errorRate = new Rate('errors');
225
240
 
226
241
  export const options = {
227
242
  stages: [
228
- { duration: '30s', target: 20 }, // Ramp up
229
- { duration: '1m', target: 20 }, // Stay at 20 users
230
- { duration: '30s', target: 50 }, // Ramp up more
231
- { duration: '1m', target: 50 }, // Stay at 50 users
232
- { duration: '30s', target: 0 }, // Ramp down
243
+ { duration: '30s', target: 20 }, // Ramp up
244
+ { duration: '1m', target: 20 }, // Stay at 20 users
245
+ { duration: '30s', target: 50 }, // Ramp up more
246
+ { duration: '1m', target: 50 }, // Stay at 50 users
247
+ { duration: '30s', target: 0 }, // Ramp down
233
248
  ],
234
249
  thresholds: {
235
250
  http_req_duration: ['p(95)<200'],
@@ -239,14 +254,14 @@ export const options = {
239
254
 
240
255
  export default function () {
241
256
  const res = http.get('http://localhost:3000/api/users');
242
-
257
+
243
258
  const checkResult = check(res, {
244
- 'status is 200': (r) => r.status === 200,
245
- 'response time < 200ms': (r) => r.timings.duration < 200,
259
+ 'status is 200': r => r.status === 200,
260
+ 'response time < 200ms': r => r.timings.duration < 200,
246
261
  });
247
-
262
+
248
263
  errorRate.add(!checkResult);
249
-
264
+
250
265
  sleep(1);
251
266
  }
252
267
  ```
@@ -256,17 +271,20 @@ export default function () {
256
271
  ## Quick Checklist
257
272
 
258
273
  ### Before Benchmark
274
+
259
275
  - [ ] Isolated test environment
260
276
  - [ ] Warm up completed
261
277
  - [ ] Monitoring enabled
262
278
  - [ ] Baseline established
263
279
 
264
280
  ### During Benchmark
281
+
265
282
  - [ ] Monitor resources
266
283
  - [ ] Check for errors
267
284
  - [ ] Log unusual behavior
268
285
 
269
286
  ### After Benchmark
287
+
270
288
  - [ ] Compare to baseline
271
289
  - [ ] Document findings
272
290
  - [ ] Create action items
@@ -14,13 +14,13 @@ Common patterns for optimizing application performance.
14
14
  async function getUser(id: string): Promise<User> {
15
15
  // Try cache first
16
16
  let user = await cache.get(`user:${id}`);
17
-
17
+
18
18
  if (!user) {
19
19
  // Cache miss - load from DB
20
20
  user = await db.users.findById(id);
21
21
  await cache.set(`user:${id}`, user, { ttl: 3600 });
22
22
  }
23
-
23
+
24
24
  return user;
25
25
  }
26
26
  ```
@@ -33,10 +33,10 @@ async function getUser(id: string): Promise<User> {
33
33
  async function updateUser(id: string, data: Partial<User>): Promise<User> {
34
34
  // Update DB
35
35
  const user = await db.users.update(id, data);
36
-
36
+
37
37
  // Update cache
38
38
  await cache.set(`user:${id}`, user, { ttl: 3600 });
39
-
39
+
40
40
  return user;
41
41
  }
42
42
  ```
@@ -61,8 +61,8 @@ async function deleteUser(id: string): Promise<void> {
61
61
 
62
62
  ```typescript
63
63
  const pool = new Pool({
64
- max: 20, // Max connections
65
- min: 5, // Min connections
64
+ max: 20, // Max connections
65
+ min: 5, // Min connections
66
66
  idleTimeoutMillis: 30000,
67
67
  connectionTimeoutMillis: 2000,
68
68
  });
@@ -92,7 +92,7 @@ for (const user of users) {
92
92
 
93
93
  // GOOD: Eager loading
94
94
  const users = await User.findAll({
95
- include: [{ model: Order }] // 1 query with JOIN
95
+ include: [{ model: Order }], // 1 query with JOIN
96
96
  });
97
97
  ```
98
98
 
@@ -100,16 +100,16 @@ const users = await User.findAll({
100
100
 
101
101
  ```typescript
102
102
  // Offset pagination (simple but slow for large offsets)
103
- const page = await db.query(
104
- 'SELECT * FROM items LIMIT $1 OFFSET $2',
105
- [pageSize, (page - 1) * pageSize]
106
- );
103
+ const page = await db.query('SELECT * FROM items LIMIT $1 OFFSET $2', [
104
+ pageSize,
105
+ (page - 1) * pageSize,
106
+ ]);
107
107
 
108
108
  // Cursor pagination (efficient)
109
- const page = await db.query(
110
- 'SELECT * FROM items WHERE id > $1 ORDER BY id LIMIT $2',
111
- [lastSeenId, pageSize]
112
- );
109
+ const page = await db.query('SELECT * FROM items WHERE id > $1 ORDER BY id LIMIT $2', [
110
+ lastSeenId,
111
+ pageSize,
112
+ ]);
113
113
  ```
114
114
 
115
115
  ---
@@ -129,9 +129,7 @@ app.use(compression());
129
129
  // GET /users?fields=id,name,email
130
130
  app.get('/users', (req, res) => {
131
131
  const fields = req.query.fields?.split(',') || ['*'];
132
- const users = await db.query(
133
- `SELECT ${fields.join(',')} FROM users`
134
- );
132
+ const users = await db.query(`SELECT ${fields.join(',')} FROM users`);
135
133
  res.json(users);
136
134
  });
137
135
  ```
@@ -158,11 +156,11 @@ await api.getUsers([1, 2, 3]);
158
156
  // Don't block request for slow operations
159
157
  app.post('/orders', async (req, res) => {
160
158
  const order = await createOrder(req.body);
161
-
159
+
162
160
  // Queue async tasks
163
161
  await queue.add('send-confirmation-email', { orderId: order.id });
164
162
  await queue.add('update-inventory', { orderId: order.id });
165
-
163
+
166
164
  res.json(order); // Respond immediately
167
165
  });
168
166
  ```
@@ -176,11 +174,7 @@ const products = await getProducts();
176
174
  const orders = await getOrders();
177
175
 
178
176
  // GOOD: Parallel
179
- const [users, products, orders] = await Promise.all([
180
- getUsers(),
181
- getProducts(),
182
- getOrders()
183
- ]);
177
+ const [users, products, orders] = await Promise.all([getUsers(), getProducts(), getOrders()]);
184
178
  ```
185
179
 
186
180
  ---
@@ -199,7 +193,7 @@ const Settings = React.lazy(() => import('./Settings'));
199
193
 
200
194
  ```html
201
195
  <!-- Responsive images -->
202
- <img
196
+ <img
203
197
  srcset="image-300.jpg 300w, image-600.jpg 600w"
204
198
  sizes="(max-width: 600px) 300px, 600px"
205
199
  loading="lazy"
@@ -211,11 +205,11 @@ const Settings = React.lazy(() => import('./Settings'));
211
205
 
212
206
  ```typescript
213
207
  // Debounce search input
214
- const debouncedSearch = debounce((query) => {
208
+ const debouncedSearch = debounce(query => {
215
209
  api.search(query);
216
210
  }, 300);
217
211
 
218
- input.addEventListener('input', (e) => {
212
+ input.addEventListener('input', e => {
219
213
  debouncedSearch(e.target.value);
220
214
  });
221
215
  ```
@@ -226,13 +220,13 @@ input.addEventListener('input', (e) => {
226
220
 
227
221
  ### Key Metrics
228
222
 
229
- | Metric | Target | Tool |
230
- |--------|--------|------|
231
- | TTFB | < 200ms | Lighthouse |
232
- | FCP | < 1.8s | Lighthouse |
233
- | LCP | < 2.5s | Lighthouse |
234
- | API p95 | < 200ms | APM |
235
- | DB p95 | < 50ms | DB monitoring |
223
+ | Metric | Target | Tool |
224
+ | ------- | ------- | ------------- |
225
+ | TTFB | < 200ms | Lighthouse |
226
+ | FCP | < 1.8s | Lighthouse |
227
+ | LCP | < 2.5s | Lighthouse |
228
+ | API p95 | < 200ms | APM |
229
+ | DB p95 | < 50ms | DB monitoring |
236
230
 
237
231
  ### Monitoring Queries
238
232
 
@@ -249,24 +243,28 @@ LIMIT 10;
249
243
  ## Optimization Checklist
250
244
 
251
245
  ### Database
246
+
252
247
  - [ ] Indexes on frequently queried columns
253
248
  - [ ] Connection pooling configured
254
249
  - [ ] N+1 queries eliminated
255
250
  - [ ] Query plans analyzed (EXPLAIN)
256
251
 
257
252
  ### API
253
+
258
254
  - [ ] Response compression enabled
259
255
  - [ ] Pagination implemented
260
256
  - [ ] Caching strategy in place
261
257
  - [ ] Slow operations moved to background
262
258
 
263
259
  ### Frontend
260
+
264
261
  - [ ] Code splitting implemented
265
262
  - [ ] Images optimized and lazy loaded
266
263
  - [ ] CDN for static assets
267
264
  - [ ] Bundle size analyzed
268
265
 
269
266
  ### Infrastructure
267
+
270
268
  - [ ] Auto-scaling configured
271
269
  - [ ] Load balancing in place
272
270
  - [ ] CDN configured
@@ -53,6 +53,7 @@ musubi-orchestrate status
53
53
  ```
54
54
 
55
55
  **オーケストレーションパターン**:
56
+
56
57
  - **auto**: タスク内容から最適なスキルを自動選択
57
58
  - **sequential**: スキルを順番に実行(依存関係を考慮)
58
59
  - **group-chat**: 複数スキルが協議して結論を出す
@@ -114,13 +115,13 @@ musubi-workflow status
114
115
 
115
116
  ### プロジェクトマネージャーの役割
116
117
 
117
- | ワークフローステージ | PMの主な責務 |
118
- |---------------------|-------------|
119
- | Stage 0: Spike | 調査範囲の定義、期間設定 |
120
- | Stage 1-3: Requirements→Design→Tasks | 進捗追跡、リソース配分 |
118
+ | ワークフローステージ | PMの主な責務 |
119
+ | ---------------------------------------- | -------------------------- |
120
+ | Stage 0: Spike | 調査範囲の定義、期間設定 |
121
+ | Stage 1-3: Requirements→Design→Tasks | 進捗追跡、リソース配分 |
121
122
  | Stage 4-6: Implementation→Review→Testing | リスク管理、ブロッカー解消 |
122
- | Stage 7-8: Deployment→Monitoring | リリース計画、本番監視 |
123
- | Stage 9: Retrospective | 振り返りファシリテーション |
123
+ | Stage 7-8: Deployment→Monitoring | リリース計画、本番監視 |
124
+ | Stage 9: Retrospective | 振り返りファシリテーション |
124
125
 
125
126
  ### 推奨コマンド
126
127
 
@@ -8,19 +8,20 @@ Guide for running effective Agile ceremonies.
8
8
 
9
9
  ## Ceremony Overview
10
10
 
11
- | Ceremony | Frequency | Duration | Participants |
12
- |----------|-----------|----------|--------------|
13
- | Sprint Planning | Sprint start | 2-4 hours | Team, PO |
14
- | Daily Standup | Daily | 15 min | Team |
15
- | Sprint Review | Sprint end | 1-2 hours | Team, PO, Stakeholders |
16
- | Retrospective | Sprint end | 1-2 hours | Team |
17
- | Backlog Refinement | Weekly | 1 hour | Team, PO |
11
+ | Ceremony | Frequency | Duration | Participants |
12
+ | ------------------ | ------------ | --------- | ---------------------- |
13
+ | Sprint Planning | Sprint start | 2-4 hours | Team, PO |
14
+ | Daily Standup | Daily | 15 min | Team |
15
+ | Sprint Review | Sprint end | 1-2 hours | Team, PO, Stakeholders |
16
+ | Retrospective | Sprint end | 1-2 hours | Team |
17
+ | Backlog Refinement | Weekly | 1 hour | Team, PO |
18
18
 
19
19
  ---
20
20
 
21
21
  ## Sprint Planning
22
22
 
23
23
  ### Objectives
24
+
24
25
  1. Define sprint goal
25
26
  2. Select user stories
26
27
  3. Create task breakdown
@@ -53,6 +54,7 @@ Guide for running effective Agile ceremonies.
53
54
  ```
54
55
 
55
56
  ### Best Practices
57
+
56
58
  - Come prepared with refined backlog
57
59
  - Focus on "what" not "how"
58
60
  - Don't overcommit
@@ -65,21 +67,23 @@ Guide for running effective Agile ceremonies.
65
67
  ### Format
66
68
 
67
69
  Each team member answers:
70
+
68
71
  1. What did I complete yesterday?
69
72
  2. What will I work on today?
70
73
  3. Do I have any blockers?
71
74
 
72
75
  ### Anti-patterns to Avoid
73
76
 
74
- | Anti-pattern | Better Approach |
75
- |--------------|-----------------|
76
- | Status report to manager | Team sync |
77
- | Solving problems in standup | Take offline |
78
- | Going over 15 minutes | Keep it short |
79
- | Only talking to Scrum Master | Talk to team |
80
- | Sitting down | Stand up (energy) |
77
+ | Anti-pattern | Better Approach |
78
+ | ---------------------------- | ----------------- |
79
+ | Status report to manager | Team sync |
80
+ | Solving problems in standup | Take offline |
81
+ | Going over 15 minutes | Keep it short |
82
+ | Only talking to Scrum Master | Talk to team |
83
+ | Sitting down | Stand up (energy) |
81
84
 
82
85
  ### Virtual Standup Tips
86
+
83
87
  - Camera on
84
88
  - Mute when not speaking
85
89
  - Use visual board
@@ -91,6 +95,7 @@ Each team member answers:
91
95
  ## Sprint Review (Demo)
92
96
 
93
97
  ### Objectives
98
+
94
99
  1. Demonstrate completed work
95
100
  2. Get stakeholder feedback
96
101
  3. Discuss backlog priorities
@@ -121,6 +126,7 @@ Each team member answers:
121
126
  ```
122
127
 
123
128
  ### Tips for Good Demos
129
+
124
130
  - Use real scenarios
125
131
  - Show working software
126
132
  - Keep it interactive
@@ -132,6 +138,7 @@ Each team member answers:
132
138
  ## Retrospective
133
139
 
134
140
  ### Objectives
141
+
135
142
  1. Reflect on the sprint
136
143
  2. Identify improvements
137
144
  3. Create action items
@@ -139,6 +146,7 @@ Each team member answers:
139
146
  ### Formats
140
147
 
141
148
  #### Start/Stop/Continue
149
+
142
150
  ```
143
151
  🟢 START doing: [What new things should we try?]
144
152
  🔴 STOP doing: [What's not working?]
@@ -146,6 +154,7 @@ Each team member answers:
146
154
  ```
147
155
 
148
156
  #### 4Ls
157
+
149
158
  ```
150
159
  😍 LIKED: [What did you like?]
151
160
  📚 LEARNED: [What did you learn?]
@@ -154,6 +163,7 @@ Each team member answers:
154
163
  ```
155
164
 
156
165
  #### Sailboat
166
+
157
167
  ```
158
168
  ⛵ WIND (helps us): [What's pushing us forward?]
159
169
  ⚓ ANCHOR (slows us): [What's holding us back?]
@@ -162,6 +172,7 @@ Each team member answers:
162
172
  ```
163
173
 
164
174
  ### Facilitation Tips
175
+
165
176
  - Safe space - no blame
166
177
  - Everyone participates
167
178
  - Time-box discussions
@@ -174,6 +185,7 @@ Each team member answers:
174
185
  ## Backlog Refinement
175
186
 
176
187
  ### Objectives
188
+
177
189
  1. Clarify upcoming stories
178
190
  2. Estimate stories
179
191
  3. Break down large items
@@ -204,6 +216,7 @@ Each team member answers:
204
216
  ### Definition of Ready
205
217
 
206
218
  Story is ready when:
219
+
207
220
  - [ ] Clearly written with user perspective
208
221
  - [ ] Acceptance criteria defined
209
222
  - [ ] Estimated by team
@@ -217,36 +230,38 @@ Story is ready when:
217
230
 
218
231
  ### Planning Poker
219
232
 
220
- | Points | Meaning |
221
- |--------|---------|
222
- | 1 | Trivial |
223
- | 2 | Simple |
224
- | 3 | Moderate |
225
- | 5 | Complex |
226
- | 8 | Very Complex |
227
- | 13 | Epic-sized (split it) |
233
+ | Points | Meaning |
234
+ | ------ | --------------------- |
235
+ | 1 | Trivial |
236
+ | 2 | Simple |
237
+ | 3 | Moderate |
238
+ | 5 | Complex |
239
+ | 8 | Very Complex |
240
+ | 13 | Epic-sized (split it) |
228
241
 
229
242
  ### T-Shirt Sizing
230
243
 
231
244
  | Size | Relative Effort |
232
- |------|-----------------|
233
- | XS | Hours |
234
- | S | 1-2 days |
235
- | M | 3-5 days |
236
- | L | 1-2 weeks |
237
- | XL | Needs breakdown |
245
+ | ---- | --------------- |
246
+ | XS | Hours |
247
+ | S | 1-2 days |
248
+ | M | 3-5 days |
249
+ | L | 1-2 weeks |
250
+ | XL | Needs breakdown |
238
251
 
239
252
  ---
240
253
 
241
254
  ## Remote Ceremony Tips
242
255
 
243
256
  ### Tools
257
+
244
258
  - Video: Zoom, Teams
245
259
  - Board: Miro, Mural
246
260
  - Voting: Mentimeter
247
261
  - Timer: Online stopwatch
248
262
 
249
263
  ### Best Practices
264
+
250
265
  - Camera on for engagement
251
266
  - Use virtual whiteboard
252
267
  - More breaks for longer sessions
@@ -259,24 +274,28 @@ Story is ready when:
259
274
  ## Ceremony Health Check
260
275
 
261
276
  ### Sprint Planning
277
+
262
278
  - [ ] Sprint goal is clear
263
279
  - [ ] Team has capacity
264
280
  - [ ] Stories are refined
265
281
  - [ ] Commitment is realistic
266
282
 
267
283
  ### Daily Standup
284
+
268
285
  - [ ] Starts on time
269
286
  - [ ] Finishes in 15 min
270
287
  - [ ] Blockers are raised
271
288
  - [ ] Team is engaged
272
289
 
273
290
  ### Sprint Review
291
+
274
292
  - [ ] Working software shown
275
293
  - [ ] Stakeholders present
276
294
  - [ ] Feedback captured
277
295
  - [ ] Team celebrated
278
296
 
279
297
  ### Retrospective
298
+
280
299
  - [ ] Safe environment
281
300
  - [ ] Everyone participated
282
301
  - [ ] Actions are specific