musubix2 0.3.8 → 0.4.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 (144) hide show
  1. package/.claude/.musubix-managed +1 -0
  2. package/.claude/skills/code-generator/SKILL.md +145 -0
  3. package/.claude/skills/code-generator/scripts/explain.sh +4 -0
  4. package/.claude/skills/code-generator/scripts/generate.sh +4 -0
  5. package/.claude/skills/code-generator/scripts/scaffold.sh +4 -0
  6. package/.claude/skills/code-generator/scripts/synthesis.sh +4 -0
  7. package/.claude/skills/constitution-enforcer/SKILL.md +133 -0
  8. package/.claude/skills/constitution-enforcer/scripts/check.sh +4 -0
  9. package/.claude/skills/constitution-enforcer/scripts/validate.sh +4 -0
  10. package/.claude/skills/design-generator/SKILL.md +136 -0
  11. package/.claude/skills/design-generator/scripts/c4.sh +4 -0
  12. package/.claude/skills/design-generator/scripts/decision.sh +4 -0
  13. package/.claude/skills/design-generator/scripts/generate.sh +4 -0
  14. package/.claude/skills/design-generator/scripts/verify.sh +4 -0
  15. package/.claude/skills/orchestrator/SKILL.md +565 -0
  16. package/.claude/skills/orchestrator/scripts/knowledge.sh +4 -0
  17. package/.claude/skills/orchestrator/scripts/learn.sh +4 -0
  18. package/.claude/skills/orchestrator/scripts/repl.sh +4 -0
  19. package/.claude/skills/orchestrator/scripts/research.sh +4 -0
  20. package/.claude/skills/orchestrator/scripts/security.sh +4 -0
  21. package/.claude/skills/orchestrator/scripts/skills.sh +4 -0
  22. package/.claude/skills/orchestrator/scripts/status.sh +4 -0
  23. package/.claude/skills/orchestrator/scripts/watch.sh +4 -0
  24. package/.claude/skills/orchestrator/scripts/workflow.sh +4 -0
  25. package/.claude/skills/requirements-analyst/SKILL.md +158 -0
  26. package/.claude/skills/requirements-analyst/scripts/analyze.sh +5 -0
  27. package/.claude/skills/requirements-analyst/scripts/interview-answer.sh +4 -0
  28. package/.claude/skills/requirements-analyst/scripts/interview-generate.sh +4 -0
  29. package/.claude/skills/requirements-analyst/scripts/interview.sh +9 -0
  30. package/.claude/skills/requirements-analyst/scripts/validate.sh +5 -0
  31. package/.claude/skills/requirements-analyst/scripts/wizard.sh +4 -0
  32. package/.claude/skills/review-orchestrator/SKILL.md +162 -0
  33. package/.claude/skills/review-orchestrator/review-orchestrator.prompt.md +45 -0
  34. package/.claude/skills/review-orchestrator/scripts/review.sh +13 -0
  35. package/.claude/skills/test-engineer/SKILL.md +139 -0
  36. package/.claude/skills/test-engineer/scripts/generate.sh +4 -0
  37. package/.claude/skills/traceability-auditor/SKILL.md +114 -0
  38. package/.claude/skills/traceability-auditor/scripts/matrix.sh +4 -0
  39. package/.claude/skills/traceability-auditor/scripts/verify-detailed.sh +4 -0
  40. package/.claude/skills/traceability-auditor/scripts/verify.sh +4 -0
  41. package/dist/application/install/claude-setup-transaction.d.ts +28 -0
  42. package/dist/application/install/claude-setup-transaction.d.ts.map +1 -0
  43. package/dist/application/install/claude-setup-transaction.js +113 -0
  44. package/dist/application/install/claude-setup-transaction.js.map +1 -0
  45. package/dist/application/install/claude-skill-index-builder.d.ts +8 -0
  46. package/dist/application/install/claude-skill-index-builder.d.ts.map +1 -0
  47. package/dist/application/install/claude-skill-index-builder.js +18 -0
  48. package/dist/application/install/claude-skill-index-builder.js.map +1 -0
  49. package/dist/application/install/copilot-setup-service.d.ts +20 -0
  50. package/dist/application/install/copilot-setup-service.d.ts.map +1 -0
  51. package/dist/application/install/copilot-setup-service.js +56 -0
  52. package/dist/application/install/copilot-setup-service.js.map +1 -0
  53. package/dist/application/install/index.d.ts +10 -0
  54. package/dist/application/install/index.d.ts.map +1 -0
  55. package/dist/application/install/index.js +10 -0
  56. package/dist/application/install/index.js.map +1 -0
  57. package/dist/application/install/install-planner.d.ts +8 -0
  58. package/dist/application/install/install-planner.d.ts.map +1 -0
  59. package/dist/application/install/install-planner.js +24 -0
  60. package/dist/application/install/install-planner.js.map +1 -0
  61. package/dist/application/install/mcp-config-generator.d.ts +12 -0
  62. package/dist/application/install/mcp-config-generator.d.ts.map +1 -0
  63. package/dist/application/install/mcp-config-generator.js +36 -0
  64. package/dist/application/install/mcp-config-generator.js.map +1 -0
  65. package/dist/application/install/mcp-launch-resolver.d.ts +5 -0
  66. package/dist/application/install/mcp-launch-resolver.d.ts.map +1 -0
  67. package/dist/application/install/mcp-launch-resolver.js +23 -0
  68. package/dist/application/install/mcp-launch-resolver.js.map +1 -0
  69. package/dist/application/install/platform-detector.d.ts +7 -0
  70. package/dist/application/install/platform-detector.d.ts.map +1 -0
  71. package/dist/application/install/platform-detector.js +60 -0
  72. package/dist/application/install/platform-detector.js.map +1 -0
  73. package/dist/application/install/update-service.d.ts +9 -0
  74. package/dist/application/install/update-service.d.ts.map +1 -0
  75. package/dist/application/install/update-service.js +28 -0
  76. package/dist/application/install/update-service.js.map +1 -0
  77. package/dist/application/install/workspace-merge-service.d.ts +9 -0
  78. package/dist/application/install/workspace-merge-service.d.ts.map +1 -0
  79. package/dist/application/install/workspace-merge-service.js +100 -0
  80. package/dist/application/install/workspace-merge-service.js.map +1 -0
  81. package/dist/cli.d.ts.map +1 -1
  82. package/dist/cli.js +8164 -3142
  83. package/dist/cli.js.map +1 -1
  84. package/dist/domain/install/index.d.ts +2 -0
  85. package/dist/domain/install/index.d.ts.map +1 -0
  86. package/dist/domain/install/index.js +2 -0
  87. package/dist/domain/install/index.js.map +1 -0
  88. package/dist/domain/install/types.d.ts +140 -0
  89. package/dist/domain/install/types.d.ts.map +1 -0
  90. package/dist/domain/install/types.js +6 -0
  91. package/dist/domain/install/types.js.map +1 -0
  92. package/dist/infrastructure/assets/package-asset-catalog.d.ts +10 -0
  93. package/dist/infrastructure/assets/package-asset-catalog.d.ts.map +1 -0
  94. package/dist/infrastructure/assets/package-asset-catalog.js +28 -0
  95. package/dist/infrastructure/assets/package-asset-catalog.js.map +1 -0
  96. package/dist/infrastructure/assets/package-root-locator.d.ts +4 -0
  97. package/dist/infrastructure/assets/package-root-locator.d.ts.map +1 -0
  98. package/dist/infrastructure/assets/package-root-locator.js +22 -0
  99. package/dist/infrastructure/assets/package-root-locator.js.map +1 -0
  100. package/dist/infrastructure/templates/template-renderer.d.ts +11 -0
  101. package/dist/infrastructure/templates/template-renderer.d.ts.map +1 -0
  102. package/dist/infrastructure/templates/template-renderer.js +41 -0
  103. package/dist/infrastructure/templates/template-renderer.js.map +1 -0
  104. package/dist/infrastructure/workspace/workspace-root-resolver.d.ts +8 -0
  105. package/dist/infrastructure/workspace/workspace-root-resolver.d.ts.map +1 -0
  106. package/dist/infrastructure/workspace/workspace-root-resolver.js +10 -0
  107. package/dist/infrastructure/workspace/workspace-root-resolver.js.map +1 -0
  108. package/dist/infrastructure/workspace/workspace-writer.d.ts +5 -0
  109. package/dist/infrastructure/workspace/workspace-writer.d.ts.map +1 -0
  110. package/dist/infrastructure/workspace/workspace-writer.js +92 -0
  111. package/dist/infrastructure/workspace/workspace-writer.js.map +1 -0
  112. package/dist/interface/cli/confirmation-resolver.d.ts +6 -0
  113. package/dist/interface/cli/confirmation-resolver.d.ts.map +1 -0
  114. package/dist/interface/cli/confirmation-resolver.js +42 -0
  115. package/dist/interface/cli/confirmation-resolver.js.map +1 -0
  116. package/dist/interface/cli/dry-run-reporter.d.ts +8 -0
  117. package/dist/interface/cli/dry-run-reporter.d.ts.map +1 -0
  118. package/dist/interface/cli/dry-run-reporter.js +44 -0
  119. package/dist/interface/cli/dry-run-reporter.js.map +1 -0
  120. package/dist/interface/cli/init-command-handler.d.ts +29 -0
  121. package/dist/interface/cli/init-command-handler.d.ts.map +1 -0
  122. package/dist/interface/cli/init-command-handler.js +166 -0
  123. package/dist/interface/cli/init-command-handler.js.map +1 -0
  124. package/dist/interface/cli/init-mode-resolver.d.ts +10 -0
  125. package/dist/interface/cli/init-mode-resolver.d.ts.map +1 -0
  126. package/dist/interface/cli/init-mode-resolver.js +11 -0
  127. package/dist/interface/cli/init-mode-resolver.js.map +1 -0
  128. package/dist/interface/cli/mcp-cli-launcher.d.ts +8 -0
  129. package/dist/interface/cli/mcp-cli-launcher.d.ts.map +1 -0
  130. package/dist/interface/cli/mcp-cli-launcher.js +20 -0
  131. package/dist/interface/cli/mcp-cli-launcher.js.map +1 -0
  132. package/dist/interface/cli/postinstall-bootstrap.d.ts +9 -0
  133. package/dist/interface/cli/postinstall-bootstrap.d.ts.map +1 -0
  134. package/dist/interface/cli/postinstall-bootstrap.js +51 -0
  135. package/dist/interface/cli/postinstall-bootstrap.js.map +1 -0
  136. package/dist/interface/cli/sse-transport-bridge.d.ts +13 -0
  137. package/dist/interface/cli/sse-transport-bridge.d.ts.map +1 -0
  138. package/dist/interface/cli/sse-transport-bridge.js +15 -0
  139. package/dist/interface/cli/sse-transport-bridge.js.map +1 -0
  140. package/dist/templates/claude-md.md +44 -0
  141. package/dist/templates/copilot-instructions.md +44 -0
  142. package/dist/templates/mcp/claude.json +8 -0
  143. package/dist/templates/mcp/copilot.json +9 -0
  144. package/package.json +6 -4
@@ -0,0 +1 @@
1
+ {"generator":"musubix2","version":"0.4.0","timestamp":"2026-04-05T11:52:48.592Z"}
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: code-generator
3
+ description: >
4
+ 設計仕様からテンプレートベースのコード生成、ドメインスキャフォールド、
5
+ 静的解析、ステータス遷移分析を実行する。4層アーキテクチャ準拠。
6
+ Use when generating code from design specs, scaffolding domain packages,
7
+ running static analysis, or starting SDD Phase 4 implementation.
8
+ license: MIT
9
+ version: "1.0.0"
10
+ triggers:
11
+ - コード生成
12
+ - スキャフォールド
13
+ - 静的解析
14
+ - Phase 4 開始
15
+ - codegen
16
+ ---
17
+
18
+ # Code Generator
19
+
20
+ 設計仕様から 4層アーキテクチャ準拠のコードを生成するスキル。
21
+ SDD ワークフロー Phase 4(Implementation)の中核。
22
+
23
+ ## 前提条件
24
+
25
+ - Phase 3(Tasks)が承認済みであること
26
+ - `steering/` を参照済みであること
27
+ - 設計文書(`storage/specs/DES-*.md`)が存在すること
28
+
29
+ ## ワークフロー
30
+
31
+ ### 1. コード生成
32
+
33
+ ```
34
+ WHEN ユーザーがコード生成を要求する:
35
+ 1. DES 仕様から TypeScript インターフェースを抽出
36
+ 2. CodeGenerator.generate() でテンプレートベース生成
37
+ 3. 4層構成で出力:
38
+ - domain/ → インターフェース、エンティティ、値オブジェクト
39
+ - application/ → ユースケース、サービス
40
+ - infrastructure/ → アダプター、ファイル I/O
41
+ - interface/cli/ → Commander.js コマンド
42
+ 4. EARS 要件 ID をコメントとしてリンク
43
+ ```
44
+
45
+ **CLI**: `npx musubix codegen <name> [--type class|interface|function|...]`
46
+
47
+ ### 2. ドメインスキャフォールド
48
+
49
+ ```
50
+ WHEN ユーザーが新規パッケージのスキャフォールドを要求する:
51
+ 1. ScaffoldGenerator で3モードから選択:
52
+ - minimal: domain/ + tests/ のみ
53
+ - standard: 4層 + package.json + tsconfig.json
54
+ - full: standard + CLI + README + CHANGELOG
55
+ 2. ディレクトリ構造を生成
56
+ 3. package.json に workspace 参照を追加
57
+ ```
58
+
59
+ **CLI**: `npx musubix scaffold <project|package|skill> <name>`
60
+
61
+ ### 3. 静的解析
62
+
63
+ ```
64
+ WHEN ユーザーが静的解析を要求する:
65
+ 1. StaticAnalyzer で複雑度・結合度を計測
66
+ 2. QualityMetricsCalculator でメトリクスを算出
67
+ 3. codegraph の ASTParser と連携
68
+ ```
69
+
70
+ **CLI**: `npx musubix learn analyze <path>`
71
+
72
+ ### 4. ステータス遷移分析
73
+
74
+ ```
75
+ WHEN ユーザーがステータス遷移の分析を要求する:
76
+ 1. StatusTransitionGenerator でドメインモデルの状態遷移を抽出
77
+ 2. 状態遷移図(Mermaid stateDiagram)を生成
78
+ 3. 不正遷移の検出
79
+ ```
80
+
81
+ **CLI**: `npx musubix workflow status <entity>`
82
+
83
+ ## パッケージ構成テンプレート
84
+
85
+ ```
86
+ packages/<name>/
87
+ ├── src/
88
+ │ ├── domain/
89
+ │ │ ├── entities/
90
+ │ │ ├── value-objects/
91
+ │ │ └── interfaces/
92
+ │ ├── application/
93
+ │ │ └── services/
94
+ │ ├── infrastructure/
95
+ │ │ └── adapters/
96
+ │ └── interface/
97
+ │ └── cli/
98
+ │ └── commands.ts # registerXCommand(program)
99
+ ├── tests/
100
+ │ ├── domain/
101
+ │ ├── application/
102
+ │ └── integration/
103
+ ├── package.json
104
+ ├── tsconfig.json
105
+ └── README.md
106
+ ```
107
+
108
+ ## CLI コマンド登録パターン
109
+
110
+ ```typescript
111
+ import { Command } from 'commander';
112
+
113
+ export function registerXCommand(program: Command): void {
114
+ const cmd = program.command('x');
115
+ cmd.command('subcommand')
116
+ .description('...')
117
+ .option('--flag <value>', '...')
118
+ .action(async (options) => {
119
+ // implementation
120
+ });
121
+ }
122
+ ```
123
+
124
+ ## 品質ゲート
125
+
126
+ - [ ] 生成コードが `tsc --noEmit` でエラーなし
127
+ - [ ] 4層アーキテクチャに準拠(domain が infrastructure に依存しない)
128
+ - [ ] CLI コマンドが `registerXCommand` パターンに従う
129
+ - [ ] EARS 要件 ID がコード内コメントにリンク
130
+ - [ ] package.json の依存が workspace プロトコルを使用
131
+
132
+ ## Gotchas
133
+
134
+ 1. **ESM 必須**: `type: "module"` を package.json に設定。`import` 文に `.js` 拡張子を付けること(TypeScript でもビルド後のパスを指定)。
135
+ 2. **依存性逆転の徹底**: `domain/` 内で `infrastructure/` の具象クラスを import してはならない。必ずインターフェースを経由。
136
+ 3. **ActionableError の使用**: 標準 Error ではなく `ActionableError` を使用し、ユーザーへの修正提案を含める。
137
+
138
+ ## スクリプト
139
+
140
+ | スクリプト | 説明 | 使い方 |
141
+ |-----------|------|--------|
142
+ | `scripts/generate.sh` | 設計からコード生成 | `./scripts/generate.sh [args]` |
143
+ | `scripts/scaffold.sh` | プロジェクト構造スキャフォールド | `./scripts/scaffold.sh [args]` |
144
+ | `scripts/explain.sh` | コード説明 | `./scripts/explain.sh [args]` |
145
+ | `scripts/synthesis.sh` | プログラム合成 | `./scripts/synthesis.sh [args]` |
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Explain code
3
+ set -e
4
+ npx musubix explain "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Generate code from design
3
+ set -e
4
+ npx musubix codegen "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Scaffold project structure
3
+ set -e
4
+ npx musubix scaffold "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Program synthesis
3
+ set -e
4
+ npx musubix synthesis "$@"
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: constitution-enforcer
3
+ description: >
4
+ MUSUBIX2 の9条憲法(CONST-001〜009)への準拠を検証する。
5
+ PolicyEngine による自動チェック、BalanceRuleEngine による 90/10 ルール適用、
6
+ 品質ゲートチェックを提供。
7
+ Use when validating constitution compliance, checking policy violations,
8
+ running governance audits, or blocking non-compliant changes.
9
+ license: MIT
10
+ version: "1.0.0"
11
+ triggers:
12
+ - 憲法チェック
13
+ - ポリシー検証
14
+ - constitution
15
+ - ガバナンス
16
+ - 品質ゲート
17
+ - policy
18
+ ---
19
+
20
+ # Constitution Enforcer
21
+
22
+ MUSUBIX2 の9条憲法(CONST-001〜009)への準拠を検証するスキル。
23
+ 全 Article の不可侵性を保証し、違反を即時ブロックする。
24
+
25
+ ## 前提条件
26
+
27
+ - `steering/rules/constitution.md` が存在すること
28
+ - `steering/project.yml` が存在すること
29
+
30
+ ## 9条憲法
31
+
32
+ | 条項 | ポリシーID | 原則 | 検証内容 |
33
+ |------|-----------|------|----------|
34
+ | Article I | CONST-001 | ライブラリファースト | パッケージが独立して利用可能か |
35
+ | Article II | CONST-002 | CLI インターフェース | 全機能に CLI が提供されているか |
36
+ | Article III | CONST-003 | テストファースト | テストが先に書かれているか |
37
+ | Article IV | CONST-004 | EARS 形式 | 全要件が EARS 構文に準拠しているか |
38
+ | Article V | CONST-005 | トレーサビリティ | REQ↔DES↔Code↔Test の 100% 追跡 |
39
+ | Article VI | CONST-006 | プロジェクトメモリ | steering/ が参照されているか |
40
+ | Article VII | CONST-007 | デザインパターン文書化 | パターン使用時に文書化されているか |
41
+ | Article VIII | CONST-008 | ADR 記録 | 重要な設計決定に ADR があるか |
42
+ | Article IX | CONST-009 | 品質ゲート | Phase 遷移時にゲートを通過しているか |
43
+
44
+ ## ワークフロー
45
+
46
+ ### 1. 全条項チェック
47
+
48
+ ```
49
+ WHEN ユーザーがポリシー検証を要求する:
50
+ 1. PolicyEngine で全9条を順次検証
51
+ 2. 各条項の PASS/FAIL と詳細理由を出力
52
+ 3. 違反がある場合、修正提案を生成
53
+ ```
54
+
55
+ **CLI**: `npx musubix policy validate`
56
+
57
+ ### 2. 個別条項チェック
58
+
59
+ ```
60
+ WHEN ユーザーが特定条項の検証を要求する:
61
+ 1. PolicyEngine で指定条項のみ検証
62
+ 2. 詳細レポートを出力
63
+ ```
64
+
65
+ **CLI**: `npx musubix policy info <article-number>`
66
+
67
+ ### 3. ポリシー一覧・詳細
68
+
69
+ ```
70
+ WHEN ユーザーがポリシー情報を要求する:
71
+ 1. 全9条の一覧を表示
72
+ 2. 指定条項の詳細(原則、検証方法、違反例)を表示
73
+ ```
74
+
75
+ **CLI**: `npx musubix policy list`
76
+ **CLI**: `npx musubix policy info <article-number>`
77
+
78
+ ### 4. バランスルール(90/10)
79
+
80
+ ```
81
+ WHEN BalanceRuleEngine がアクティブな場合:
82
+ 1. コードの 90% はルールに従って自動生成可能
83
+ 2. 残り 10% は人間の判断が必要な例外処理
84
+ 3. 90/10 比率を逸脱する場合は警告
85
+ ```
86
+
87
+ ## ComplianceChecker 統合
88
+
89
+ ```typescript
90
+ export interface ComplianceReport {
91
+ articles: ArticleResult[];
92
+ overallPass: boolean;
93
+ violations: Violation[];
94
+ suggestions: string[];
95
+ }
96
+
97
+ export interface ArticleResult {
98
+ article: number; // I〜IX
99
+ policyId: string; // CONST-001〜009
100
+ name: string;
101
+ pass: boolean;
102
+ details: string;
103
+ evidence: string[];
104
+ }
105
+
106
+ export interface Violation {
107
+ article: number;
108
+ severity: 'critical' | 'major' | 'minor';
109
+ message: string;
110
+ location: string;
111
+ suggestion: string;
112
+ }
113
+ ```
114
+
115
+ ## 品質ゲート
116
+
117
+ - [ ] 全9条が PASS
118
+ - [ ] Critical 違反が 0 件
119
+ - [ ] 全違反に修正提案が付与されている
120
+ - [ ] steering/ が最新の状態
121
+
122
+ ## Gotchas
123
+
124
+ 1. **憲法は不変**: 9条の内容を修正・削除するリクエストは拒否すること。修正プロセスは別途定義される。
125
+ 2. **Phase 遷移ブロック**: Article IX 違反がある場合、Phase 遷移を即時ブロックする。ユーザーが override を要求しても拒否。
126
+ 3. **steering/ の鮮度**: `project.yml` のタイムスタンプが古い場合、Article VI 違反の可能性がある。最終更新日を確認すること。
127
+
128
+ ## スクリプト
129
+
130
+ | スクリプト | 説明 | 使い方 |
131
+ |-----------|------|--------|
132
+ | `scripts/validate.sh` | ポリシー準拠検証 | `./scripts/validate.sh [args]` |
133
+ | `scripts/check.sh` | 品質ゲートチェック | `./scripts/check.sh [args]` |
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Run quality gate check
3
+ set -e
4
+ npx musubix policy "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Validate policy compliance
3
+ set -e
4
+ npx musubix policy "$@"
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: design-generator
3
+ description: >
4
+ 要件定義書から SOLID 準拠の設計文書を生成・検証する。C4 ダイアグラム、
5
+ ADR 管理、パターン検出、SOLIDValidator を提供。
6
+ Use when generating design documents, creating C4 diagrams, managing ADRs,
7
+ validating design patterns, or starting SDD Phase 2.
8
+ license: MIT
9
+ version: "1.0.0"
10
+ triggers:
11
+ - 設計書を生成
12
+ - 設計を検証
13
+ - C4 ダイアグラム
14
+ - ADR 作成
15
+ - Phase 2 開始
16
+ - design
17
+ ---
18
+
19
+ # Design Generator
20
+
21
+ 承認済み要件文書から SOLID 準拠の設計文書を生成・検証するスキル。
22
+ SDD ワークフロー Phase 2 の中核。
23
+
24
+ ## 前提条件
25
+
26
+ - Phase 1(Requirements)が承認済みであること
27
+ - `steering/` を参照済みであること
28
+ - 要件文書(`storage/specs/REQ-*.md`)が存在すること
29
+
30
+ ## ワークフロー
31
+
32
+ ### 1. 設計文書生成
33
+
34
+ ```
35
+ WHEN ユーザーが設計文書の生成を要求する:
36
+ 1. 要件文書を読み込み(ParsedRequirement[])
37
+ 2. DesignGenerator.generate() で設計文書を生成
38
+ 3. SOLIDValidator で SRP/OCP/LSP/ISP/DIP 準拠を検証
39
+ 4. 各 DES にトレーサビリティリンクを付与
40
+ 5. ユーザーレビュー ⏸️
41
+ ```
42
+
43
+ **CLI**: `npx musubix design <req-file>`
44
+
45
+ ### 2. C4 ダイアグラム生成
46
+
47
+ ```
48
+ WHEN ユーザーが C4 ダイアグラムの生成を要求する:
49
+ 1. C4Element と C4Relationship を抽出
50
+ 2. Context / Container / Component レベルの Mermaid 図を生成
51
+ 3. 設計文書に埋め込み
52
+ ```
53
+
54
+ **CLI**: `npx musubix design:c4 <file> [--level context|container|component]`
55
+
56
+ ### 3. ADR 管理
57
+
58
+ ```
59
+ WHEN ユーザーが ADR の作成・管理を要求する:
60
+ 1. DecisionManager.create() で新規 ADR 作成
61
+ 2. ステータスライフサイクル: proposed → accepted → deprecated → superseded
62
+ 3. DecisionManager.search() で全文検索
63
+ 4. DecisionManager.index() でインデクシング
64
+ ```
65
+
66
+ **CLI**: `npx musubix decision <create|list|get|accept|deprecate|search|index>`
67
+
68
+ ### 4. 設計検証
69
+
70
+ ```
71
+ WHEN ユーザーが設計文書の検証を要求する:
72
+ 1. PatternDetector でデザインパターンを検出
73
+ 2. SOLID 原則への準拠を検証
74
+ 3. 要件との対応漏れを検出
75
+ ```
76
+
77
+ **CLI**: `npx musubix design:verify <design-file>`
78
+
79
+ ## 設計文書フォーマット
80
+
81
+ 各 DES 仕様は以下の構成:
82
+
83
+ ```markdown
84
+ ### DES-XXX-NNN: タイトル
85
+
86
+ **トレーサビリティ**: REQ-XXX-NNN
87
+ **パッケージ**: `package-name`
88
+
89
+ **設計概要**:
90
+ (自然言語の説明)
91
+
92
+ (TypeScript インターフェース / Mermaid 図)
93
+
94
+ **CLI契約**: `npx musubix ...`
95
+ ```
96
+
97
+ ## ADR フォーマット
98
+
99
+ ```markdown
100
+ # ADR-NNN: タイトル
101
+
102
+ **ステータス**: proposed | accepted | deprecated | superseded
103
+ **日付**: YYYY-MM-DD
104
+
105
+ ## Context
106
+ (決定の背景)
107
+
108
+ ## Decision
109
+ (決定内容)
110
+
111
+ ## Consequences
112
+ (影響と結果)
113
+ ```
114
+
115
+ ## 品質ゲート
116
+
117
+ - [ ] 全 DES が少なくとも1つの REQ にトレース可能
118
+ - [ ] TypeScript インターフェースが定義されている
119
+ - [ ] CLI 契約が明記されている
120
+ - [ ] SOLID 原則への違反がない
121
+ - [ ] 重要な設計決定に ADR が作成されている
122
+
123
+ ## Gotchas
124
+
125
+ 1. **DES と REQ の N:M 関係**: 1つの DES が複数の REQ を参照する場合がある。逆も同様。全方向のリンクを維持すること。
126
+ 2. **Mermaid 記法の制限**: classDiagram で `?` nullable 表記を使う場合、TypeScript 側の `| undefined` と一致させること。
127
+ 3. **ADR のステータス管理**: `accept` と `deprecate` は状態遷移。直接 `superseded` にはできない(必ず `deprecated` を経由)。
128
+
129
+ ## スクリプト
130
+
131
+ | スクリプト | 説明 | 使い方 |
132
+ |-----------|------|--------|
133
+ | `scripts/generate.sh` | 要件から設計生成 | `./scripts/generate.sh [args]` |
134
+ | `scripts/c4.sh` | C4 ダイアグラム生成 | `./scripts/c4.sh [args]` |
135
+ | `scripts/verify.sh` | 設計トレーサビリティ検証 | `./scripts/verify.sh [args]` |
136
+ | `scripts/decision.sh` | ADR 作成・管理 | `./scripts/decision.sh [args]` |
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Generate C4 diagram
3
+ set -e
4
+ npx musubix design:c4 "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Create/manage ADR
3
+ set -e
4
+ npx musubix decision "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Generate design from requirements
3
+ set -e
4
+ npx musubix design "$@"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # Verify design traceability
3
+ set -e
4
+ npx musubix design:verify "$@"