musubix 3.6.0 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/AGENTS.md +949 -0
- package/.github/prompts/sdd-change-apply.prompt.md +283 -0
- package/.github/prompts/sdd-change-archive.prompt.md +241 -0
- package/.github/prompts/sdd-change-init.prompt.md +269 -0
- package/.github/prompts/sdd-design.prompt.md +250 -0
- package/.github/prompts/sdd-implement.prompt.md +387 -0
- package/.github/prompts/sdd-requirements.prompt.md +193 -0
- package/.github/prompts/sdd-review.prompt.md +155 -0
- package/.github/prompts/sdd-security.prompt.md +228 -0
- package/.github/prompts/sdd-steering.prompt.md +269 -0
- package/.github/prompts/sdd-tasks.prompt.md +255 -0
- package/.github/prompts/sdd-test.prompt.md +230 -0
- package/.github/prompts/sdd-validate.prompt.md +304 -0
- package/.github/skills/build-fix/SKILL.md +124 -0
- package/.github/skills/checkpoint/SKILL.md +131 -0
- package/.github/skills/codemap/SKILL.md +120 -0
- package/.github/skills/codemap/templates/codemap-index.md +142 -0
- package/.github/skills/codemap/templates/package-codemap.md +160 -0
- package/.github/skills/context-optimizer/SKILL.md +109 -0
- package/.github/skills/context-optimizer/contexts/dev.md +40 -0
- package/.github/skills/context-optimizer/contexts/research.md +55 -0
- package/.github/skills/context-optimizer/contexts/review.md +49 -0
- package/.github/skills/e2e-runner/SKILL.md +145 -0
- package/.github/skills/eval-harness/SKILL.md +111 -0
- package/.github/skills/eval-harness/examples/capability-eval.md +158 -0
- package/.github/skills/eval-harness/examples/human-grader-template.md +326 -0
- package/.github/skills/eval-harness/examples/regression-eval.md +228 -0
- package/.github/skills/learning-hooks/SKILL.md +101 -0
- package/.github/skills/learning-hooks/templates/learned-skill-template.md +79 -0
- package/.github/skills/musubix-adr-generation/SKILL.md +74 -0
- package/.github/skills/musubix-best-practices/SKILL.md +85 -0
- package/.github/skills/musubix-c4-design/SKILL.md +86 -0
- package/.github/skills/musubix-code-generation/SKILL.md +90 -0
- package/.github/skills/musubix-domain-inference/SKILL.md +82 -0
- package/.github/skills/musubix-ears-validation/SKILL.md +74 -0
- package/.github/skills/musubix-sdd-workflow/SKILL.md +95 -0
- package/.github/skills/musubix-technical-writing/SKILL.md +108 -0
- package/.github/skills/musubix-test-generation/SKILL.md +88 -0
- package/.github/skills/musubix-traceability/SKILL.md +94 -0
- package/.github/skills/refactor-cleaner/SKILL.md +105 -0
- package/.github/skills/session-manager/SKILL.md +119 -0
- package/.github/skills/session-manager/scripts/session-end.sh +175 -0
- package/.github/skills/session-manager/scripts/session-start.sh +87 -0
- package/.github/skills/verification-loop/SKILL.md +111 -0
- package/.github/skills/verification-loop/scripts/verify.sh +305 -0
- package/AGENTS.md +333 -0
- package/LICENSE +21 -0
- package/README.ja.md +313 -0
- package/README.md +315 -50
- package/bin/musubix-mcp.js +15 -0
- package/bin/musubix.js +9 -1
- package/docs/API-REFERENCE.md +1425 -0
- package/docs/CODEMAPS/CODEMAP.md +1 -0
- package/docs/GITHUB-ACTIONS-NPM-SETUP.md +132 -0
- package/docs/INSTALL-GUIDE.ja.md +459 -0
- package/docs/INSTALL-GUIDE.md +459 -0
- package/docs/MIGRATION-v3.0.md +324 -0
- package/docs/MUSUBI-enhancement_roadmap_20260105.md +651 -0
- package/docs/MUSUBIX-v3.0-User-Guide.md +1357 -0
- package/docs/MUSUBIXv2.2.0-Manual-outline.md +136 -0
- package/docs/MUSUBIXv2.2.0-Manual.md +3123 -0
- package/docs/MUSUBIXv2.3.5-Refactering.md +1310 -0
- package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +291 -0
- package/docs/MUSUBIv2.2.0-USERGUIDE.md +2079 -0
- package/docs/ROADMAP-v1.5.md +116 -0
- package/docs/SwarmCoding.md +1284 -0
- package/docs/Test-prompt.md +105 -0
- package/docs/USER-GUIDE-v1.8.0.md +2371 -0
- package/docs/USER-GUIDE.ja.md +2147 -0
- package/docs/USER-GUIDE.md +3022 -0
- package/docs/YATA-GLOBAL-GUIDE.ja.md +750 -0
- package/docs/YATA-GLOBAL-GUIDE.md +595 -0
- package/docs/YATA-LOCAL-GUIDE.ja.md +989 -0
- package/docs/YATA-LOCAL-GUIDE.md +730 -0
- package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +75 -0
- package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +79 -0
- package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +90 -0
- package/docs/adr/ADR-v3.4.0-001-deep-research-architecture.md +217 -0
- package/docs/adr/ADR-v3.4.0-002-search-provider-selection.md +308 -0
- package/docs/adr/ADR-v3.4.0-003-lm-api-integration.md +475 -0
- package/docs/adr/ADR-v3.7.0-001-everything-claude-code-integration.md +102 -0
- package/docs/enterprise-knowledge-management.md +1737 -0
- package/docs/evolution-from-musubi-to-musubix.md +2170 -0
- package/docs/experiments/EXPERIMENT-ASSISTANT-AXIS-DRIFT-DETECTION.md +155 -0
- package/docs/getting-started-with-sdd.md +1602 -0
- package/docs/moodle-refactering-codegraph-musubix.md +391 -0
- package/docs/moodle-refactering-codegraph.md +278 -0
- package/docs/overview/MUSUBIX-CodeGraph.md +322 -0
- package/docs/overview/MUSUBIX-Core.md +671 -0
- package/docs/overview/MUSUBIX-Decisions.md +494 -0
- package/docs/overview/MUSUBIX-FormalVerify.md +566 -0
- package/docs/overview/MUSUBIX-Knowledge.md +1231 -0
- package/docs/overview/MUSUBIX-Learning.md +837 -0
- package/docs/overview/MUSUBIX-MCP-Server.md +535 -0
- package/docs/overview/MUSUBIX-Overview.md +264 -0
- package/docs/overview/MUSUBIX-Phase1-Complete.md +271 -0
- package/docs/overview/MUSUBIX-Phase2-Complete.md +310 -0
- package/docs/overview/MUSUBIX-Policy.md +477 -0
- package/docs/overview/MUSUBIX-Roadmap-v2.md +399 -0
- package/docs/overview/MUSUBIX-Security-Plan.md +939 -0
- package/docs/overview/MUSUBIX-Security-v2.1.md +668 -0
- package/docs/overview/MUSUBIX-Security.md +891 -0
- package/docs/overview/MUSUBIX-YATA.md +666 -0
- package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +513 -0
- package/docs/overview/Neuro-SymbolicAI.md +159 -0
- package/docs/packages/knowledge.md +594 -0
- package/docs/qiita/musubix-v3.6.0-fastrender-insights.md +625 -0
- package/docs/qiita-linux-kernel-knowledge-graph.md +596 -0
- package/docs/qiita-musubix-assistant-axis.md +380 -0
- package/package.json +58 -52
- package/scripts/generate-quality-gate-report.ts +106 -0
- package/scripts/postinstall.js +94 -0
- package/scripts/register-release-knowledge.ts +127 -0
- package/steering/.musubi-version +1 -0
- package/steering/product.ja.md +572 -0
- package/steering/project.yml +66 -0
- package/steering/rules/constitution.md +491 -0
- package/steering/structure.ja.md +503 -0
- package/steering/tech.ja.md +208 -0
- package/dist/index.d.ts +0 -25
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -74
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,1284 @@
|
|
|
1
|
+
## はじめに
|
|
2
|
+
|
|
3
|
+
**「1人のAIより、チームで働くAI」** ── これが次世代のコーディング体験です。
|
|
4
|
+
|
|
5
|
+
GitHub Copilot は優秀な「個人プレイヤー」ですが、**MUSUBI** と **CodeGraph MCP Server** を組み合わせることで、**専門家チームとして協調するSwarm coding** が実現します。
|
|
6
|
+
|
|
7
|
+
**3,651のテスト、128のテストスイート、12,093のコードエンティティ、59,222のリレーション**を持つMUSUBI v5.6.1は、エンタープライズグレードの開発基盤として設計されています。
|
|
8
|
+
|
|
9
|
+
### GitHub Copilot単体の限界
|
|
10
|
+
|
|
11
|
+
GitHub Copilotは素晴らしいツールですが、**エンタープライズアプリケーション開発**には以下の課題があります。
|
|
12
|
+
|
|
13
|
+
| 課題 | 具体例 | エンタープライズでの影響 |
|
|
14
|
+
|------|--------|------------------------|
|
|
15
|
+
| **コンテキストの断片化** | ファイル単位でしかコードを理解できない | 大規模コードベースで依存関係を見落とす |
|
|
16
|
+
| **仕様との紐付けなし** | 「なぜこのコードが必要か」を知らない | 要件変更時に影響範囲が不明 |
|
|
17
|
+
| **設計判断の欠如** | アーキテクチャを考慮せずにコード生成 | 技術的負債の蓄積 |
|
|
18
|
+
| **品質基準の不在** | プロジェクト固有のルールを知らない | コーディング規約違反、セキュリティホール |
|
|
19
|
+
| **トレーサビリティなし** | 要件→設計→実装→テストの追跡不可 | 監査・コンプライアンス対応が困難 |
|
|
20
|
+
| **一貫性の欠如** | セッションごとに回答がブレる | チーム開発での混乱 |
|
|
21
|
+
|
|
22
|
+
:::note warn
|
|
23
|
+
**エンタープライズ開発に必要なもの**
|
|
24
|
+
- 仕様に基づいた一貫した実装
|
|
25
|
+
- プロジェクト全体のコンテキスト把握
|
|
26
|
+
- アーキテクチャ決定の記録(ADR)
|
|
27
|
+
- 品質ゲートと自動検証
|
|
28
|
+
- 変更の影響分析
|
|
29
|
+
- 監査可能なトレーサビリティ
|
|
30
|
+
|
|
31
|
+
**GitHub Copilot + MUSUBI + CodeGraph** で、これらすべてを実現します。
|
|
32
|
+
:::
|
|
33
|
+
|
|
34
|
+
:::note info
|
|
35
|
+
**Swarm Coding(スウォームコーディング)とは?**
|
|
36
|
+
複数のAIエージェントが連携してソフトウェア開発を行う手法です。人間がチームで開発するのと同じように、AIたちが役割分担し、協力しながら複雑なタスクを自律的に遂行します。
|
|
37
|
+
|
|
38
|
+
**主な特徴:**
|
|
39
|
+
- **マルチエージェントシステム**: 単一の巨大AIではなく、特定の役割(プランナー、コーダー、テスター、レビュアーなど)を持つ複数のAIエージェントで構成
|
|
40
|
+
- **自律的な連携**: 各エージェントは蜂の群れ(swarm)のように自律的に協調動作し、全体の目標達成に向けてタスクを処理
|
|
41
|
+
- **動的なタスク管理**: 問題発生時やより良い解決策が見つかった場合に、AI自身がタスクプランを動的に修正・再計画(リプランニング)
|
|
42
|
+
- **現実環境との統合**: コードベース検索、テスト実行、バージョン管理(Git)といった実際の開発ツールと統合
|
|
43
|
+
- **効率化と生産性向上**: AIエージェントが同時並行で作業を進めるため、開発速度の大幅な向上が可能
|
|
44
|
+
|
|
45
|
+
このアプローチは、OpenAI Agents SDK や AutoGen に触発されたマルチエージェント協調パターンであり、ソフトウェア開発に革命をもたらす可能性を秘めた新しい概念として注目されています。
|
|
46
|
+
:::
|
|
47
|
+
|
|
48
|
+
## SDD(仕様駆動開発)とは
|
|
49
|
+
|
|
50
|
+
MUSUBIは**SDD(Specification Driven Development:仕様駆動開発)** を実現するフレームワークです。
|
|
51
|
+
|
|
52
|
+
### なぜSDDなのか?
|
|
53
|
+
|
|
54
|
+
従来のAIコーディングでは「コードを生成する」ことがゴールでした。しかし、エンタープライズ開発では**仕様→設計→実装→テスト→運用**という一貫したプロセスが求められます。
|
|
55
|
+
|
|
56
|
+
| 課題 | 従来のAI開発 | SDD(MUSUBI) |
|
|
57
|
+
|------|-------------|---------------|
|
|
58
|
+
| **仕様の曖昧さ** | 自然言語のまま実装 | EARS形式で形式化 |
|
|
59
|
+
| **設計の欠如** | いきなりコード生成 | C4モデル + ADRで設計 |
|
|
60
|
+
| **トレーサビリティ** | なし | REQ → Design → Code → Test を追跡 |
|
|
61
|
+
| **品質保証** | 手動レビュー頼み | 憲法 + ガードレールで自動検証 |
|
|
62
|
+
| **変更管理** | 差分が不明確 | Delta仕様で変更を明示 |
|
|
63
|
+
|
|
64
|
+
### SDDの8ステージワークフロー
|
|
65
|
+
|
|
66
|
+
MUSUBIのSDDワークフローは8つのステージで構成されています。
|
|
67
|
+
|
|
68
|
+
| ステージ | 名前 | 内容 | 成果物 |
|
|
69
|
+
|---------|------|------|--------|
|
|
70
|
+
| 1 | **Steering** | プロジェクトメモリの初期化・更新 | `steering/` ディレクトリ |
|
|
71
|
+
| 2 | **Requirements** | EARS形式での要件定義 | `storage/specs/*.ears.md` |
|
|
72
|
+
| 3 | **Design** | C4モデル + ADR作成 | `storage/specs/*.design.md` |
|
|
73
|
+
| 4 | **Tasks** | 実装タスクへの分解 | `storage/specs/*.tasks.md` |
|
|
74
|
+
| 5 | **Implement** | Swarm Codingによる実装 | ソースコード |
|
|
75
|
+
| 6 | **Validate** | 憲法準拠の検証 | 検証レポート |
|
|
76
|
+
| 7 | **Review** | Human-in-Loopレビュー | 承認/修正指示 |
|
|
77
|
+
| 8 | **Release** | リリース準備・変更ログ | CHANGELOG, タグ |
|
|
78
|
+
|
|
79
|
+
### EARS形式とは
|
|
80
|
+
|
|
81
|
+
**EARS(Easy Approach to Requirements Syntax)** は、自然言語の曖昧さを排除するための要件記述形式です。
|
|
82
|
+
|
|
83
|
+
| パターン | テンプレート | 例 |
|
|
84
|
+
|----------|-------------|-----|
|
|
85
|
+
| **Ubiquitous** | The system shall... | システムは認証トークンを暗号化しなければならない |
|
|
86
|
+
| **Event-Driven** | When [event], the system shall... | ログインボタンが押されたとき、システムは認証処理を開始する |
|
|
87
|
+
| **State-Driven** | While [state], the system shall... | オフライン状態の間、システムはローカルキャッシュを使用する |
|
|
88
|
+
| **Optional** | Where [feature], the system shall... | 二要素認証が有効な場合、システムはSMSコードを送信する |
|
|
89
|
+
| **Unwanted** | If [condition], the system shall not... | 5回連続で失敗した場合、システムはアカウントをロックする |
|
|
90
|
+
|
|
91
|
+
:::note info
|
|
92
|
+
**SDDのメリット**
|
|
93
|
+
- **AIの一貫性**: 仕様に基づいてAIが判断するため、ブレが少ない
|
|
94
|
+
- **レビューの効率化**: 仕様 vs 実装の差分が明確
|
|
95
|
+
- **ドキュメントの自動生成**: 仕様からAPIドキュメントやテストケースを生成
|
|
96
|
+
- **変更の影響分析**: 仕様変更時に影響範囲を自動検出
|
|
97
|
+
:::
|
|
98
|
+
|
|
99
|
+
## なぜMUSUBIなのか?── 圧倒的なスケール
|
|
100
|
+
|
|
101
|
+
### v5.6.1の実績データ
|
|
102
|
+
|
|
103
|
+
| メトリクス | 数値 | 意味 |
|
|
104
|
+
|-----------|------|------|
|
|
105
|
+
| **テスト数** | 3,651 | 業界最高水準のテストカバレッジ |
|
|
106
|
+
| **テストスイート** | 128 | 包括的な品質保証 |
|
|
107
|
+
| **コードエンティティ** | 12,093 | 関数、クラス、変数等の解析対象 |
|
|
108
|
+
| **コードリレーション** | 59,222 | 依存関係・呼び出し関係の把握 |
|
|
109
|
+
| **コミュニティ(モジュール)** | 140 | 自動検出されたモジュール境界 |
|
|
110
|
+
| **対応プラットフォーム** | 13+ | Claude, Copilot, Cursor, Windsurf, Gemini, Codex... |
|
|
111
|
+
| **専門スキル** | 25 | 仕様からデプロイまで網羅 |
|
|
112
|
+
| **オーケストレーションパターン** | 9 | Swarm, Handoff, Triage, Human-in-Loop... |
|
|
113
|
+
|
|
114
|
+
### 実証検証プロジェクト
|
|
115
|
+
|
|
116
|
+
MUSUBIのエンタープライズ機能は、実際の大規模プロジェクトで開発・検証しました。
|
|
117
|
+
|
|
118
|
+
#### Linuxカーネル(3,000万行)── 超大規模コードベースの効率的開発
|
|
119
|
+
|
|
120
|
+
**Linuxカーネル**は、世界最大級のオープンソースプロジェクトです。MUSUBIがこのような超大規模コードベースでも効率的に開発を支援できるかを検証しています。
|
|
121
|
+
|
|
122
|
+
| 項目 | 結果 |
|
|
123
|
+
|------|------|
|
|
124
|
+
| ファイル数 | 80,000+ |
|
|
125
|
+
| コード行数 | 30,000,000+ |
|
|
126
|
+
| サブシステム数 | 100+ |
|
|
127
|
+
| 年間コミット数 | 70,000+ |
|
|
128
|
+
|
|
129
|
+
**Linuxカーネル開発の課題とMUSUBIの対応**
|
|
130
|
+
|
|
131
|
+
| 課題 | 従来の開発 | MUSUBI + CodeGraph |
|
|
132
|
+
|------|-----------|-------------------|
|
|
133
|
+
| **コードナビゲーション** | cscope/ctags、手動検索 | CodeGraph `global_search` で即座に特定 |
|
|
134
|
+
| **サブシステム理解** | ドキュメント + 経験 | `community` でモジュール境界を自動検出 |
|
|
135
|
+
| **変更影響分析** | メンテナーの経験頼み | `find_dependencies` で波及範囲を可視化 |
|
|
136
|
+
| **コーディング規約** | checkpatch.pl | 憲法 + ガードレールで自動検証 |
|
|
137
|
+
| **ドライバ開発** | テンプレートからコピペ | SDD + Swarm Codingで構造化生成 |
|
|
138
|
+
|
|
139
|
+
**検証シナリオ:新規デバイスドライバの開発**
|
|
140
|
+
|
|
141
|
+
1. **要件定義**: EARS形式で新規ドライバの仕様を記述
|
|
142
|
+
2. **アーキテクチャ確認**: CodeGraphで既存ドライバのパターンを分析
|
|
143
|
+
3. **Swarm Coding**: 複数スキルが協調してドライバコードを生成
|
|
144
|
+
4. **品質検証**: Linuxカーネルコーディング規約への準拠を自動チェック
|
|
145
|
+
|
|
146
|
+
:::note info
|
|
147
|
+
**なぜLinuxカーネルで検証するのか?**
|
|
148
|
+
Linuxカーネルは、コード量・複雑度・開発者数のすべてにおいて世界最高レベルのプロジェクトです。ここで効率的に動作することを確認できれば、ほぼすべてのエンタープライズプロジェクトに対応できると言えます。
|
|
149
|
+
:::
|
|
150
|
+
|
|
151
|
+
#### GCCコードベース(1,000万行)── 相関の強いコードの改修
|
|
152
|
+
|
|
153
|
+
**GCC(GNU Compiler Collection)** の実際の解析で、**相関の強いコードの改修**における巨大コードベース対応を検証しました。
|
|
154
|
+
|
|
155
|
+
GCCのようなコンパイラは、各モジュールが密接に連携しており、1箇所の変更が広範囲に波及します。MUSUBIのCodeGraph連携により、この「相関の強さ」を可視化し、安全な改修を実現しています。
|
|
156
|
+
|
|
157
|
+
| 項目 | 結果 |
|
|
158
|
+
|------|------|
|
|
159
|
+
| ファイル数 | 100,000+ |
|
|
160
|
+
| コード行数 | 10,000,000+ |
|
|
161
|
+
| 検出された巨大関数 | 1,000行超の関数を複数検出 |
|
|
162
|
+
| メモリ効率 | ストリーミング分析で2GB以内で処理可能 |
|
|
163
|
+
|
|
164
|
+
**相関分析による改修支援**
|
|
165
|
+
|
|
166
|
+
| 分析項目 | MUSUBIの機能 | GCCでの活用 |
|
|
167
|
+
|----------|-------------|-------------|
|
|
168
|
+
| **依存関係の可視化** | CodeGraph `find_dependencies` | 変更による影響範囲の特定 |
|
|
169
|
+
| **呼び出し元追跡** | CodeGraph `find_callers` | 関数変更時の波及先を把握 |
|
|
170
|
+
| **コミュニティ検出** | CodeGraph `community` | 密結合モジュールの特定 |
|
|
171
|
+
| **影響分析** | MUSUBI Impact Analyzer | 改修前にリスク評価 |
|
|
172
|
+
|
|
173
|
+
**Rust置換によるセキュリティ強化実験**
|
|
174
|
+
|
|
175
|
+
GCCのC/C++コードをRustに置き換えることで、メモリ安全性を向上させる実験も行っています。MUSUBIの **Rust Migration Generator** を使用して、危険なパターンを自動検出し、安全なRustコードへの移行を支援しています。
|
|
176
|
+
|
|
177
|
+
| 検出カテゴリ | GCCでの検出数 | セキュリティリスク |
|
|
178
|
+
|-------------|--------------|------------------|
|
|
179
|
+
| メモリ管理(malloc/free) | 多数 | メモリリーク、二重解放 |
|
|
180
|
+
| 文字列操作(strcpy/sprintf) | 多数 | バッファオーバーフロー |
|
|
181
|
+
| ポインタ演算 | 多数 | 不正メモリアクセス |
|
|
182
|
+
| 並行処理(pthread) | 多数 | データ競合 |
|
|
183
|
+
|
|
184
|
+
この実験により、MUSUBIのCodeGraphとRust Migration Generatorが、**相関の強い巨大コードベースでも安全な改修を支援**できることを確認しています。
|
|
185
|
+
|
|
186
|
+
#### ウラノス・エコシステム・データスペーシズ(IPA/経産省)
|
|
187
|
+
|
|
188
|
+
**[ウラノス・エコシステム・データスペーシズ リファレンスアーキテクチャモデル(ODS-RAM)](https://www.ipa.go.jp/digital/architecture/reports/ouranos-ecosystem-dataspaces-ram-white-paper.html)** のホワイトペーパーを参照し、**実際に動作するモデルが生成できるかどうか**を検証しています。
|
|
189
|
+
|
|
190
|
+
| 項目 | 内容 |
|
|
191
|
+
|------|------|
|
|
192
|
+
| **提供元** | IPA(情報処理推進機構)/ 経済産業省 |
|
|
193
|
+
| **目的** | 企業・業界・国境を横断した産業データ連携 |
|
|
194
|
+
| **アーキテクチャ** | 4レイヤ × 4パースペクティブ |
|
|
195
|
+
| **課題領域** | データ連携・利活用の13の構造的課題 |
|
|
196
|
+
| **MUSUBIでの検証** | ホワイトペーパーから動作するモデルを生成 |
|
|
197
|
+
|
|
198
|
+
**検証アプローチ:**
|
|
199
|
+
|
|
200
|
+
1. **ホワイトペーパー解析**: ODS-RAMホワイトペーパーをMUSUBIで解析し、アーキテクチャ要件を抽出
|
|
201
|
+
2. **SDD変換**: 抽出した要件をEARS形式の仕様書に変換
|
|
202
|
+
3. **コード生成**: Swarm Codingによるリファレンス実装の自動生成
|
|
203
|
+
4. **動作検証**: 生成されたモデルが実際に動作することを確認
|
|
204
|
+
|
|
205
|
+
:::note info
|
|
206
|
+
**ODS-RAMとは?**
|
|
207
|
+
ウラノス・エコシステムにおけるサービス主導のデータスペース構築に向けた技術参照文書です。データ主権を担保しながら、分散・連邦ハイブリッド型のサービスエコシステムを実現するためのアーキテクチャモデルを提供しています。
|
|
208
|
+
|
|
209
|
+
MUSUBIは、このホワイトペーパーを入力として、**仕様書 → 設計 → 実装 → 検証**の一連のプロセスを自動化し、実際に動作するリファレンス実装を生成できることを検証しています。
|
|
210
|
+
:::
|
|
211
|
+
|
|
212
|
+
## Swarm Codingの仕組み
|
|
213
|
+
|
|
214
|
+
### 従来のAIコーディング vs Swarm Coding
|
|
215
|
+
|
|
216
|
+
従来のAIコーディングは「1人の万能AI」に頼るアプローチでした。しかし、複雑なプロジェクトでは限界があります。Swarm Codingは、人間のチーム開発と同じように、**専門性を持った複数のAIエージェントが協調**して作業を進めます。
|
|
217
|
+
|
|
218
|
+
| 従来 | Swarm Coding (MUSUBI) |
|
|
219
|
+
|------|----------------------|
|
|
220
|
+
| 1つのAIに全部任せる | 専門家チームが協調 |
|
|
221
|
+
| コンテキストが不足 | CodeGraphで全体像を把握 |
|
|
222
|
+
| 一発勝負 | Handoff/Triage で適切にルーティング |
|
|
223
|
+
| 品質は運次第 | 9つの憲法条項でガバナンス |
|
|
224
|
+
| トレーサビリティなし | REQ → Design → Code → Test 完全追跡 |
|
|
225
|
+
|
|
226
|
+
### 9つのオーケストレーションパターン
|
|
227
|
+
|
|
228
|
+
MUSUBIは、タスクの性質や状況に応じて**9つの協調パターン**を使い分けます。これはOpenAI Agents SDKやAutoGenのマルチエージェントパターンに触発されたもので、単純な順次処理から複雑な群知能まで対応します。
|
|
229
|
+
|
|
230
|
+
| # | パターン | 説明 | ユースケース |
|
|
231
|
+
|---|----------|------|-------------|
|
|
232
|
+
| 1 | **Sequential** | 順次実行 | 仕様→設計→実装→テスト |
|
|
233
|
+
| 2 | **Parallel** | 並列実行 | フロント/バック同時開発 |
|
|
234
|
+
| 3 | **Swarm** | 群知能協調 | 全員で問題解決 |
|
|
235
|
+
| 4 | **Handoff** | 委譲 | 専門家にバトンタッチ |
|
|
236
|
+
| 5 | **Triage** | 振り分け | 適切なエージェントへルーティング |
|
|
237
|
+
| 6 | **Human-in-Loop** | 人間承認 | 重要決定は人間が判断 |
|
|
238
|
+
| 7 | **Nested** | 入れ子 | 複雑なワークフロー |
|
|
239
|
+
| 8 | **Group Chat** | グループチャット | 複数エージェント議論 |
|
|
240
|
+
| 9 | **Auto** | 自動選択 | 状況に応じて最適パターン |
|
|
241
|
+
|
|
242
|
+
## CodeGraph MCP Server とは
|
|
243
|
+
|
|
244
|
+
**CodeGraph MCP Server** は、ソースコードをグラフ構造として解析し、MCP(Model Context Protocol)経由でAIエージェントに提供するサーバーです。
|
|
245
|
+
|
|
246
|
+
### なぜCodeGraphが必要なのか?
|
|
247
|
+
|
|
248
|
+
従来のAIコーディングアシスタントは「ファイル単位」でしかコードを理解できません。CodeGraphはプロジェクト全体を**グラフ構造**として把握し、以下を可能にします。
|
|
249
|
+
|
|
250
|
+
| 課題 | 従来のAI | CodeGraph連携 |
|
|
251
|
+
|------|----------|---------------|
|
|
252
|
+
| 関数の呼び出し元 | grep検索、見落としあり | `find_callers` で完全リスト |
|
|
253
|
+
| 依存関係 | import文を目視 | `find_dependencies` で深い依存も検出 |
|
|
254
|
+
| 変更の影響範囲 | 「たぶん大丈夫」 | 影響分析で波及範囲を完全把握 |
|
|
255
|
+
| コード構造理解 | ファイルを1つずつ | `stats` + `community` で即座に全体像 |
|
|
256
|
+
|
|
257
|
+
### CodeGraphが提供する14のMCPツール
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
コードグラフ操作
|
|
261
|
+
├── init_graph - グラフ初期化
|
|
262
|
+
├── get_code_snippet - ソースコード取得
|
|
263
|
+
├── find_callers - 呼び出し元追跡
|
|
264
|
+
├── find_callees - 呼び出し先追跡
|
|
265
|
+
└── find_dependencies - 依存関係分析
|
|
266
|
+
|
|
267
|
+
検索機能
|
|
268
|
+
├── local_search - ローカルコンテキスト検索
|
|
269
|
+
├── global_search - グローバル検索
|
|
270
|
+
└── query_codebase - 自然言語クエリ
|
|
271
|
+
|
|
272
|
+
分析機能
|
|
273
|
+
├── analyze_module_structure - モジュール構造分析
|
|
274
|
+
├── suggest_refactoring - リファクタリング提案
|
|
275
|
+
├── stats - コードベース統計
|
|
276
|
+
└── community - コミュニティ検出
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 対応言語(14言語)
|
|
280
|
+
|
|
281
|
+
Python, JavaScript, TypeScript, Java, C#, Go, Rust, Ruby, PHP, C++, Swift, Kotlin, Scala, HCL(Terraform)
|
|
282
|
+
|
|
283
|
+
### musubi-analyze vs codegraph:どちらを使う?
|
|
284
|
+
|
|
285
|
+
MUSUBIには`musubi-analyze`コマンドがあり、CodeGraph MCP Serverとは別の分析機能を提供します。用途に応じて使い分けてください。
|
|
286
|
+
|
|
287
|
+
| 項目 | `musubi-analyze` | `codegraph` (MCP Server) |
|
|
288
|
+
|------|------------------|--------------------------|
|
|
289
|
+
| **提供元** | MUSUBI内蔵 | 外部MCPサーバー |
|
|
290
|
+
| **主な用途** | プロジェクト統計、複雑度分析、巨大関数検出 | コードグラフ構築、依存関係追跡、影響分析 |
|
|
291
|
+
| **出力先** | コンソール / レポート | `steering/memories/codegraph.md` |
|
|
292
|
+
| **AIとの連携** | 分析結果をAIに提供 | MCPプロトコルでリアルタイム連携 |
|
|
293
|
+
| **インストール** | `npm install -g musubi-sdd` | `uvx codegraph-mcp` |
|
|
294
|
+
|
|
295
|
+
**使い分けの目安:**
|
|
296
|
+
|
|
297
|
+
| やりたいこと | 使うコマンド |
|
|
298
|
+
|-------------|-------------|
|
|
299
|
+
| プロジェクトの統計情報を見たい | `npx musubi-analyze` |
|
|
300
|
+
| 複雑度が高い関数を見つけたい | `npx musubi-analyze --complexity` |
|
|
301
|
+
| 巨大関数を検出したい | `npx musubi-analyze --giant-functions` |
|
|
302
|
+
| 関数の呼び出し元を追跡したい | CodeGraph (`find_callers`) |
|
|
303
|
+
| 変更の影響範囲を知りたい | CodeGraph (`find_dependencies`) |
|
|
304
|
+
| AIに全体像を把握させたい | `npx musubi-analyze --codegraph-full` |
|
|
305
|
+
|
|
306
|
+
:::note info
|
|
307
|
+
**ベストプラクティス**
|
|
308
|
+
両方を併用するのがおすすめです。`musubi-analyze --codegraph-full` を実行すると、MUSUBIの分析結果とCodeGraphインデックスの両方が生成され、AIエージェントが最大限の情報を活用できます。
|
|
309
|
+
:::
|
|
310
|
+
|
|
311
|
+
### 自然言語でインデックス操作
|
|
312
|
+
|
|
313
|
+
MUSUBIでは、CodeGraphのインデックス作成・更新も自然言語で行えます。
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
GitHub Copilotに話しかけるだけ:
|
|
317
|
+
|
|
318
|
+
「CodeGraph MCP Index を作成」
|
|
319
|
+
「CodeGraph MCP Index を更新」
|
|
320
|
+
「コードグラフを再構築して」
|
|
321
|
+
|
|
322
|
+
→ MUSUBIが自動的に以下を実行:
|
|
323
|
+
1. リポジトリ全体をスキャン
|
|
324
|
+
2. エンティティ(関数、クラス、変数)を抽出
|
|
325
|
+
3. リレーション(呼び出し、依存、継承)を解析
|
|
326
|
+
4. コミュニティ(モジュール境界)を検出
|
|
327
|
+
5. インデックスを steering/memories/codegraph.md に保存
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## セットアップ(1分)
|
|
331
|
+
|
|
332
|
+
:::note warn
|
|
333
|
+
**Windowsの場合:WSL(Windows Subsystem for Linux)上にインストールしてください**
|
|
334
|
+
|
|
335
|
+
MUSUBIとCodeGraph MCP Serverは**WSL上のUbuntu**で動作させることを推奨します。
|
|
336
|
+
|
|
337
|
+
**事前にWSL(Ubuntu)上でインストールしておくパッケージ:**
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# Node.js(v18以上)
|
|
341
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
342
|
+
sudo apt-get install -y nodejs
|
|
343
|
+
|
|
344
|
+
# Python 3, pip, pipx(CodeGraph MCP Serverに必要)
|
|
345
|
+
sudo apt-get update
|
|
346
|
+
sudo apt-get install -y python3 python3-pip pipx
|
|
347
|
+
pipx ensurepath
|
|
348
|
+
|
|
349
|
+
# Git(必須)
|
|
350
|
+
sudo apt-get install -y git
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**VSCodeからWSLに接続:**
|
|
354
|
+
1. VSCodeで `Ctrl+Shift+P` → `WSL: Connect to WSL`
|
|
355
|
+
2. WSL上でプロジェクトを開く
|
|
356
|
+
3. WSL上のターミナルで `npx musubi-sdd init --copilot` を実行
|
|
357
|
+
|
|
358
|
+
**なぜWSLが必要?**
|
|
359
|
+
- CodeGraph MCP Serverは Python環境が必要
|
|
360
|
+
- ファイルシステムのパフォーマンスが向上
|
|
361
|
+
- LinuxネイティブなCLIツールがそのまま動作
|
|
362
|
+
:::
|
|
363
|
+
|
|
364
|
+
### 1. GitHub Copilot用にプロジェクト初期化
|
|
365
|
+
|
|
366
|
+
**CLI:**
|
|
367
|
+
```bash
|
|
368
|
+
npx musubi-sdd init --copilot
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
#### 初期化時の選択肢
|
|
372
|
+
|
|
373
|
+
`npx musubi-sdd init --copilot` を実行すると、対話形式でプロジェクト設定を行います。
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
🎯 MUSUBI - Ultimate Specification Driven Development
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
Initializing for: GitHub Copilot
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
| 質問 | 選択肢 | 説明 |
|
|
383
|
+
|------|--------|------|
|
|
384
|
+
| **Project name** | (入力) | プロジェクト名。デフォルトはカレントディレクトリ名 |
|
|
385
|
+
| **Project description** | (入力) | プロジェクトの説明文 |
|
|
386
|
+
| **Documentation language** | English / 日本語 / 中文 / 한국어 / Español / Deutsch / Français | ドキュメントの言語。Steeringファイルがこの言語で生成される |
|
|
387
|
+
| **Project structure** | Single package / Workspace / Microservices | プロジェクト構造 |
|
|
388
|
+
| **Project type** | Greenfield (0→1) / Brownfield (1→n) / Both | 新規開発か既存プロジェクトか |
|
|
389
|
+
| **Technology stack approach** | Single language / Multiple languages / Undecided / Help me decide | 技術スタックの選択方法 |
|
|
390
|
+
| **Generate initial steering context?** | Yes / No | Steeringファイルを自動生成するか |
|
|
391
|
+
| **Create constitutional governance?** | Yes / No | 憲法(9条項)を作成するか |
|
|
392
|
+
|
|
393
|
+
**Project structure の詳細:**
|
|
394
|
+
|
|
395
|
+
| 選択肢 | 説明 | 向いているプロジェクト |
|
|
396
|
+
|--------|------|----------------------|
|
|
397
|
+
| **Single package** | 単一パッケージ構成 | 小〜中規模のアプリケーション |
|
|
398
|
+
| **Workspace / Monorepo** | 複数パッケージの単一リポジトリ | 共通ライブラリを持つ大規模プロジェクト |
|
|
399
|
+
| **Microservices** | マイクロサービス構成 | 分散システム、独立デプロイが必要なサービス群 |
|
|
400
|
+
|
|
401
|
+
**Project type の詳細:**
|
|
402
|
+
|
|
403
|
+
| 選択肢 | 説明 | Steeringの初期化 |
|
|
404
|
+
|--------|------|-----------------|
|
|
405
|
+
| **Greenfield (0→1)** | ゼロから新規開発 | テンプレートから空のSteeringを生成 |
|
|
406
|
+
| **Brownfield (1→n)** | 既存プロジェクトに導入 | 既存コードを解析してSteeringを推論 |
|
|
407
|
+
| **Both** | 両方対応 | 汎用的な設定で初期化 |
|
|
408
|
+
|
|
409
|
+
:::note info
|
|
410
|
+
**Greenfield(0→1)の場合:要件定義からスタート**
|
|
411
|
+
|
|
412
|
+
新規開発では、GitHub Copilotに自然言語で話しかけるだけで、**要件定義から**開発を始められます。
|
|
413
|
+
|
|
414
|
+
**自然言語での指示例:**
|
|
415
|
+
```
|
|
416
|
+
ECサイトの開発をするので、要件定義から開始して
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
タスク管理アプリを新規開発したい。要件定義からお願い
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
社内向けチャットボットを作りたい。ゼロから設計して
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
MUSUBIはこの指示を受けて、以下のSDDワークフローを自動的に実行します。
|
|
428
|
+
|
|
429
|
+
1. **要件定義**: EARS形式で仕様を記述 → `storage/specs/xxx.ears.md`
|
|
430
|
+
2. **設計**: C4モデル + ADR → `storage/specs/xxx.design.md`
|
|
431
|
+
3. **タスク分解**: 実装タスクへ分解 → `storage/specs/xxx.tasks.md`
|
|
432
|
+
4. **実装**: Swarm Codingで自動実装 → ソースコード
|
|
433
|
+
5. **検証**: 憲法準拠を確認 → 検証レポート
|
|
434
|
+
|
|
435
|
+
**Greenfieldでの開発フロー例:ECサイトの構築**
|
|
436
|
+
|
|
437
|
+
| ステージ | 自然言語での指示 | 成果物 |
|
|
438
|
+
|---------|-----------------|--------|
|
|
439
|
+
| 要件定義 | `ECサイトの要件を定義して` | `storage/specs/ecommerce.ears.md` |
|
|
440
|
+
| 設計 | `ECサイトを設計して` | `storage/specs/ecommerce.design.md` |
|
|
441
|
+
| タスク分解 | `ECサイトのタスクを洗い出して` | `storage/specs/ecommerce.tasks.md` |
|
|
442
|
+
| 実装 | `ECサイトを実装して` | ソースコード一式 |
|
|
443
|
+
| 検証 | `ECサイトを検証して` | 検証レポート |
|
|
444
|
+
|
|
445
|
+
このように、**コードを1行も書かない状態から、仕様→設計→実装→検証**まで一貫してSwarm Codingで進められます。
|
|
446
|
+
:::
|
|
447
|
+
|
|
448
|
+
:::note warn
|
|
449
|
+
**Tips:次に何をしていいかわからないときは**
|
|
450
|
+
|
|
451
|
+
開発中に迷ったら、オーケストレーターに聞いてみましょう。
|
|
452
|
+
|
|
453
|
+
| やりたいこと | 自然言語での指示 |
|
|
454
|
+
|-------------|-----------------|
|
|
455
|
+
| 次のタスクを実行 | `@orchestrator 次のタスクを実行して` |
|
|
456
|
+
| 残タスクを確認 | `@orchestrator 残タスクを確認して` |
|
|
457
|
+
| 進捗を確認 | `@orchestrator 進捗状況を教えて` |
|
|
458
|
+
| 全体の計画を確認 | `@orchestrator 現在の計画を見せて` |
|
|
459
|
+
| タスクの優先順位を変更 | `@orchestrator P0タスクを先に実行して` |
|
|
460
|
+
| 問題があれば再計画 | `@orchestrator 再計画して` |
|
|
461
|
+
|
|
462
|
+
オーケストレーターがプロジェクトの状態を把握し、最適な次のアクションを提案します。
|
|
463
|
+
:::
|
|
464
|
+
|
|
465
|
+
**Technology stack approach の詳細:**
|
|
466
|
+
|
|
467
|
+
| 選択肢 | 説明 | 次のステップ |
|
|
468
|
+
|--------|------|-------------|
|
|
469
|
+
| **Single language** | 単一言語 | 言語選択(JS/TS, Python, Rust, Go, Java, C#, C++, Swift, Ruby, PHP) |
|
|
470
|
+
| **Multiple languages** | 複数言語 | 使用言語を複数選択 |
|
|
471
|
+
| **Undecided** | 未定 | 後で決定可能 |
|
|
472
|
+
| **Help me decide** | 推奨してほしい | 要件を入力すると最適な言語を提案 |
|
|
473
|
+
|
|
474
|
+
#### 初期化完了後の出力
|
|
475
|
+
|
|
476
|
+
```
|
|
477
|
+
✨ Initializing MUSUBI...
|
|
478
|
+
|
|
479
|
+
Created .github/
|
|
480
|
+
Created .github/prompts/
|
|
481
|
+
Created steering/
|
|
482
|
+
Created steering/rules/
|
|
483
|
+
Created templates/
|
|
484
|
+
Created storage/specs/
|
|
485
|
+
Created storage/changes/
|
|
486
|
+
Created storage/features/
|
|
487
|
+
Installed prompts
|
|
488
|
+
Installed 25 agent definitions (AGENTS.md)
|
|
489
|
+
Generated steering context
|
|
490
|
+
Created constitutional governance
|
|
491
|
+
Created AGENTS.md guide
|
|
492
|
+
|
|
493
|
+
✅ MUSUBI initialization complete for GitHub Copilot!
|
|
494
|
+
|
|
495
|
+
Next steps:
|
|
496
|
+
1. Review steering/ context files
|
|
497
|
+
2. Review steering/rules/constitution.md
|
|
498
|
+
3. Start using GitHub Copilot with MUSUBI skills
|
|
499
|
+
4. Try commands: #sdd-requirements authentication
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
これにより以下が生成されます。
|
|
503
|
+
- `AGENTS.md` - GitHub Copilot用のエントリポイント
|
|
504
|
+
- `steering/` - プロジェクト憲法・アーキテクチャ定義
|
|
505
|
+
- `storage/` - 仕様・設計・変更管理
|
|
506
|
+
|
|
507
|
+
### Steering(プロジェクトメモリ)とは
|
|
508
|
+
|
|
509
|
+
**Steering** はMUSUBIの中核となる「プロジェクトの長期記憶」です。AIエージェントが一貫した判断を行うための基盤を提供します。
|
|
510
|
+
|
|
511
|
+
#### ゼロスタート vs 既存プロジェクト
|
|
512
|
+
|
|
513
|
+
| シナリオ | Steeringの初期化方法 | 特徴 |
|
|
514
|
+
|----------|---------------------|------|
|
|
515
|
+
| **ゼロスタート** | `npx musubi-sdd init --copilot` | インストール時にテンプレートから生成。プロジェクトに合わせて編集 |
|
|
516
|
+
| **既存プロジェクト** | `Steeringを生成して` | 既存コードを解析し、構造・技術スタックを自動推論 |
|
|
517
|
+
|
|
518
|
+
**ゼロスタートの場合:**
|
|
519
|
+
- 空のテンプレートが生成される
|
|
520
|
+
- `structure.md`、`tech.md`、`product.md` を手動で記述
|
|
521
|
+
- 憲法(`constitution.md`)はデフォルト値が設定される
|
|
522
|
+
|
|
523
|
+
**既存プロジェクトの場合:**
|
|
524
|
+
- MUSUBIがコードベースを解析
|
|
525
|
+
- 使用言語、フレームワーク、ディレクトリ構造を自動検出
|
|
526
|
+
- `package.json`、`requirements.txt`等から依存関係を抽出
|
|
527
|
+
- 既存の設計パターンを推論して `structure.md` を生成
|
|
528
|
+
|
|
529
|
+
```
|
|
530
|
+
steering/
|
|
531
|
+
├── structure.md # アーキテクチャパターン(レイヤー構造、設計原則)
|
|
532
|
+
├── tech.md # 技術スタック(言語、フレームワーク、ツール)
|
|
533
|
+
├── product.md # プロダクトコンテキスト(ドメイン知識、用語集)
|
|
534
|
+
├── project.yml # プロジェクト設定(メタデータ、依存関係)
|
|
535
|
+
├── rules/
|
|
536
|
+
│ └── constitution.md # 9つの憲法条項(不変のルール)
|
|
537
|
+
└── memories/
|
|
538
|
+
├── codegraph.md # CodeGraphインデックス
|
|
539
|
+
├── architecture_decisions.md # アーキテクチャ決定履歴
|
|
540
|
+
├── lessons_learned.md # 学んだ教訓
|
|
541
|
+
└── domain_knowledge.md # ドメイン知識
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
| ファイル | 役割 | 更新タイミング |
|
|
545
|
+
|----------|------|----------------|
|
|
546
|
+
| `structure.md` | レイヤー構造、依存方向、設計パターン | アーキテクチャ変更時 |
|
|
547
|
+
| `tech.md` | 言語バージョン、フレームワーク、ライブラリ | 技術選定・更新時 |
|
|
548
|
+
| `product.md` | ビジネスドメイン、ユビキタス言語、コンテキスト | 要件変更時 |
|
|
549
|
+
| `constitution.md` | 品質基準、ガバナンスルール | **変更禁止**(不変) |
|
|
550
|
+
| `memories/` | 動的に蓄積される知識 | 自動更新 |
|
|
551
|
+
|
|
552
|
+
:::note info
|
|
553
|
+
**Steeringの自動同期**
|
|
554
|
+
MUSUBIはプロジェクトの変更を検知し、Steeringドキュメントを自動的に同期します。
|
|
555
|
+
|
|
556
|
+
**自然言語でも同期可能:**
|
|
557
|
+
```
|
|
558
|
+
Steeringを更新
|
|
559
|
+
```
|
|
560
|
+
これだけでプロジェクトメモリが最新状態に同期されます。
|
|
561
|
+
|
|
562
|
+
```bash
|
|
563
|
+
npx musubi-sync # CLIでの手動同期
|
|
564
|
+
```
|
|
565
|
+
:::
|
|
566
|
+
|
|
567
|
+
### 2. CodeGraph MCP Serverの設定
|
|
568
|
+
|
|
569
|
+
```bash
|
|
570
|
+
# Copilot MCP設定ファイル
|
|
571
|
+
cat > ~/.config/github-copilot/mcp.json << 'EOF'
|
|
572
|
+
{
|
|
573
|
+
"servers": {
|
|
574
|
+
"codegraph": {
|
|
575
|
+
"command": "uvx",
|
|
576
|
+
"args": ["codegraph-mcp"],
|
|
577
|
+
"env": {
|
|
578
|
+
"CODEGRAPH_REPO_PATH": "/path/to/your/project"
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
EOF
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
### 3. コードグラフの構築
|
|
587
|
+
|
|
588
|
+
**CLI:**
|
|
589
|
+
```bash
|
|
590
|
+
# MUSUBIのCodeGraph統合機能を使用
|
|
591
|
+
npx musubi-analyze --codegraph-full
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
**自然言語(GitHub Copilotに話しかける):**
|
|
595
|
+
```
|
|
596
|
+
CodeGraph MCP Index を作成
|
|
597
|
+
コードグラフを構築して
|
|
598
|
+
プロジェクトを解析して
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
**出力例:**
|
|
602
|
+
```
|
|
603
|
+
CodeGraph Analysis Complete
|
|
604
|
+
Entities: 12,093
|
|
605
|
+
Relations: 59,222
|
|
606
|
+
Communities: 140
|
|
607
|
+
Index saved to: steering/memories/codegraph.md
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
## 実践例:Swarm Codingでフィーチャー開発
|
|
611
|
+
|
|
612
|
+
### シナリオ:ユーザー認証機能の追加
|
|
613
|
+
|
|
614
|
+
GitHub Copilotで `#sdd-implement auth` を実行すると、MUSUBIが以下のSwarmを自動編成します。
|
|
615
|
+
|
|
616
|
+
```
|
|
617
|
+
🐝 Swarm Assembly for "auth" feature:
|
|
618
|
+
|
|
619
|
+
Phase 1: Requirements (Sequential)
|
|
620
|
+
├── Requirements Analyst → EARS形式で要件定義
|
|
621
|
+
└── Constitution Enforcer → 要件の憲法適合確認
|
|
622
|
+
|
|
623
|
+
Phase 2: Design (Parallel)
|
|
624
|
+
├── System Architect → C4モデルでアーキテクチャ設計
|
|
625
|
+
├── Security Auditor → 認証のセキュリティ設計
|
|
626
|
+
└── Database Schema Designer → ユーザーテーブル設計
|
|
627
|
+
|
|
628
|
+
Phase 3: Implementation (Swarm)
|
|
629
|
+
├── Backend Developer → API実装
|
|
630
|
+
├── Frontend Developer → ログインUI実装
|
|
631
|
+
└── Test Engineer → テスト実装
|
|
632
|
+
|
|
633
|
+
Phase 4: Validation (Human-in-Loop)
|
|
634
|
+
├── Code Reviewer → コードレビュー
|
|
635
|
+
├── Quality Assurance → E2Eテスト
|
|
636
|
+
└── Human Approval → 最終確認
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
### CodeGraphによる影響分析
|
|
640
|
+
|
|
641
|
+
認証機能を追加する際、CodeGraphが自動的に影響範囲を特定:
|
|
642
|
+
|
|
643
|
+
```
|
|
644
|
+
Impact Analysis for auth feature:
|
|
645
|
+
|
|
646
|
+
Affected Files (Direct):
|
|
647
|
+
├── src/routes/index.js (API routes need auth middleware)
|
|
648
|
+
├── src/middleware/index.js (new auth middleware)
|
|
649
|
+
└── src/models/user.js (new model)
|
|
650
|
+
|
|
651
|
+
Affected Files (Indirect):
|
|
652
|
+
├── src/controllers/profile.js (requires authenticated user)
|
|
653
|
+
├── src/services/notification.js (user context needed)
|
|
654
|
+
└── tests/integration/api.test.js (needs auth setup)
|
|
655
|
+
|
|
656
|
+
Recommended Test Updates:
|
|
657
|
+
├── tests/unit/auth.test.js (new)
|
|
658
|
+
├── tests/integration/auth.test.js (new)
|
|
659
|
+
└── tests/e2e/login.test.js (new)
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
## 25の専門スキル
|
|
663
|
+
|
|
664
|
+
MUSUBIには25の専門スキルが搭載されています。
|
|
665
|
+
|
|
666
|
+
### 分析・設計フェーズ
|
|
667
|
+
| スキル | 役割 | 主な機能 |
|
|
668
|
+
|--------|------|----------|
|
|
669
|
+
| Requirements Analyst | 要件分析 | EARS形式要件定義、ステークホルダー分析 |
|
|
670
|
+
| System Architect | システム設計 | C4モデル、ADR作成、アーキテクチャ判断 |
|
|
671
|
+
| API Designer | API設計 | OpenAPI、REST/GraphQL設計 |
|
|
672
|
+
| Database Schema Designer | DB設計 | ER図、マイグレーション設計 |
|
|
673
|
+
|
|
674
|
+
### 実装フェーズ
|
|
675
|
+
| スキル | 役割 | 主な機能 |
|
|
676
|
+
|--------|------|----------|
|
|
677
|
+
| Software Developer | コード実装 | SOLID原則、クリーンコード |
|
|
678
|
+
| Frontend Developer | フロント実装 | React/Vue/Angular、アクセシビリティ |
|
|
679
|
+
| Backend Developer | バック実装 | API実装、データベース連携 |
|
|
680
|
+
| DevOps Engineer | インフラ | CI/CD、Docker、Kubernetes |
|
|
681
|
+
|
|
682
|
+
### 品質保証フェーズ
|
|
683
|
+
| スキル | 役割 | 主な機能 |
|
|
684
|
+
|--------|------|----------|
|
|
685
|
+
| Test Engineer | テスト設計 | ユニット/統合/E2E、EARS→テスト変換 |
|
|
686
|
+
| Code Reviewer | コードレビュー | ベストプラクティス、セキュリティ |
|
|
687
|
+
| Security Auditor | セキュリティ監査 | OWASP Top 10、脆弱性検出 |
|
|
688
|
+
| Quality Assurance | 品質保証 | テスト戦略、品質メトリクス |
|
|
689
|
+
|
|
690
|
+
### 運用・管理フェーズ
|
|
691
|
+
| スキル | 役割 | 主な機能 |
|
|
692
|
+
|--------|------|----------|
|
|
693
|
+
| Project Manager | プロジェクト管理 | スプリント計画、リスク管理 |
|
|
694
|
+
| Technical Writer | ドキュメント | API文書、ユーザーガイド |
|
|
695
|
+
| Release Coordinator | リリース管理 | バージョン管理、変更ログ |
|
|
696
|
+
| Site Reliability Engineer | SRE | 可観測性、インシデント対応 |
|
|
697
|
+
|
|
698
|
+
## エンタープライズ機能(v5.5.0+)
|
|
699
|
+
|
|
700
|
+
### Large Project Analyzer
|
|
701
|
+
|
|
702
|
+
**何をするか:** 10万ファイル規模の巨大プロジェクトでも、メモリ効率よく分析できます。
|
|
703
|
+
|
|
704
|
+
プロジェクトのサイズに応じて、最適な分析戦略を自動選択します。
|
|
705
|
+
|
|
706
|
+
| プロジェクトサイズ | 戦略 | 説明 |
|
|
707
|
+
|-------------------|------|------|
|
|
708
|
+
| ≤100 ファイル | Batch | 一括分析(最速) |
|
|
709
|
+
| ≤1,000 ファイル | Optimized Batch | 最適化バッチ |
|
|
710
|
+
| ≤10,000 ファイル | Chunked | チャンク分割(メモリ節約) |
|
|
711
|
+
| >10,000 ファイル | Streaming | ストリーミング(2GB以内で処理) |
|
|
712
|
+
|
|
713
|
+
**自然言語での利用:**
|
|
714
|
+
```
|
|
715
|
+
プロジェクト全体を分析して
|
|
716
|
+
巨大関数を検出して
|
|
717
|
+
コードベースの統計を出して
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
### Complexity Analyzer
|
|
721
|
+
|
|
722
|
+
**何をするか:** コードの複雑さを数値化し、リファクタリングが必要な箇所を特定します。
|
|
723
|
+
|
|
724
|
+
| 指標 | 説明 | 基準値 |
|
|
725
|
+
|------|------|--------|
|
|
726
|
+
| **循環的複雑度** | 条件分岐の数(if/switch/loop等) | 10以下が理想 |
|
|
727
|
+
| **認知的複雑度** | 人間が理解するのにかかる負荷 | 15以下が理想 |
|
|
728
|
+
|
|
729
|
+
**検出結果の例:**
|
|
730
|
+
| 重要度 | 状態 | 推奨アクション |
|
|
731
|
+
|--------|------|----------------|
|
|
732
|
+
| 🟢 OK | 複雑度 ≤10 | そのまま維持 |
|
|
733
|
+
| 🟡 Warning | 複雑度 11-20 | リファクタリング検討 |
|
|
734
|
+
| 🔴 Critical | 複雑度 >20 | 関数分割を強く推奨 |
|
|
735
|
+
|
|
736
|
+
**自然言語での利用:**
|
|
737
|
+
```
|
|
738
|
+
コードの複雑さを分析して
|
|
739
|
+
リファクタリングが必要な関数を見つけて
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
### Rust Migration Generator
|
|
743
|
+
|
|
744
|
+
**何をするか:** C/C++コードをRustに移行する際に、危険なパターンを自動検出し、安全な移行を支援します。
|
|
745
|
+
|
|
746
|
+
| 検出パターン | リスク | Rustでの代替 |
|
|
747
|
+
|-------------|--------|--------------|
|
|
748
|
+
| `malloc/free/realloc` | メモリリーク、二重解放 | 所有権システム |
|
|
749
|
+
| `strcpy/strcat/sprintf` | バッファオーバーフロー | `String`、`format!` |
|
|
750
|
+
| ポインタ演算 | 不正メモリアクセス | スライス、イテレータ |
|
|
751
|
+
| `pthread/volatile` | データ競合 | `Arc<Mutex<T>>`、`Atomic` |
|
|
752
|
+
|
|
753
|
+
**自然言語での利用:**
|
|
754
|
+
```
|
|
755
|
+
C言語の危険なパターンを検出して
|
|
756
|
+
Rust移行の準備をして
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
## ガードレールシステム
|
|
760
|
+
|
|
761
|
+
MUSUBIは3層のガードレールで品質を自動保証します。開発者が意識しなくても、危険なコードやデータが本番環境に流出することを防ぎます。
|
|
762
|
+
|
|
763
|
+
### 1. Input Guardrail(入力検証)
|
|
764
|
+
|
|
765
|
+
**何をするか:** ユーザーからの入力やAIへのプロンプトを検証し、危険なデータをブロックします。
|
|
766
|
+
|
|
767
|
+
| 検出対象 | 説明 | 例 |
|
|
768
|
+
|----------|------|------|
|
|
769
|
+
| **PII(個人情報)** | 氏名、住所、電話番号、メールアドレス等 | `田中太郎 090-1234-5678` |
|
|
770
|
+
| **SQLインジェクション** | データベースを攻撃する悪意あるコード | `'; DROP TABLE users;--` |
|
|
771
|
+
| **XSS攻撃** | Webページを改ざんするスクリプト | `<script>alert('hack')</script>` |
|
|
772
|
+
| **機密情報** | APIキー、パスワード、トークン | `sk-xxxxx`, `password123` |
|
|
773
|
+
|
|
774
|
+
**自然言語での利用:**
|
|
775
|
+
```
|
|
776
|
+
入力を検証して
|
|
777
|
+
セキュリティチェックして
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
### 2. Output Guardrail(出力検証)
|
|
781
|
+
|
|
782
|
+
**何をするか:** AIが生成したコードや出力から、機密情報を自動的にマスク(隠蔽)します。
|
|
783
|
+
|
|
784
|
+
| マスク対象 | 変換前 | 変換後 |
|
|
785
|
+
|-----------|--------|--------|
|
|
786
|
+
| APIキー | `OPENAI_API_KEY=sk-abc123...` | `OPENAI_API_KEY=***REDACTED***` |
|
|
787
|
+
| パスワード | `password: "secret123"` | `password: "***REDACTED***"` |
|
|
788
|
+
| 接続文字列 | `mongodb://user:pass@host` | `mongodb://***REDACTED***` |
|
|
789
|
+
| 個人情報 | `email: "taro@example.com"` | `email: "***REDACTED***"` |
|
|
790
|
+
|
|
791
|
+
これにより、ログやドキュメントに機密情報が漏れることを防ぎます。
|
|
792
|
+
|
|
793
|
+
### 3. Constitutional Guardrail(憲法準拠)
|
|
794
|
+
|
|
795
|
+
**何をするか:** 生成されたコードがプロジェクトの「憲法」(9つの品質ルール)に違反していないかを自動検証します。
|
|
796
|
+
|
|
797
|
+
| 条項 | 内容 | 検証方法 |
|
|
798
|
+
|------|------|----------|
|
|
799
|
+
| 第1条 | 仕様優先 | `[SPEC:xxx]` 参照の確認 |
|
|
800
|
+
| 第2条 | トレーサビリティ | `[TRACE:xxx]` リンクの確認 |
|
|
801
|
+
| 第3条 | EARS準拠 | 要件形式の検証 |
|
|
802
|
+
| 第4条 | 変更追跡 | Delta仕様の存在確認 |
|
|
803
|
+
| 第5条 | 品質ゲート | テストカバレッジ確認 |
|
|
804
|
+
| 第6条 | ドキュメント | JSDoc/README確認 |
|
|
805
|
+
| 第7条 | シンプルさ | 過剰抽象化の検出 |
|
|
806
|
+
| 第8条 | ガバナンス | 承認プロセス確認 |
|
|
807
|
+
| 第9条 | 継続的改善 | フィードバックループ確認 |
|
|
808
|
+
|
|
809
|
+
## P-ラベル優先度システム
|
|
810
|
+
|
|
811
|
+
タスクをP-ラベルで優先順位付け:
|
|
812
|
+
|
|
813
|
+
```
|
|
814
|
+
P0 (Critical) → すべてをブロック、即時対応
|
|
815
|
+
P1 (High) → 次に実行、重要タスク
|
|
816
|
+
P2 (Medium) → 通常優先度
|
|
817
|
+
P3 (Low) → バックグラウンド、時間があれば
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
**並列実行の例:**
|
|
821
|
+
|
|
822
|
+
**CLI:**
|
|
823
|
+
```bash
|
|
824
|
+
# P0は即座に実行、P1-P3は優先度順に並列実行
|
|
825
|
+
npx musubi-orchestrate parallel \
|
|
826
|
+
--skills "frontend-developer,backend-developer,test-engineer" \
|
|
827
|
+
--strategy "priority"
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
**自然言語(GitHub Copilotに話しかける):**
|
|
831
|
+
```
|
|
832
|
+
フロントエンド、バックエンド、テストを並列で実行して
|
|
833
|
+
優先度順にタスクを処理して
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
## リアルタイム再計画(Replanning)
|
|
837
|
+
|
|
838
|
+
予期しない問題が発生した場合、MUSUBIは自動的に再計画:
|
|
839
|
+
|
|
840
|
+
```
|
|
841
|
+
Replanning triggered:
|
|
842
|
+
|
|
843
|
+
Original Plan:
|
|
844
|
+
1. ✅ Requirements Analysis
|
|
845
|
+
2. ✅ System Design
|
|
846
|
+
3. ❌ Implementation (blocked: external API not available)
|
|
847
|
+
|
|
848
|
+
Detected Issue:
|
|
849
|
+
- External payment API is under maintenance
|
|
850
|
+
|
|
851
|
+
Alternative Path Generated:
|
|
852
|
+
3a. Mock payment API implementation
|
|
853
|
+
3b. Continue with other features
|
|
854
|
+
3c. Retry payment integration after 2 hours
|
|
855
|
+
|
|
856
|
+
Human Approval Required: Yes/No?
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
## 品質ダッシュボード
|
|
860
|
+
|
|
861
|
+
A-Fグレードで品質を可視化:
|
|
862
|
+
|
|
863
|
+
**CLI:**
|
|
864
|
+
```bash
|
|
865
|
+
npx -p musubi-gui start --port 3000
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
**自然言語(GitHub Copilotに話しかける):**
|
|
869
|
+
```
|
|
870
|
+
品質ダッシュボードを表示して
|
|
871
|
+
プロジェクトの品質をチェックして
|
|
872
|
+
憲法準拠を検証して
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+

|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
## まとめ:なぜMUSUBI + CodeGraph + GitHub Copilotなのか
|
|
879
|
+
|
|
880
|
+
### 従来の開発
|
|
881
|
+
```
|
|
882
|
+
開発者 → (考える) → AI → (コード生成) → 開発者 → (レビュー) → 完成?
|
|
883
|
+
↓
|
|
884
|
+
コンテキスト不足
|
|
885
|
+
品質のばらつき
|
|
886
|
+
トレーサビリティなし
|
|
887
|
+
```
|
|
888
|
+
|
|
889
|
+
### MUSUBI Swarm Coding
|
|
890
|
+
```
|
|
891
|
+
開発者 → MUSUBI → [25スキルのSwarm] → ガードレール → 品質保証済みコード
|
|
892
|
+
↓ ↓ ↓
|
|
893
|
+
CodeGraph 専門家協調 憲法準拠
|
|
894
|
+
(全体像把握) (最適配置) (品質保証)
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
### 選ばれる理由
|
|
898
|
+
|
|
899
|
+
| 理由 | 詳細 |
|
|
900
|
+
|------|------|
|
|
901
|
+
| **圧倒的なテスト品質** | 3,651テスト、128スイート |
|
|
902
|
+
| **エンタープライズ対応** | 10万ファイル、1000万行の実績 |
|
|
903
|
+
| **専門家チーム** | 25スキルによる分業 |
|
|
904
|
+
| **9パターンの協調** | 状況に応じた最適編成 |
|
|
905
|
+
| **完全な追跡** | REQ→Design→Code→Test |
|
|
906
|
+
| **品質保証** | 3層ガードレール + 9憲法条項 |
|
|
907
|
+
| **マルチプラットフォーム** | 13+のAIアシスタント対応 |
|
|
908
|
+
|
|
909
|
+
## リンク
|
|
910
|
+
|
|
911
|
+
- **GitHub**: https://github.com/nahisaho/musubi
|
|
912
|
+
- **npm**: https://www.npmjs.com/package/musubi-sdd
|
|
913
|
+
- **CodeGraph MCP Server**: https://github.com/alohays/codegraph-mcp
|
|
914
|
+
- **Documentation**: https://nahisaho.github.io/musubi
|
|
915
|
+
|
|
916
|
+
---
|
|
917
|
+
|
|
918
|
+
**今すぐ始めましょう:**
|
|
919
|
+
|
|
920
|
+
```bash
|
|
921
|
+
npx musubi-sdd init --copilot
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
**自然言語(インストール後、GitHub Copilotに話しかける):**
|
|
925
|
+
```
|
|
926
|
+
MUSUBIを初期化して
|
|
927
|
+
CodeGraph MCP Index を作成
|
|
928
|
+
Steeringを更新
|
|
929
|
+
```
|
|
930
|
+
|
|
931
|
+
**1人のAIから、チームで働くAIへ。**
|
|
932
|
+
|
|
933
|
+
**MUSUBI v5.6.1** で Swarm Coding を体験してください。
|
|
934
|
+
|
|
935
|
+
---
|
|
936
|
+
|
|
937
|
+
## 付録A:CLIコマンド一覧
|
|
938
|
+
|
|
939
|
+
MUSUBIは21のCLIコマンドを提供しています。すべて`npx`で実行可能です。
|
|
940
|
+
|
|
941
|
+
:::note info
|
|
942
|
+
**コマンドの実行方法**
|
|
943
|
+
|
|
944
|
+
MUSUBIのコマンドは`musubi-sdd`パッケージに含まれています。
|
|
945
|
+
|
|
946
|
+
```bash
|
|
947
|
+
# 方法1: -p オプションでパッケージを指定(推奨)
|
|
948
|
+
npx -p musubi-sdd musubi-gui start --port 3000
|
|
949
|
+
npx -p musubi-sdd musubi-analyze --codegraph-full
|
|
950
|
+
|
|
951
|
+
# 方法2: グローバルインストール後に直接実行
|
|
952
|
+
npm install -g musubi-sdd
|
|
953
|
+
musubi-gui start --port 3000
|
|
954
|
+
```
|
|
955
|
+
|
|
956
|
+
以下のコマンド例では簡略化のため `npx musubi-xxx` と表記していますが、
|
|
957
|
+
実際には `npx -p musubi-sdd musubi-xxx` または グローバルインストール後の `musubi-xxx` で実行してください。
|
|
958
|
+
:::
|
|
959
|
+
|
|
960
|
+
### 初期化・セットアップ
|
|
961
|
+
|
|
962
|
+
| コマンド | 説明 |
|
|
963
|
+
|---------|------|
|
|
964
|
+
| `npx musubi-sdd init` | プロジェクト初期化 |
|
|
965
|
+
| `npx musubi-onboard` | 既存プロジェクトの解析・Steering生成 |
|
|
966
|
+
| `npx musubi-sync` | Steeringドキュメントの同期 |
|
|
967
|
+
|
|
968
|
+
**musubi-sdd init オプション:**
|
|
969
|
+
- `--copilot` / `--github-copilot` - GitHub Copilot用
|
|
970
|
+
- `--claude` / `--claude-code` - Claude Code用(デフォルト)
|
|
971
|
+
- `--cursor` - Cursor IDE用
|
|
972
|
+
- `--gemini` / `--gemini-cli` - Gemini CLI用
|
|
973
|
+
- `--codex` / `--codex-cli` - Codex CLI用
|
|
974
|
+
- `--qwen` / `--qwen-code` - Qwen Code用
|
|
975
|
+
- `--windsurf` - Windsurf IDE用
|
|
976
|
+
|
|
977
|
+
### SDDワークフロー
|
|
978
|
+
|
|
979
|
+
| コマンド | 説明 |
|
|
980
|
+
|---------|------|
|
|
981
|
+
| `npx musubi-requirements` | EARS形式の要件定義 |
|
|
982
|
+
| `npx musubi-design` | C4モデル + ADR設計 |
|
|
983
|
+
| `npx musubi-tasks` | タスク分解(P0-P3優先度) |
|
|
984
|
+
| `npx musubi-workflow` | ワークフロー管理 |
|
|
985
|
+
|
|
986
|
+
**musubi-requirements サブコマンド:**
|
|
987
|
+
- `init <feature>` - 機能の要件ドキュメント初期化
|
|
988
|
+
- `add` - EARS形式で要件を追加(インタラクティブ)
|
|
989
|
+
- `list` - 全要件を一覧表示
|
|
990
|
+
- `validate` - EARS形式への準拠を検証
|
|
991
|
+
- `metrics` - 要件の品質メトリクス計算
|
|
992
|
+
- `trace` - トレーサビリティマトリクス表示
|
|
993
|
+
|
|
994
|
+
**musubi-design サブコマンド:**
|
|
995
|
+
- `init <feature>` - 設計ドキュメント初期化
|
|
996
|
+
- `add-c4 <level>` - C4モデル追加(context/container/component/code)
|
|
997
|
+
- `add-adr <decision>` - ADR(Architecture Decision Record)追加
|
|
998
|
+
- `validate` - 設計ドキュメントの完全性検証
|
|
999
|
+
- `trace` - 要件から設計へのトレース
|
|
1000
|
+
|
|
1001
|
+
**musubi-tasks サブコマンド:**
|
|
1002
|
+
- `init <feature>` - 設計からタスク分解ドキュメント生成
|
|
1003
|
+
- `add <title>` - 新規タスク追加(インタラクティブ)
|
|
1004
|
+
- `list` - 全タスク一覧
|
|
1005
|
+
- `update <id> <status>` - タスクステータス更新
|
|
1006
|
+
- `validate` - タスク分解の完全性検証
|
|
1007
|
+
- `graph` - タスク依存関係グラフ生成
|
|
1008
|
+
|
|
1009
|
+
**musubi-workflow サブコマンド:**
|
|
1010
|
+
- `init <feature>` - 新機能のワークフロー初期化
|
|
1011
|
+
- `status` - 現在のワークフロー状態表示
|
|
1012
|
+
- `next [stage]` - 次のステージへ遷移
|
|
1013
|
+
- `feedback <from> <to>` - フィードバックループ記録
|
|
1014
|
+
- `complete` - ワークフロー完了
|
|
1015
|
+
- `history` - ワークフロー履歴表示
|
|
1016
|
+
- `metrics` - ワークフローメトリクス表示
|
|
1017
|
+
|
|
1018
|
+
### 分析・検証
|
|
1019
|
+
|
|
1020
|
+
| コマンド | 説明 |
|
|
1021
|
+
|---------|------|
|
|
1022
|
+
| `npx musubi-analyze` | コード品質分析 |
|
|
1023
|
+
| `npx musubi-validate` | 憲法9条項への準拠検証 |
|
|
1024
|
+
| `npx musubi-trace` | 要件→コード→テストのトレーサビリティ |
|
|
1025
|
+
| `npx musubi-gaps` | 仕様と実装のギャップ検出 |
|
|
1026
|
+
|
|
1027
|
+
**musubi-analyze オプション:**
|
|
1028
|
+
- `-t, --type <type>` - 分析タイプ(quality/dependencies/security/stuck/codegraph/all)
|
|
1029
|
+
- `--codegraph` - CodeGraph MCPインデックス更新
|
|
1030
|
+
- `--codegraph-full` - フルCodeGraphインデックス(非増分)
|
|
1031
|
+
- `--detect-stuck` - スタックパターン検出(反復エラー、循環編集)
|
|
1032
|
+
- `--threshold <level>` - 品質閾値(low/medium/high)
|
|
1033
|
+
|
|
1034
|
+
**musubi-validate サブコマンド:**
|
|
1035
|
+
- `constitution` - 全9条項を検証
|
|
1036
|
+
- `article <number>` - 特定条項(1-9)を検証
|
|
1037
|
+
- `gates` - Phase -1 Gates検証(シンプリシティ、アンチ抽象化)
|
|
1038
|
+
- `complexity` - 複雑度制限検証(モジュール≤1500行、関数≤50行)
|
|
1039
|
+
- `guardrails [content]` - 入出力ガードレール検証
|
|
1040
|
+
- `guardrails-chain [content]` - ガードレールチェーン実行
|
|
1041
|
+
- `score` - 憲法準拠スコア計算(0-100)
|
|
1042
|
+
- `all` - 全検証実行
|
|
1043
|
+
|
|
1044
|
+
**musubi-trace サブコマンド:**
|
|
1045
|
+
- `matrix` - フルトレーサビリティマトリクス生成
|
|
1046
|
+
- `coverage` - 要件カバレッジ統計計算
|
|
1047
|
+
- `gaps` - 孤立した要件・設計・タスク・未テストコード検出
|
|
1048
|
+
- `requirement <id>` - 特定要件の設計・タスク・コード・テストへのトレース
|
|
1049
|
+
- `validate` - 100%トレーサビリティカバレッジ検証(憲法第5条)
|
|
1050
|
+
- `bidirectional` - 双方向トレーサビリティ分析
|
|
1051
|
+
- `impact <requirementId>` - 要件変更の影響分析
|
|
1052
|
+
- `ci-check` - CI/CDパイプライン用検証(終了コード返却)
|
|
1053
|
+
- `html-report` - インタラクティブHTMLレポート生成
|
|
1054
|
+
|
|
1055
|
+
**musubi-gaps サブコマンド:**
|
|
1056
|
+
- `detect` - 全ギャップ検出(要件・コード・テスト)
|
|
1057
|
+
- `requirements` - 孤立要件検出(設計・コードなし)
|
|
1058
|
+
- `code` - 未テストコード検出
|
|
1059
|
+
- `coverage` - カバレッジ統計計算
|
|
1060
|
+
|
|
1061
|
+
### オーケストレーション
|
|
1062
|
+
|
|
1063
|
+
| コマンド | 説明 |
|
|
1064
|
+
|---------|------|
|
|
1065
|
+
| `npx musubi-orchestrate` | マルチスキルオーケストレーション |
|
|
1066
|
+
|
|
1067
|
+
**musubi-orchestrate サブコマンド:**
|
|
1068
|
+
- `run <pattern>` - オーケストレーションパターン実行
|
|
1069
|
+
- `auto <task>` - タスクに最適なスキルを自動選択・実行
|
|
1070
|
+
- `sequential` - スキルを順次実行
|
|
1071
|
+
- `list-patterns` - 利用可能なパターン一覧
|
|
1072
|
+
- `list-skills` - 利用可能なスキル一覧
|
|
1073
|
+
- `goal <action>` - ゴール駆動型再計画のゴール管理
|
|
1074
|
+
- `replan` - 再計画分析トリガー
|
|
1075
|
+
- `modify-goal` - 制約に基づくゴール適応変更
|
|
1076
|
+
- `optimize-path` - 実行パス分析・最適化
|
|
1077
|
+
- `status` - オーケストレーションエンジン状態表示
|
|
1078
|
+
- `handoff` - ハンドオフパターン実行(他エージェントへ委譲)
|
|
1079
|
+
- `triage` - トリアージパターン実行(リクエスト分類・ルーティング)
|
|
1080
|
+
- `triage-categories` - トリアージカテゴリ一覧
|
|
1081
|
+
|
|
1082
|
+
### 変更管理
|
|
1083
|
+
|
|
1084
|
+
| コマンド | 説明 |
|
|
1085
|
+
|---------|------|
|
|
1086
|
+
| `npx musubi-change` | 変更提案(Delta仕様)管理 |
|
|
1087
|
+
| `npx musubi-checkpoint` | 開発状態のチェックポイント管理 |
|
|
1088
|
+
|
|
1089
|
+
**musubi-change サブコマンド:**
|
|
1090
|
+
- `init <change-id>` - 新規変更提案作成(Delta仕様付き)
|
|
1091
|
+
- `apply <change-id>` - 変更提案をコードベースに適用
|
|
1092
|
+
- `archive <change-id>` - 完了した変更をspecs/にアーカイブ
|
|
1093
|
+
- `list` - 全変更提案一覧
|
|
1094
|
+
- `validate <change-id>` - Delta仕様形式検証
|
|
1095
|
+
- `show <change-id>` - 変更の詳細情報表示
|
|
1096
|
+
- `impact <change-id>` - 変更の影響分析詳細表示
|
|
1097
|
+
- `approve <change-id>` - 変更提案を承認
|
|
1098
|
+
- `reject <change-id>` - 変更提案を却下
|
|
1099
|
+
- `create` - インタラクティブにDelta仕様作成
|
|
1100
|
+
- `diff <change-id>` - Before/Afterの差分表示
|
|
1101
|
+
- `status` - 全変更のステータスサマリー
|
|
1102
|
+
|
|
1103
|
+
**musubi-checkpoint サブコマンド:**
|
|
1104
|
+
- `create` / `save` - 新規チェックポイント作成
|
|
1105
|
+
- `list` / `ls` - 全チェックポイント一覧
|
|
1106
|
+
- `show <id>` - チェックポイント詳細表示
|
|
1107
|
+
- `restore <id>` - チェックポイントを復元
|
|
1108
|
+
- `delete` / `rm <id>` - チェックポイント削除
|
|
1109
|
+
- `archive <id>` - チェックポイントをアーカイブ
|
|
1110
|
+
- `compare` / `diff <id1> <id2>` - 2つのチェックポイントを比較
|
|
1111
|
+
- `tag <id> <tags...>` - タグを追加
|
|
1112
|
+
- `current` - 現在のチェックポイント表示
|
|
1113
|
+
|
|
1114
|
+
### メモリ・共有
|
|
1115
|
+
|
|
1116
|
+
| コマンド | 説明 |
|
|
1117
|
+
|---------|------|
|
|
1118
|
+
| `npx musubi-remember` | エージェントメモリ管理 |
|
|
1119
|
+
| `npx musubi-share` | チーム間メモリ共有 |
|
|
1120
|
+
|
|
1121
|
+
**musubi-remember サブコマンド:**
|
|
1122
|
+
- `add <memory>` - 新規メモリエントリ追加
|
|
1123
|
+
- `list` - 全メモリ一覧
|
|
1124
|
+
- `condense` - メモリバンクを凝縮・要約
|
|
1125
|
+
- `search <query>` - キーワードでメモリ検索
|
|
1126
|
+
- `clear` - 全メモリをクリア
|
|
1127
|
+
|
|
1128
|
+
**musubi-share サブコマンド:**
|
|
1129
|
+
- `export` - プロジェクトメモリを共有可能形式でエクスポート
|
|
1130
|
+
- `import <file>` - ファイルからメモリをインポート・マージ
|
|
1131
|
+
- `sync` - AIプラットフォーム間でメモリ同期
|
|
1132
|
+
- `status` - 共有状態表示
|
|
1133
|
+
|
|
1134
|
+
### ユーティリティ
|
|
1135
|
+
|
|
1136
|
+
| コマンド | 説明 |
|
|
1137
|
+
|---------|------|
|
|
1138
|
+
| `npx musubi-gui` | Webダッシュボード |
|
|
1139
|
+
| `npx musubi-browser` | ブラウザ自動化(自然言語) |
|
|
1140
|
+
| `npx musubi-resolve` | GitHub Issue自動解決 |
|
|
1141
|
+
| `npx musubi-convert` | Spec Kit形式との変換 |
|
|
1142
|
+
| `npx musubi-costs` | LLM APIコスト追跡 |
|
|
1143
|
+
|
|
1144
|
+
**musubi-gui サブコマンド:**
|
|
1145
|
+
- `start` - Webサーバー起動(`--port <port>`でポート指定)
|
|
1146
|
+
- `build` - フロントエンドを本番用ビルド
|
|
1147
|
+
- `dev` - 開発モード起動(ホットリロード)
|
|
1148
|
+
- `status` - プロジェクト状態サマリー表示
|
|
1149
|
+
- `matrix` - トレーサビリティマトリクス表示
|
|
1150
|
+
|
|
1151
|
+
**musubi-browser サブコマンド:**
|
|
1152
|
+
- `interactive` / `i` - インタラクティブブラウザ自動化セッション開始
|
|
1153
|
+
- `run <command>` - 単一の自然言語コマンド実行
|
|
1154
|
+
- `script <file>` - スクリプトファイルからコマンド実行
|
|
1155
|
+
- `compare <expected> <actual>` - AIでスクリーンショット比較
|
|
1156
|
+
- `generate-test` - アクション履歴からPlaywrightテスト生成
|
|
1157
|
+
|
|
1158
|
+
**musubi-resolve オプション:**
|
|
1159
|
+
- `<issue-number>` - 解決するGitHub Issue番号
|
|
1160
|
+
- `-u, --url <url>` - GitHub Issue URL
|
|
1161
|
+
- `--dry-run` - PRを作成せずに解決をプレビュー
|
|
1162
|
+
- `--branch <name>` - カスタムブランチ名
|
|
1163
|
+
- `list` - リポジトリの最近のOpen Issue一覧
|
|
1164
|
+
|
|
1165
|
+
**musubi-convert サブコマンド:**
|
|
1166
|
+
- `from-speckit <path>` - Spec KitプロジェクトをMUSUBI形式に変換
|
|
1167
|
+
- `to-speckit` - 現在のMUSUBIプロジェクトをSpec Kit形式に変換
|
|
1168
|
+
- `validate <format> [path]` - プロジェクト形式検証(speckit/musubi)
|
|
1169
|
+
- `from-openapi <specPath>` - OpenAPI/Swagger仕様をMUSUBI要件に変換
|
|
1170
|
+
- `roundtrip <path>` - ラウンドトリップ変換テスト(A → B → A')
|
|
1171
|
+
|
|
1172
|
+
**musubi-costs サブコマンド:**
|
|
1173
|
+
- `summary` / `show` - 現在のセッション・期間コスト表示
|
|
1174
|
+
- `report` - 詳細コストレポート生成(`--period`で期間指定)
|
|
1175
|
+
- `budget set <$>` - 予算上限設定
|
|
1176
|
+
- `budget status` - 予算使用状況表示
|
|
1177
|
+
- `budget clear` - 予算上限削除
|
|
1178
|
+
- `pricing [model]` - モデル料金表示
|
|
1179
|
+
- `history [n]` - 直近n件のセッション履歴表示
|
|
1180
|
+
- `export` - データをJSON出力
|
|
1181
|
+
|
|
1182
|
+
---
|
|
1183
|
+
|
|
1184
|
+
## 付録B:自然言語コマンド一覧
|
|
1185
|
+
|
|
1186
|
+
MUSUBIでは、CLIコマンドを覚えなくても、GitHub Copilotに自然言語で話しかけるだけで操作できます。
|
|
1187
|
+
|
|
1188
|
+
### セットアップ・初期化
|
|
1189
|
+
|
|
1190
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1191
|
+
|-------------|-----------------|----------------|
|
|
1192
|
+
| プロジェクト初期化 | `MUSUBIを初期化して` | `npx musubi-sdd init --copilot` |
|
|
1193
|
+
| | `プロジェクトをセットアップして` | |
|
|
1194
|
+
| | `SDDを始めて` | |
|
|
1195
|
+
|
|
1196
|
+
### CodeGraph操作
|
|
1197
|
+
|
|
1198
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1199
|
+
|-------------|-----------------|----------------|
|
|
1200
|
+
| インデックス作成 | `CodeGraph MCP Index を作成` | `npx musubi-analyze --codegraph-full` |
|
|
1201
|
+
| | `コードグラフを構築して` | |
|
|
1202
|
+
| | `プロジェクトを解析して` | |
|
|
1203
|
+
| インデックス更新 | `CodeGraph MCP Index を更新` | - |
|
|
1204
|
+
| | `コードグラフを再構築して` | |
|
|
1205
|
+
|
|
1206
|
+
### Steering(プロジェクトメモリ)
|
|
1207
|
+
|
|
1208
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1209
|
+
|-------------|-----------------|----------------|
|
|
1210
|
+
| メモリ同期 | `Steeringを更新` | `npx musubi-sync` |
|
|
1211
|
+
| | `プロジェクトメモリを同期して` | |
|
|
1212
|
+
| メモリ確認 | `Steeringを確認して` | - |
|
|
1213
|
+
| | `プロジェクトの設定を見せて` | |
|
|
1214
|
+
|
|
1215
|
+
### 要件・設計
|
|
1216
|
+
|
|
1217
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1218
|
+
|-------------|-----------------|----------------|
|
|
1219
|
+
| 要件定義 | `認証機能の要件を定義して` | `npx musubi-requirements auth` |
|
|
1220
|
+
| | `#sdd-requirements auth` | |
|
|
1221
|
+
| 設計作成 | `認証機能を設計して` | `npx musubi-design auth` |
|
|
1222
|
+
| | `#sdd-design auth` | |
|
|
1223
|
+
| タスク分解 | `認証機能のタスクを洗い出して` | `npx musubi-tasks auth` |
|
|
1224
|
+
| | `#sdd-tasks auth` | |
|
|
1225
|
+
|
|
1226
|
+
### 実装・開発
|
|
1227
|
+
|
|
1228
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1229
|
+
|-------------|-----------------|----------------|
|
|
1230
|
+
| 機能実装 | `認証機能を実装して` | `npx musubi-workflow implement auth` |
|
|
1231
|
+
| | `#sdd-implement auth` | |
|
|
1232
|
+
| 並列実行 | `フロントとバックを同時に開発して` | `npx musubi-orchestrate parallel` |
|
|
1233
|
+
| | `並列で実装して` | |
|
|
1234
|
+
|
|
1235
|
+
### 分析・検証
|
|
1236
|
+
|
|
1237
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1238
|
+
|-------------|-----------------|----------------|
|
|
1239
|
+
| コード分析 | `プロジェクト全体を分析して` | `npx musubi-analyze` |
|
|
1240
|
+
| | `コードベースの統計を出して` | |
|
|
1241
|
+
| 複雑度分析 | `コードの複雑さを分析して` | - |
|
|
1242
|
+
| | `リファクタリングが必要な関数を見つけて` | |
|
|
1243
|
+
| 巨大関数検出 | `巨大関数を検出して` | - |
|
|
1244
|
+
| | `長すぎる関数を探して` | |
|
|
1245
|
+
|
|
1246
|
+
### 品質・検証
|
|
1247
|
+
|
|
1248
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1249
|
+
|-------------|-----------------|----------------|
|
|
1250
|
+
| 品質確認 | `品質ダッシュボードを表示して` | `npx musubi-gui start --port 3000` |
|
|
1251
|
+
| | `プロジェクトの品質をチェックして` | |
|
|
1252
|
+
| 憲法検証 | `憲法準拠を検証して` | `npx musubi-validate` |
|
|
1253
|
+
| | `ルール違反がないか確認して` | |
|
|
1254
|
+
| トレース確認 | `トレーサビリティを確認して` | `npx musubi-trace` |
|
|
1255
|
+
| | `要件から実装への追跡を見せて` | |
|
|
1256
|
+
|
|
1257
|
+
### セキュリティ
|
|
1258
|
+
|
|
1259
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1260
|
+
|-------------|-----------------|----------------|
|
|
1261
|
+
| 入力検証 | `入力を検証して` | - |
|
|
1262
|
+
| | `セキュリティチェックして` | |
|
|
1263
|
+
| 危険パターン検出 | `C言語の危険なパターンを検出して` | - |
|
|
1264
|
+
| | `Rust移行の準備をして` | |
|
|
1265
|
+
|
|
1266
|
+
### その他
|
|
1267
|
+
|
|
1268
|
+
| やりたいこと | 自然言語での命令 | 対応CLIコマンド |
|
|
1269
|
+
|-------------|-----------------|----------------|
|
|
1270
|
+
| ギャップ分析 | `仕様と実装のギャップを見つけて` | `npx musubi-gaps` |
|
|
1271
|
+
| 変更管理 | `変更履歴を見せて` | `npx musubi-change` |
|
|
1272
|
+
| オンボーディング | `プロジェクトの概要を教えて` | `npx musubi-onboard` |
|
|
1273
|
+
|
|
1274
|
+
---
|
|
1275
|
+
|
|
1276
|
+
:::note warn
|
|
1277
|
+
**ヒント:自然言語命令のコツ**
|
|
1278
|
+
- 具体的な機能名を含める(例:「認証機能を...」「ログイン画面を...」)
|
|
1279
|
+
- 動詞で終わる(例:「〜して」「〜を作成」「〜を確認」)
|
|
1280
|
+
- 迷ったら「〜を手伝って」「〜について教えて」でOK
|
|
1281
|
+
:::
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|