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.
- package/README.ja.md +106 -48
- package/README.md +110 -32
- package/bin/musubi-analyze.js +74 -67
- package/bin/musubi-browser.js +27 -26
- package/bin/musubi-change.js +48 -47
- package/bin/musubi-checkpoint.js +10 -7
- package/bin/musubi-convert.js +25 -25
- package/bin/musubi-costs.js +27 -10
- package/bin/musubi-gui.js +52 -46
- package/bin/musubi-init.js +1952 -10
- package/bin/musubi-orchestrate.js +327 -239
- package/bin/musubi-remember.js +69 -56
- package/bin/musubi-resolve.js +53 -45
- package/bin/musubi-trace.js +51 -22
- package/bin/musubi-validate.js +39 -30
- package/bin/musubi-workflow.js +33 -34
- package/bin/musubi.js +39 -2
- package/package.json +1 -1
- package/src/agents/agent-loop.js +94 -95
- package/src/agents/agentic/code-generator.js +119 -109
- package/src/agents/agentic/code-reviewer.js +105 -108
- package/src/agents/agentic/index.js +4 -4
- package/src/agents/browser/action-executor.js +13 -13
- package/src/agents/browser/ai-comparator.js +11 -10
- package/src/agents/browser/context-manager.js +6 -6
- package/src/agents/browser/index.js +5 -5
- package/src/agents/browser/nl-parser.js +31 -46
- package/src/agents/browser/screenshot.js +2 -2
- package/src/agents/browser/test-generator.js +6 -4
- package/src/agents/function-tool.js +71 -65
- package/src/agents/index.js +7 -7
- package/src/agents/schema-generator.js +98 -94
- package/src/analyzers/ast-extractor.js +164 -145
- package/src/analyzers/codegraph-auto-update.js +858 -0
- package/src/analyzers/complexity-analyzer.js +536 -0
- package/src/analyzers/context-optimizer.js +247 -125
- package/src/analyzers/impact-analyzer.js +1 -1
- package/src/analyzers/large-project-analyzer.js +766 -0
- package/src/analyzers/repository-map.js +83 -80
- package/src/analyzers/security-analyzer.js +19 -11
- package/src/analyzers/stuck-detector.js +19 -17
- package/src/converters/index.js +78 -57
- package/src/converters/ir/types.js +12 -12
- package/src/converters/parsers/musubi-parser.js +134 -126
- package/src/converters/parsers/openapi-parser.js +70 -53
- package/src/converters/parsers/speckit-parser.js +239 -175
- package/src/converters/writers/musubi-writer.js +123 -118
- package/src/converters/writers/speckit-writer.js +124 -113
- package/src/generators/rust-migration-generator.js +512 -0
- package/src/gui/public/index.html +1365 -1211
- package/src/gui/server.js +41 -40
- package/src/gui/services/file-watcher.js +23 -8
- package/src/gui/services/project-scanner.js +26 -20
- package/src/gui/services/replanning-service.js +27 -23
- package/src/gui/services/traceability-service.js +8 -8
- package/src/gui/services/workflow-service.js +14 -7
- package/src/index.js +151 -0
- package/src/integrations/cicd.js +90 -104
- package/src/integrations/codegraph-mcp.js +643 -0
- package/src/integrations/documentation.js +142 -103
- package/src/integrations/examples.js +95 -80
- package/src/integrations/github-client.js +17 -17
- package/src/integrations/index.js +5 -5
- package/src/integrations/mcp/index.js +21 -21
- package/src/integrations/mcp/mcp-context-provider.js +76 -78
- package/src/integrations/mcp/mcp-discovery.js +74 -72
- package/src/integrations/mcp/mcp-tool-registry.js +99 -94
- package/src/integrations/mcp-connector.js +70 -66
- package/src/integrations/platforms.js +50 -49
- package/src/integrations/tool-discovery.js +37 -31
- package/src/llm-providers/anthropic-provider.js +11 -11
- package/src/llm-providers/base-provider.js +16 -18
- package/src/llm-providers/copilot-provider.js +22 -19
- package/src/llm-providers/index.js +26 -25
- package/src/llm-providers/ollama-provider.js +11 -11
- package/src/llm-providers/openai-provider.js +12 -12
- package/src/managers/agent-memory.js +36 -24
- package/src/managers/checkpoint-manager.js +4 -8
- package/src/managers/delta-spec.js +19 -19
- package/src/managers/index.js +13 -4
- package/src/managers/memory-condenser.js +35 -45
- package/src/managers/repo-skill-manager.js +57 -31
- package/src/managers/skill-loader.js +25 -22
- package/src/managers/skill-tools.js +36 -72
- package/src/managers/workflow.js +30 -22
- package/src/monitoring/cost-tracker.js +53 -44
- package/src/monitoring/incident-manager.js +123 -103
- package/src/monitoring/index.js +144 -134
- package/src/monitoring/observability.js +82 -59
- package/src/monitoring/quality-dashboard.js +51 -39
- package/src/monitoring/release-manager.js +70 -50
- package/src/orchestration/agent-skill-binding.js +39 -47
- package/src/orchestration/error-handler.js +65 -107
- package/src/orchestration/guardrails/base-guardrail.js +26 -24
- package/src/orchestration/guardrails/guardrail-rules.js +50 -64
- package/src/orchestration/guardrails/index.js +5 -5
- package/src/orchestration/guardrails/input-guardrail.js +58 -45
- package/src/orchestration/guardrails/output-guardrail.js +104 -81
- package/src/orchestration/guardrails/safety-check.js +79 -79
- package/src/orchestration/index.js +38 -55
- package/src/orchestration/mcp-tool-adapters.js +96 -99
- package/src/orchestration/orchestration-engine.js +21 -21
- package/src/orchestration/pattern-registry.js +60 -45
- package/src/orchestration/patterns/auto.js +34 -47
- package/src/orchestration/patterns/group-chat.js +59 -65
- package/src/orchestration/patterns/handoff.js +67 -65
- package/src/orchestration/patterns/human-in-loop.js +51 -72
- package/src/orchestration/patterns/nested.js +25 -40
- package/src/orchestration/patterns/sequential.js +35 -34
- package/src/orchestration/patterns/swarm.js +63 -56
- package/src/orchestration/patterns/triage.js +150 -109
- package/src/orchestration/reasoning/index.js +9 -9
- package/src/orchestration/reasoning/planning-engine.js +143 -140
- package/src/orchestration/reasoning/reasoning-engine.js +206 -144
- package/src/orchestration/reasoning/self-correction.js +121 -128
- package/src/orchestration/replanning/adaptive-goal-modifier.js +107 -112
- package/src/orchestration/replanning/alternative-generator.js +37 -42
- package/src/orchestration/replanning/config.js +63 -59
- package/src/orchestration/replanning/goal-progress-tracker.js +98 -100
- package/src/orchestration/replanning/index.js +24 -20
- package/src/orchestration/replanning/plan-evaluator.js +49 -50
- package/src/orchestration/replanning/plan-monitor.js +32 -28
- package/src/orchestration/replanning/proactive-path-optimizer.js +175 -178
- package/src/orchestration/replanning/replan-history.js +33 -26
- package/src/orchestration/replanning/replanning-engine.js +106 -108
- package/src/orchestration/skill-executor.js +107 -109
- package/src/orchestration/skill-registry.js +85 -89
- package/src/orchestration/workflow-examples.js +228 -231
- package/src/orchestration/workflow-executor.js +65 -68
- package/src/orchestration/workflow-orchestrator.js +72 -73
- package/src/phase4-integration.js +47 -40
- package/src/phase5-integration.js +89 -30
- package/src/reporters/coverage-report.js +82 -30
- package/src/reporters/hierarchical-reporter.js +498 -0
- package/src/reporters/traceability-matrix-report.js +29 -20
- package/src/resolvers/issue-resolver.js +43 -31
- package/src/steering/advanced-validation.js +133 -124
- package/src/steering/auto-updater.js +60 -73
- package/src/steering/index.js +6 -6
- package/src/steering/quality-metrics.js +41 -35
- package/src/steering/steering-auto-update.js +83 -86
- package/src/steering/steering-validator.js +98 -106
- package/src/steering/template-constraints.js +53 -54
- package/src/templates/agents/claude-code/CLAUDE.md +32 -32
- package/src/templates/agents/claude-code/skills/agent-assistant/SKILL.md +13 -5
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/mlops-guide.md +23 -23
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/model-card-template.md +60 -41
- package/src/templates/agents/claude-code/skills/api-designer/api-patterns.md +27 -19
- package/src/templates/agents/claude-code/skills/api-designer/openapi-template.md +11 -7
- package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +4 -3
- package/src/templates/agents/claude-code/skills/bug-hunter/root-cause-analysis.md +37 -15
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/dependency-graph-patterns.md +36 -42
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/impact-analysis-template.md +69 -60
- package/src/templates/agents/claude-code/skills/cloud-architect/aws-patterns.md +31 -38
- package/src/templates/agents/claude-code/skills/cloud-architect/azure-patterns.md +28 -23
- package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +61 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/best-practices.md +27 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/review-checklist.md +29 -10
- package/src/templates/agents/claude-code/skills/code-reviewer/review-standards.md +29 -24
- package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +8 -6
- package/src/templates/agents/claude-code/skills/constitution-enforcer/constitutional-articles.md +62 -26
- package/src/templates/agents/claude-code/skills/constitution-enforcer/phase-minus-one-gates.md +35 -16
- package/src/templates/agents/claude-code/skills/database-administrator/backup-recovery.md +27 -17
- package/src/templates/agents/claude-code/skills/database-administrator/tuning-guide.md +25 -20
- package/src/templates/agents/claude-code/skills/database-schema-designer/schema-patterns.md +39 -22
- package/src/templates/agents/claude-code/skills/devops-engineer/ci-cd-templates.md +25 -22
- package/src/templates/agents/claude-code/skills/issue-resolver/SKILL.md +24 -21
- package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +148 -63
- package/src/templates/agents/claude-code/skills/orchestrator/patterns.md +35 -16
- package/src/templates/agents/claude-code/skills/orchestrator/selection-matrix.md +69 -64
- package/src/templates/agents/claude-code/skills/performance-engineer/optimization-playbook.md +47 -47
- package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +69 -0
- package/src/templates/agents/claude-code/skills/performance-optimizer/benchmark-template.md +63 -45
- package/src/templates/agents/claude-code/skills/performance-optimizer/optimization-patterns.md +33 -35
- package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +7 -6
- package/src/templates/agents/claude-code/skills/project-manager/agile-ceremonies.md +47 -28
- package/src/templates/agents/claude-code/skills/project-manager/project-templates.md +94 -78
- package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +20 -17
- package/src/templates/agents/claude-code/skills/quality-assurance/qa-plan-template.md +63 -49
- package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +5 -5
- package/src/templates/agents/claude-code/skills/release-coordinator/feature-flag-guide.md +30 -26
- package/src/templates/agents/claude-code/skills/release-coordinator/release-plan-template.md +67 -35
- package/src/templates/agents/claude-code/skills/requirements-analyst/ears-format.md +54 -42
- package/src/templates/agents/claude-code/skills/requirements-analyst/validation-rules.md +36 -33
- package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +77 -19
- package/src/templates/agents/claude-code/skills/security-auditor/audit-checklists.md +24 -24
- package/src/templates/agents/claude-code/skills/security-auditor/owasp-top-10.md +61 -20
- package/src/templates/agents/claude-code/skills/security-auditor/vulnerability-patterns.md +43 -11
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/incident-response-template.md +55 -25
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/observability-patterns.md +78 -68
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/slo-sli-guide.md +73 -53
- package/src/templates/agents/claude-code/skills/software-developer/solid-principles.md +83 -37
- package/src/templates/agents/claude-code/skills/software-developer/test-first-workflow.md +38 -31
- package/src/templates/agents/claude-code/skills/steering/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/steering/auto-update-rules.md +31 -0
- package/src/templates/agents/claude-code/skills/system-architect/adr-template.md +25 -7
- package/src/templates/agents/claude-code/skills/system-architect/c4-model-guide.md +74 -61
- package/src/templates/agents/claude-code/skills/technical-writer/doc-templates/documentation-templates.md +70 -52
- package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +2 -0
- package/src/templates/agents/claude-code/skills/test-engineer/ears-test-mapping.md +75 -71
- package/src/templates/agents/claude-code/skills/test-engineer/test-types.md +85 -63
- package/src/templates/agents/claude-code/skills/traceability-auditor/coverage-matrix-template.md +39 -36
- package/src/templates/agents/claude-code/skills/traceability-auditor/gap-detection-rules.md +22 -17
- package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/ui-ux-designer/accessibility-guidelines.md +49 -75
- package/src/templates/agents/claude-code/skills/ui-ux-designer/design-system-components.md +71 -59
- package/src/templates/agents/codex/AGENTS.md +74 -42
- package/src/templates/agents/cursor/AGENTS.md +74 -42
- package/src/templates/agents/gemini-cli/GEMINI.md +74 -42
- package/src/templates/agents/github-copilot/AGENTS.md +83 -51
- package/src/templates/agents/qwen-code/QWEN.md +74 -42
- package/src/templates/agents/windsurf/AGENTS.md +74 -42
- package/src/templates/architectures/README.md +41 -0
- package/src/templates/architectures/clean-architecture/README.md +113 -0
- package/src/templates/architectures/event-driven/README.md +162 -0
- package/src/templates/architectures/hexagonal/README.md +130 -0
- package/src/templates/index.js +6 -1
- package/src/templates/locale-manager.js +16 -16
- package/src/templates/shared/delta-spec-template.md +20 -13
- package/src/templates/shared/github-actions/musubi-issue-resolver.yml +5 -5
- package/src/templates/shared/github-actions/musubi-security-check.yml +3 -3
- package/src/templates/shared/github-actions/musubi-validate.yml +4 -4
- package/src/templates/shared/steering/structure.md +95 -0
- package/src/templates/skills/browser-agent.md +21 -16
- package/src/templates/skills/web-gui.md +8 -0
- package/src/templates/template-constraints.js +50 -53
- package/src/validators/advanced-validation.js +30 -36
- package/src/validators/constitutional-validator.js +77 -73
- package/src/validators/critic-system.js +49 -59
- package/src/validators/delta-format.js +59 -55
- package/src/validators/traceability-validator.js +7 -11
|
@@ -15,6 +15,7 @@ The C4 model is a set of hierarchical diagrams for visualizing software architec
|
|
|
15
15
|
**Scope**: Single software system
|
|
16
16
|
|
|
17
17
|
**Primary Elements**:
|
|
18
|
+
|
|
18
19
|
- Your system (center)
|
|
19
20
|
- Users (people)
|
|
20
21
|
- External systems
|
|
@@ -24,16 +25,16 @@ The C4 model is a set of hierarchical diagrams for visualizing software architec
|
|
|
24
25
|
```mermaid
|
|
25
26
|
C4Context
|
|
26
27
|
title System Context Diagram - E-Commerce Platform
|
|
27
|
-
|
|
28
|
+
|
|
28
29
|
Person(customer, "Customer", "A user who purchases products")
|
|
29
30
|
Person(admin, "Admin", "System administrator")
|
|
30
|
-
|
|
31
|
+
|
|
31
32
|
System(ecommerce, "E-Commerce Platform", "Allows customers to browse and purchase products")
|
|
32
|
-
|
|
33
|
+
|
|
33
34
|
System_Ext(payment, "Payment Gateway", "Processes credit card payments")
|
|
34
35
|
System_Ext(shipping, "Shipping API", "Calculates shipping rates")
|
|
35
36
|
System_Ext(email, "Email Service", "Sends transactional emails")
|
|
36
|
-
|
|
37
|
+
|
|
37
38
|
Rel(customer, ecommerce, "Browses, purchases")
|
|
38
39
|
Rel(admin, ecommerce, "Manages products, orders")
|
|
39
40
|
Rel(ecommerce, payment, "Processes payments")
|
|
@@ -42,21 +43,25 @@ C4Context
|
|
|
42
43
|
```
|
|
43
44
|
|
|
44
45
|
**Template**:
|
|
46
|
+
|
|
45
47
|
```markdown
|
|
46
48
|
## Level 1: System Context
|
|
47
49
|
|
|
48
50
|
### System
|
|
51
|
+
|
|
49
52
|
- **Name**: [System Name]
|
|
50
53
|
- **Description**: [What the system does]
|
|
51
54
|
|
|
52
55
|
### Users
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
|
|
57
|
+
| User | Description |
|
|
58
|
+
| ----------- | ---------------------------- |
|
|
55
59
|
| [User Type] | [User description and goals] |
|
|
56
60
|
|
|
57
61
|
### External Systems
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
|
|
63
|
+
| System | Description | Integration |
|
|
64
|
+
| ----------------- | -------------- | ------------------ |
|
|
60
65
|
| [External System] | [What it does] | [How we integrate] |
|
|
61
66
|
```
|
|
62
67
|
|
|
@@ -69,6 +74,7 @@ C4Context
|
|
|
69
74
|
**Scope**: Single software system
|
|
70
75
|
|
|
71
76
|
**Primary Elements**:
|
|
77
|
+
|
|
72
78
|
- Containers (applications, data stores, etc.)
|
|
73
79
|
- Relationships between containers
|
|
74
80
|
|
|
@@ -77,9 +83,9 @@ C4Context
|
|
|
77
83
|
```mermaid
|
|
78
84
|
C4Container
|
|
79
85
|
title Container Diagram - E-Commerce Platform
|
|
80
|
-
|
|
86
|
+
|
|
81
87
|
Person(customer, "Customer")
|
|
82
|
-
|
|
88
|
+
|
|
83
89
|
Container_Boundary(c1, "E-Commerce Platform") {
|
|
84
90
|
Container(web, "Web Application", "React", "Delivers the web frontend")
|
|
85
91
|
Container(api, "API Server", "Node.js/Express", "Provides REST API")
|
|
@@ -88,9 +94,9 @@ C4Container
|
|
|
88
94
|
ContainerDb(cache, "Cache", "Redis", "Caches sessions, products")
|
|
89
95
|
ContainerDb(queue, "Message Queue", "RabbitMQ", "Handles async messaging")
|
|
90
96
|
}
|
|
91
|
-
|
|
97
|
+
|
|
92
98
|
System_Ext(payment, "Payment Gateway")
|
|
93
|
-
|
|
99
|
+
|
|
94
100
|
Rel(customer, web, "Uses", "HTTPS")
|
|
95
101
|
Rel(web, api, "API calls", "HTTPS/JSON")
|
|
96
102
|
Rel(api, db, "Reads/Writes")
|
|
@@ -101,26 +107,27 @@ C4Container
|
|
|
101
107
|
```
|
|
102
108
|
|
|
103
109
|
**Template**:
|
|
110
|
+
|
|
104
111
|
```markdown
|
|
105
112
|
## Level 2: Container Diagram
|
|
106
113
|
|
|
107
114
|
### Containers
|
|
108
115
|
|
|
109
|
-
| Container
|
|
110
|
-
|
|
111
|
-
| Web App
|
|
112
|
-
| API Server | Node.js/Express | REST API backend
|
|
113
|
-
| Database
|
|
114
|
-
| Cache
|
|
115
|
-
| Queue
|
|
116
|
+
| Container | Technology | Description |
|
|
117
|
+
| ---------- | --------------- | ------------------------ |
|
|
118
|
+
| Web App | React | Frontend SPA |
|
|
119
|
+
| API Server | Node.js/Express | REST API backend |
|
|
120
|
+
| Database | PostgreSQL | Persistent storage |
|
|
121
|
+
| Cache | Redis | Session and data cache |
|
|
122
|
+
| Queue | RabbitMQ | Async message processing |
|
|
116
123
|
|
|
117
124
|
### Communication
|
|
118
125
|
|
|
119
|
-
| From
|
|
120
|
-
|
|
121
|
-
| Web App
|
|
122
|
-
| API Server | Database
|
|
123
|
-
| API Server | Cache
|
|
126
|
+
| From | To | Protocol | Purpose |
|
|
127
|
+
| ---------- | ---------- | ---------- | ---------------- |
|
|
128
|
+
| Web App | API Server | HTTPS/REST | API calls |
|
|
129
|
+
| API Server | Database | TCP | Data persistence |
|
|
130
|
+
| API Server | Cache | TCP | Caching |
|
|
124
131
|
```
|
|
125
132
|
|
|
126
133
|
---
|
|
@@ -132,6 +139,7 @@ C4Container
|
|
|
132
139
|
**Scope**: Single container
|
|
133
140
|
|
|
134
141
|
**Primary Elements**:
|
|
142
|
+
|
|
135
143
|
- Components (modules, services, controllers)
|
|
136
144
|
- Relationships between components
|
|
137
145
|
|
|
@@ -140,7 +148,7 @@ C4Container
|
|
|
140
148
|
```mermaid
|
|
141
149
|
C4Component
|
|
142
150
|
title Component Diagram - API Server
|
|
143
|
-
|
|
151
|
+
|
|
144
152
|
Container_Boundary(api, "API Server") {
|
|
145
153
|
Component(auth, "Auth Controller", "Express Router", "Handles authentication")
|
|
146
154
|
Component(user, "User Controller", "Express Router", "User CRUD operations")
|
|
@@ -150,9 +158,9 @@ C4Component
|
|
|
150
158
|
Component(orderService, "Order Service", "TypeScript", "Order business logic")
|
|
151
159
|
Component(repo, "Repository Layer", "TypeScript", "Data access abstraction")
|
|
152
160
|
}
|
|
153
|
-
|
|
161
|
+
|
|
154
162
|
ContainerDb(db, "Database", "PostgreSQL")
|
|
155
|
-
|
|
163
|
+
|
|
156
164
|
Rel(auth, authService, "Uses")
|
|
157
165
|
Rel(user, userService, "Uses")
|
|
158
166
|
Rel(order, orderService, "Uses")
|
|
@@ -163,23 +171,24 @@ C4Component
|
|
|
163
171
|
```
|
|
164
172
|
|
|
165
173
|
**Template**:
|
|
174
|
+
|
|
166
175
|
```markdown
|
|
167
176
|
## Level 3: Component Diagram - [Container Name]
|
|
168
177
|
|
|
169
178
|
### Components
|
|
170
179
|
|
|
171
|
-
| Component
|
|
172
|
-
|
|
180
|
+
| Component | Type | Responsibility |
|
|
181
|
+
| --------------- | ---------- | --------------------- |
|
|
173
182
|
| Auth Controller | Controller | Handle auth endpoints |
|
|
174
|
-
| Auth Service
|
|
175
|
-
| User Repository | Repository | User data access
|
|
183
|
+
| Auth Service | Service | Authentication logic |
|
|
184
|
+
| User Repository | Repository | User data access |
|
|
176
185
|
|
|
177
186
|
### Dependencies
|
|
178
187
|
|
|
179
|
-
| Component
|
|
180
|
-
|
|
181
|
-
| Auth Controller | Auth Service
|
|
182
|
-
| Auth Service
|
|
188
|
+
| Component | Depends On | Purpose |
|
|
189
|
+
| --------------- | --------------- | -------------- |
|
|
190
|
+
| Auth Controller | Auth Service | Business logic |
|
|
191
|
+
| Auth Service | User Repository | Data access |
|
|
183
192
|
```
|
|
184
193
|
|
|
185
194
|
---
|
|
@@ -191,6 +200,7 @@ C4Component
|
|
|
191
200
|
**Scope**: Single component
|
|
192
201
|
|
|
193
202
|
**Primary Elements**:
|
|
203
|
+
|
|
194
204
|
- Classes, interfaces, modules
|
|
195
205
|
- Relationships (inheritance, composition)
|
|
196
206
|
|
|
@@ -208,18 +218,18 @@ classDiagram
|
|
|
208
218
|
+validateToken(token): boolean
|
|
209
219
|
+refreshToken(token): string
|
|
210
220
|
}
|
|
211
|
-
|
|
221
|
+
|
|
212
222
|
class UserRepository {
|
|
213
223
|
+findByEmail(email): User
|
|
214
224
|
+create(user): User
|
|
215
225
|
+update(id, data): User
|
|
216
226
|
}
|
|
217
|
-
|
|
227
|
+
|
|
218
228
|
class JwtService {
|
|
219
229
|
+sign(payload): string
|
|
220
230
|
+verify(token): Payload
|
|
221
231
|
}
|
|
222
|
-
|
|
232
|
+
|
|
223
233
|
AuthService --> UserRepository
|
|
224
234
|
AuthService --> JwtService
|
|
225
235
|
```
|
|
@@ -230,14 +240,14 @@ classDiagram
|
|
|
230
240
|
|
|
231
241
|
### Element Types
|
|
232
242
|
|
|
233
|
-
| Element
|
|
234
|
-
|
|
235
|
-
| Person
|
|
236
|
-
| System
|
|
237
|
-
| External System | 
|
|
238
|
-
| Container
|
|
239
|
-
| Component
|
|
240
|
-
| Database
|
|
243
|
+
| Element | Notation | Description |
|
|
244
|
+
| --------------- | ------------------------------ | -------------------------- |
|
|
245
|
+
| Person |  | A user of the system |
|
|
246
|
+
| System |  | The system being described |
|
|
247
|
+
| External System |  | External dependency |
|
|
248
|
+
| Container |  | Deployable unit |
|
|
249
|
+
| Component |  | Code module |
|
|
250
|
+
| Database |  | Data storage |
|
|
241
251
|
|
|
242
252
|
### Relationship Arrows
|
|
243
253
|
|
|
@@ -282,27 +292,30 @@ Examples:
|
|
|
282
292
|
[Mermaid diagram]
|
|
283
293
|
|
|
284
294
|
### Systems and Users
|
|
295
|
+
|
|
285
296
|
| Element | Type | Description |
|
|
286
|
-
|
|
287
|
-
|
|
|
297
|
+
| ------- | ---- | ----------- |
|
|
298
|
+
| | | |
|
|
288
299
|
|
|
289
300
|
## Level 2: Container Diagram
|
|
290
301
|
|
|
291
302
|
[Mermaid diagram]
|
|
292
303
|
|
|
293
304
|
### Containers
|
|
305
|
+
|
|
294
306
|
| Container | Technology | Purpose |
|
|
295
|
-
|
|
296
|
-
|
|
|
307
|
+
| --------- | ---------- | ------- |
|
|
308
|
+
| | | |
|
|
297
309
|
|
|
298
310
|
## Level 3: Component Diagram - [Container]
|
|
299
311
|
|
|
300
312
|
[Mermaid diagram]
|
|
301
313
|
|
|
302
314
|
### Components
|
|
315
|
+
|
|
303
316
|
| Component | Type | Responsibility |
|
|
304
|
-
|
|
305
|
-
|
|
|
317
|
+
| --------- | ---- | -------------- |
|
|
318
|
+
| | | |
|
|
306
319
|
|
|
307
320
|
## Technology Decisions
|
|
308
321
|
|
|
@@ -310,8 +323,8 @@ See ADR-XXX for rationale.
|
|
|
310
323
|
|
|
311
324
|
## Requirements Traceability
|
|
312
325
|
|
|
313
|
-
| REQ ID
|
|
314
|
-
|
|
326
|
+
| REQ ID | Addressed By |
|
|
327
|
+
| ------- | ------------ |
|
|
315
328
|
| REQ-001 | Auth Service |
|
|
316
329
|
```
|
|
317
330
|
|
|
@@ -319,10 +332,10 @@ See ADR-XXX for rationale.
|
|
|
319
332
|
|
|
320
333
|
## Tools for C4 Diagrams
|
|
321
334
|
|
|
322
|
-
| Tool
|
|
323
|
-
|
|
324
|
-
| Mermaid
|
|
325
|
-
| PlantUML
|
|
326
|
-
| Structurizr | DSL
|
|
327
|
-
| Draw.io
|
|
328
|
-
| Lucidchart
|
|
335
|
+
| Tool | Format | Notes |
|
|
336
|
+
| ----------- | -------- | ----------------------------- |
|
|
337
|
+
| Mermaid | Markdown | Recommended - works in GitHub |
|
|
338
|
+
| PlantUML | Text | Rich features |
|
|
339
|
+
| Structurizr | DSL | Official C4 tooling |
|
|
340
|
+
| Draw.io | Visual | Easy for non-technical |
|
|
341
|
+
| Lucidchart | Visual | Collaboration features |
|
|
@@ -25,10 +25,13 @@ Brief description of what this project does.
|
|
|
25
25
|
## Quick Start
|
|
26
26
|
|
|
27
27
|
\`\`\`bash
|
|
28
|
+
|
|
28
29
|
# Install
|
|
30
|
+
|
|
29
31
|
npm install project-name
|
|
30
32
|
|
|
31
33
|
# Run
|
|
34
|
+
|
|
32
35
|
npx project-name
|
|
33
36
|
\`\`\`
|
|
34
37
|
|
|
@@ -72,10 +75,10 @@ See [Advanced Guide](docs/advanced.md) for more options.
|
|
|
72
75
|
|
|
73
76
|
## Configuration
|
|
74
77
|
|
|
75
|
-
| Option
|
|
76
|
-
|
|
77
|
-
| `port`
|
|
78
|
-
| `debug` | boolean | false
|
|
78
|
+
| Option | Type | Default | Description |
|
|
79
|
+
| ------- | ------- | ------- | ----------------- |
|
|
80
|
+
| `port` | number | 3000 | Server port |
|
|
81
|
+
| `debug` | boolean | false | Enable debug mode |
|
|
79
82
|
|
|
80
83
|
## API Reference
|
|
81
84
|
|
|
@@ -117,26 +120,26 @@ GET /api/v1/users
|
|
|
117
120
|
|
|
118
121
|
**Query Parameters**
|
|
119
122
|
|
|
120
|
-
| Parameter | Type
|
|
121
|
-
|
|
122
|
-
| page
|
|
123
|
-
| limit
|
|
123
|
+
| Parameter | Type | Required | Description |
|
|
124
|
+
| --------- | ------- | -------- | ---------------------------- |
|
|
125
|
+
| page | integer | No | Page number (default: 1) |
|
|
126
|
+
| limit | integer | No | Items per page (default: 20) |
|
|
124
127
|
|
|
125
128
|
**Response**
|
|
126
129
|
|
|
127
130
|
\`\`\`json
|
|
128
131
|
{
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
"data": [
|
|
133
|
+
{
|
|
134
|
+
"id": "123",
|
|
135
|
+
"name": "John Doe",
|
|
136
|
+
"email": "john@example.com"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"meta": {
|
|
140
|
+
"total": 100,
|
|
141
|
+
"page": 1
|
|
142
|
+
}
|
|
140
143
|
}
|
|
141
144
|
\`\`\`
|
|
142
145
|
|
|
@@ -148,19 +151,19 @@ GET /api/v1/users/:id
|
|
|
148
151
|
|
|
149
152
|
**Path Parameters**
|
|
150
153
|
|
|
151
|
-
| Parameter | Type
|
|
152
|
-
|
|
153
|
-
| id
|
|
154
|
+
| Parameter | Type | Description |
|
|
155
|
+
| --------- | ------ | ----------- |
|
|
156
|
+
| id | string | User ID |
|
|
154
157
|
|
|
155
158
|
**Response**
|
|
156
159
|
|
|
157
160
|
\`\`\`json
|
|
158
161
|
{
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
"data": {
|
|
163
|
+
"id": "123",
|
|
164
|
+
"name": "John Doe",
|
|
165
|
+
"email": "john@example.com"
|
|
166
|
+
}
|
|
164
167
|
}
|
|
165
168
|
\`\`\`
|
|
166
169
|
|
|
@@ -174,9 +177,9 @@ POST /api/v1/users
|
|
|
174
177
|
|
|
175
178
|
\`\`\`json
|
|
176
179
|
{
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
+
"name": "John Doe",
|
|
181
|
+
"email": "john@example.com",
|
|
182
|
+
"password": "secret123"
|
|
180
183
|
}
|
|
181
184
|
\`\`\`
|
|
182
185
|
|
|
@@ -184,38 +187,38 @@ POST /api/v1/users
|
|
|
184
187
|
|
|
185
188
|
\`\`\`json
|
|
186
189
|
{
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
"data": {
|
|
191
|
+
"id": "123",
|
|
192
|
+
"name": "John Doe",
|
|
193
|
+
"email": "john@example.com"
|
|
194
|
+
}
|
|
192
195
|
}
|
|
193
196
|
\`\`\`
|
|
194
197
|
|
|
195
198
|
## Error Responses
|
|
196
199
|
|
|
197
|
-
| Status | Code
|
|
198
|
-
|
|
199
|
-
| 400
|
|
200
|
-
| 401
|
|
201
|
-
| 403
|
|
202
|
-
| 404
|
|
203
|
-
| 500
|
|
200
|
+
| Status | Code | Description |
|
|
201
|
+
| ------ | ---------------- | ------------------------ |
|
|
202
|
+
| 400 | VALIDATION_ERROR | Invalid request data |
|
|
203
|
+
| 401 | UNAUTHORIZED | Authentication required |
|
|
204
|
+
| 403 | FORBIDDEN | Insufficient permissions |
|
|
205
|
+
| 404 | NOT_FOUND | Resource not found |
|
|
206
|
+
| 500 | INTERNAL_ERROR | Server error |
|
|
204
207
|
|
|
205
208
|
**Error Format**
|
|
206
209
|
|
|
207
210
|
\`\`\`json
|
|
208
211
|
{
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
212
|
+
"error": {
|
|
213
|
+
"code": "VALIDATION_ERROR",
|
|
214
|
+
"message": "Invalid request data",
|
|
215
|
+
"details": [
|
|
216
|
+
{
|
|
217
|
+
"field": "email",
|
|
218
|
+
"message": "Invalid email format"
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
}
|
|
219
222
|
}
|
|
220
223
|
\`\`\`
|
|
221
224
|
```
|
|
@@ -270,17 +273,22 @@ Please read our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
|
270
273
|
## Development Setup
|
|
271
274
|
|
|
272
275
|
\`\`\`bash
|
|
276
|
+
|
|
273
277
|
# Clone
|
|
278
|
+
|
|
274
279
|
git clone https://github.com/org/project.git
|
|
275
280
|
cd project
|
|
276
281
|
|
|
277
282
|
# Install
|
|
283
|
+
|
|
278
284
|
npm install
|
|
279
285
|
|
|
280
286
|
# Run tests
|
|
287
|
+
|
|
281
288
|
npm test
|
|
282
289
|
|
|
283
290
|
# Run dev server
|
|
291
|
+
|
|
284
292
|
npm run dev
|
|
285
293
|
\`\`\`
|
|
286
294
|
|
|
@@ -322,23 +330,28 @@ YYYY-MM-DD
|
|
|
322
330
|
## Consequences
|
|
323
331
|
|
|
324
332
|
### Positive
|
|
333
|
+
|
|
325
334
|
- [Benefit 1]
|
|
326
335
|
- [Benefit 2]
|
|
327
336
|
|
|
328
337
|
### Negative
|
|
338
|
+
|
|
329
339
|
- [Downside 1]
|
|
330
340
|
- [Downside 2]
|
|
331
341
|
|
|
332
342
|
### Neutral
|
|
343
|
+
|
|
333
344
|
- [Trade-off 1]
|
|
334
345
|
|
|
335
346
|
## Alternatives Considered
|
|
336
347
|
|
|
337
348
|
### Option A
|
|
349
|
+
|
|
338
350
|
- Pros: [...]
|
|
339
351
|
- Cons: [...]
|
|
340
352
|
|
|
341
353
|
### Option B
|
|
354
|
+
|
|
342
355
|
- Pros: [...]
|
|
343
356
|
- Cons: [...]
|
|
344
357
|
|
|
@@ -398,9 +411,11 @@ If something goes wrong:
|
|
|
398
411
|
## Troubleshooting
|
|
399
412
|
|
|
400
413
|
### Issue: [Description]
|
|
414
|
+
|
|
401
415
|
**Solution**: [How to fix]
|
|
402
416
|
|
|
403
417
|
### Issue: [Description]
|
|
418
|
+
|
|
404
419
|
**Solution**: [How to fix]
|
|
405
420
|
|
|
406
421
|
## Contacts
|
|
@@ -414,6 +429,7 @@ If something goes wrong:
|
|
|
414
429
|
## Documentation Checklist
|
|
415
430
|
|
|
416
431
|
### README
|
|
432
|
+
|
|
417
433
|
- [ ] Project description
|
|
418
434
|
- [ ] Quick start guide
|
|
419
435
|
- [ ] Installation steps
|
|
@@ -423,6 +439,7 @@ If something goes wrong:
|
|
|
423
439
|
- [ ] License
|
|
424
440
|
|
|
425
441
|
### API Docs
|
|
442
|
+
|
|
426
443
|
- [ ] Authentication explained
|
|
427
444
|
- [ ] All endpoints documented
|
|
428
445
|
- [ ] Request/response examples
|
|
@@ -430,6 +447,7 @@ If something goes wrong:
|
|
|
430
447
|
- [ ] Rate limits mentioned
|
|
431
448
|
|
|
432
449
|
### Code Docs
|
|
450
|
+
|
|
433
451
|
- [ ] Functions documented
|
|
434
452
|
- [ ] Parameters described
|
|
435
453
|
- [ ] Return values explained
|
|
@@ -166,11 +166,13 @@ musubi-workflow next deployment
|
|
|
166
166
|
### テスト結果に応じたアクション
|
|
167
167
|
|
|
168
168
|
**テスト成功の場合**:
|
|
169
|
+
|
|
169
170
|
```bash
|
|
170
171
|
musubi-workflow next deployment
|
|
171
172
|
```
|
|
172
173
|
|
|
173
174
|
**テスト失敗の場合(フィードバックループ)**:
|
|
175
|
+
|
|
174
176
|
```bash
|
|
175
177
|
# 実装に問題がある場合
|
|
176
178
|
musubi-workflow feedback testing implementation -r "テスト失敗: バグを発見"
|