musubix2 0.4.3 → 0.5.0
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/.claude/.musubix-managed +1 -1
- package/.claude/skills/orchestrator/SKILL.md +36 -147
- package/.claude/skills/requirements-analyst/SKILL.md +33 -40
- package/.github/skills/orchestrator/SKILL.md +36 -147
- package/.github/skills/requirements-analyst/SKILL.md +33 -40
- package/dist/assets/skills-manifest.json +166 -0
- package/dist/cli.js +301 -218
- package/dist/index.js +10323 -6656
- package/package.json +2 -4
- package/dist/infrastructure/workspace/workspace-root-resolver.d.ts +0 -8
- package/dist/infrastructure/workspace/workspace-root-resolver.d.ts.map +0 -1
- package/dist/infrastructure/workspace/workspace-root-resolver.js +0 -10
- package/dist/infrastructure/workspace/workspace-root-resolver.js.map +0 -1
- package/dist/interface/cli/postinstall-bootstrap.d.ts +0 -9
- package/dist/interface/cli/postinstall-bootstrap.d.ts.map +0 -1
- package/dist/interface/cli/postinstall-bootstrap.js +0 -51
- package/dist/interface/cli/postinstall-bootstrap.js.map +0 -1
- package/postinstall.cjs +0 -9
package/.claude/.musubix-managed
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generator":"musubix2","version":"0.
|
|
1
|
+
{"generator":"musubix2","version":"0.5.0","timestamp":"2026-07-09T07:25:14.091Z"}
|
|
@@ -7,7 +7,7 @@ description: >
|
|
|
7
7
|
running the full SDD workflow, invoking neurosymbolic capabilities,
|
|
8
8
|
or serving tools via MCP protocol.
|
|
9
9
|
license: MIT
|
|
10
|
-
version: "3.0.
|
|
10
|
+
version: "3.0.1"
|
|
11
11
|
triggers:
|
|
12
12
|
- ワークフロー
|
|
13
13
|
- フェーズ遷移
|
|
@@ -129,51 +129,10 @@ SDD(Specification Driven Development)ワークフローのルーティング
|
|
|
129
129
|
| ADR・アーキテクチャ決定を記録する | → `@musubix2/decisions` |
|
|
130
130
|
| ドメイン分類・ドリフト分析する | → `@musubix2/assistant-axis` |
|
|
131
131
|
| Git 履歴から知識を抽出する | → `@musubix2/git-knowledge` |
|
|
132
|
-
| MCP
|
|
133
|
-
| MCP プロンプト・リソースを取得する | → `@musubix2/mcp-server` |
|
|
132
|
+
| MCP ツール呼出・プロンプト・リソース取得する | → `@musubix2/mcp-server` |
|
|
134
133
|
| 多言語 AST 解析する(Python/Java/Go/Rust 等) | → `@musubix2/codegraph` (MultiLanguageParser) |
|
|
135
134
|
| SDD ワークフロー全体を実行する | → `orchestrator`(Phase 遷移ルール参照) |
|
|
136
135
|
|
|
137
|
-
### タスク分類ツリー
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
ユーザー入力
|
|
141
|
-
├── 仕様関連?
|
|
142
|
-
│ ├── 要件? → requirements-analyst
|
|
143
|
-
│ ├── 要件ヒアリング(情報不足)? → requirements-analyst (1問1答 Interview)
|
|
144
|
-
│ └── 設計? → design-generator
|
|
145
|
-
├── 実装関連?
|
|
146
|
-
│ ├── コード生成? → code-generator
|
|
147
|
-
│ ├── テスト? → test-engineer
|
|
148
|
-
│ └── プログラム合成? → @musubix2/synthesis
|
|
149
|
-
├── 品質関連?
|
|
150
|
-
│ ├── トレーサビリティ? → traceability-auditor
|
|
151
|
-
│ ├── ポリシー? → constitution-enforcer
|
|
152
|
-
│ ├── レビュー / 合意チェック? → review-orchestrator
|
|
153
|
-
│ ├── 形式検証 (SMT/Z3)? → @musubix2/formal-verify
|
|
154
|
-
│ └── 定理証明 (Lean 4)? → @musubix2/lean
|
|
155
|
-
├── 分析関連?
|
|
156
|
-
│ ├── AST / コードグラフ? → @musubix2/codegraph
|
|
157
|
-
│ ├── データフロー / CFG? → @musubix2/dfg
|
|
158
|
-
│ ├── セキュリティ? → @musubix2/security
|
|
159
|
-
│ └── ドメイン分類? → @musubix2/assistant-axis
|
|
160
|
-
├── 知識関連?
|
|
161
|
-
│ ├── 知識グラフ? → @musubix2/knowledge
|
|
162
|
-
│ ├── Git 履歴知識抽出? → @musubix2/git-knowledge
|
|
163
|
-
│ ├── オントロジー / 推論? → @musubix2/ontology-mcp
|
|
164
|
-
│ ├── リサーチ / 調査? → @musubix2/deep-research
|
|
165
|
-
│ └── ADR / 決定記録? → @musubix2/decisions
|
|
166
|
-
├── 学習関連?
|
|
167
|
-
│ ├── ニューラル検索? → @musubix2/neural-search
|
|
168
|
-
│ ├── パターン学習? → @musubix2/library-learner
|
|
169
|
-
│ └── Wake-Sleep サイクル? → @musubix2/wake-sleep
|
|
170
|
-
├── MCP 関連?
|
|
171
|
-
│ ├── ツール呼出・一覧? → @musubix2/mcp-server (MCPToolRegistry)
|
|
172
|
-
│ ├── プロンプトテンプレート? → @musubix2/mcp-server (PromptRegistry)
|
|
173
|
-
│ └── リソース取得? → @musubix2/mcp-server (ResourceRegistry)
|
|
174
|
-
└── ワークフロー? → orchestrator(Phase 遷移ルール)
|
|
175
|
-
```
|
|
176
|
-
|
|
177
136
|
## Phase 遷移ルール
|
|
178
137
|
|
|
179
138
|
```
|
|
@@ -293,32 +252,40 @@ SDD ワークフローの各フェーズでニューロシンボリック機能
|
|
|
293
252
|
|
|
294
253
|
### ニューラル側(学習・検索・パターン認識)
|
|
295
254
|
|
|
296
|
-
| パッケージ |
|
|
297
|
-
|
|
298
|
-
| `neural-search` | TF-IDF 埋込み + コサイン類似度検索
|
|
299
|
-
| `wake-sleep` | N-gram + PMI
|
|
300
|
-
| `library-learner` | E-graph 等価クラス + 構造類似性マージ
|
|
301
|
-
| `deep-research` | 反復リサーチ + 証拠チェーン
|
|
255
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
256
|
+
|-----------|-----------|------------------------|
|
|
257
|
+
| `neural-search` | `TfIdfEmbeddingModel`, `NeuralSearchEngine` | TF-IDF 埋込み + コサイン類似度検索 — 類似要件検索、既存設計の参照、コード重複検出 |
|
|
258
|
+
| `wake-sleep` | `WakePhase`, `SleepPhase`, `CycleManager` | N-gram + PMI 統計パターン抽出 — コードパターンの自動学習、設計パターン発見 |
|
|
259
|
+
| `library-learner` | `EGraphEngine`, `LibraryLearner` | E-graph 等価クラス + 構造類似性マージ — ライブラリ抽象化の発見、リファクタリング候補 |
|
|
260
|
+
| `deep-research` | `ResearchEngine`, `DepthFirstStrategy`, `BreadthFirstStrategy` | 反復リサーチ + 証拠チェーン — 技術調査、ベストプラクティス収集 |
|
|
302
261
|
|
|
303
262
|
### シンボリック側(論理・検証・推論)
|
|
304
263
|
|
|
305
|
-
| パッケージ |
|
|
306
|
-
|
|
307
|
-
| `formal-verify` | EARS → SMT-LIB2
|
|
308
|
-
| `lean` | Lean 4 定理変換 + 証明実行
|
|
309
|
-
| `codegraph` |
|
|
310
|
-
| `dfg` | DFG/CFG 構築 + 到達定義
|
|
311
|
-
| `ontology-mcp` | N3 トリプルストア +
|
|
312
|
-
| `knowledge` |
|
|
313
|
-
| `git-knowledge` | Git log/blame
|
|
314
|
-
|
|
315
|
-
###
|
|
316
|
-
|
|
317
|
-
| パッケージ |
|
|
318
|
-
|
|
319
|
-
| `synthesis` |
|
|
320
|
-
| `
|
|
321
|
-
| `
|
|
264
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
265
|
+
|-----------|-----------|------------------------|
|
|
266
|
+
| `formal-verify` | `EarsToSmtConverter`, `Z3Adapter`, `PreconditionVerifier` | EARS → SMT-LIB2 変換 + Z3 検証 — 要件の形式的一貫性検証、矛盾検出 |
|
|
267
|
+
| `lean` | `LeanProofRunner`, `EarsToLeanConverter`, `HybridVerifier` | Lean 4 定理変換 + 証明実行 — 安全性要件の定理証明、ハイブリッド検証 |
|
|
268
|
+
| `codegraph` | `ASTParser`, `MultiLanguageParser`, `GraphEngine`, `GraphRAGSearch` | 多言語 AST 解析(6言語)+ GraphRAG — コード構造分析、影響範囲分析 |
|
|
269
|
+
| `dfg` | `DataFlowAnalyzer` | DFG/CFG 構築 + 到達定義 — データフロー分析、セキュリティ汚染解析 |
|
|
270
|
+
| `ontology-mcp` | `N3Store`, `RuleEngine`, `ConsistencyValidator` | N3 トリプルストア + 推論 — ドメインモデル推論、制約検証 |
|
|
271
|
+
| `knowledge` | `FileKnowledgeStore` | エンティティ関係グラフ — プロジェクト知識管理、関係探索 |
|
|
272
|
+
| `git-knowledge` | `GitLogParser`, `GitKnowledgeBuilder` | Git log/blame + 共変更分析 — Git 履歴からの知識自動抽出 |
|
|
273
|
+
|
|
274
|
+
### 統合・制御側(合成・変換・ワークフロー)
|
|
275
|
+
|
|
276
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
277
|
+
|-----------|-----------|------------------------|
|
|
278
|
+
| `synthesis` | `DSLBuilder`, `SynthesisEngine`, `VersionSpaceManager` | DSL ビルダー(16変換)— コード変換自動化、例示プログラミング |
|
|
279
|
+
| `security` | `SecurityScanner`, `TaintAnalyzer` | 脆弱性スキャン、汚染解析 |
|
|
280
|
+
| `decisions` | `DecisionManager` | ADR 記録・管理 |
|
|
281
|
+
| `assistant-axis` | `DomainClassifier`, `DriftAnalyzer` | ドメイン分類・ドリフト分析 |
|
|
282
|
+
| `pattern-mcp` | — | AST パターン抽出 — パターンカタログ管理 |
|
|
283
|
+
| `sdd-ontology` | — | SDD ドメイン概念 + Turtle 定義 — ワークフロー意味モデル |
|
|
284
|
+
| `workflow-engine` | `PhaseController`, `StateTracker`, `TaskBreakdownManager` | Phase 遷移制御・タスク分解 |
|
|
285
|
+
| `agent-orchestrator` | `SubagentDispatcher`, `ReviewOrchestrator` | サブエージェント振り分け・交互レビュー |
|
|
286
|
+
| `policy` | `PolicyEngine`, `QualityGateRunner` | 憲法検証・品質ゲート実行 |
|
|
287
|
+
| `mcp-server` | `MCPServer`, `MCPToolRegistry`, `StdioTransport`, `SSETransport` | MCP プロトコルでのツール提供 |
|
|
288
|
+
| `skill-manager` | `SkillRegistry`, `SkillManager`, `SkillExecutor` | スキル登録・実行 |
|
|
322
289
|
|
|
323
290
|
### Phase 別ニューロシンボリック活用マップ
|
|
324
291
|
|
|
@@ -381,19 +348,9 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
381
348
|
|
|
382
349
|
## MCP サーバー統合
|
|
383
350
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
クライアント (Claude Code / Copilot / Cursor)
|
|
388
|
-
│
|
|
389
|
-
├── stdio ──→ StdioTransport ──→ MCPServer
|
|
390
|
-
└── HTTP ──→ SSETransport ──→ MCPServer
|
|
391
|
-
│
|
|
392
|
-
┌──────────────────┤
|
|
393
|
-
│ │ │
|
|
394
|
-
MCPToolRegistry PromptRegistry ResourceRegistry
|
|
395
|
-
(61 tools) (4 prompts) (3 resources)
|
|
396
|
-
```
|
|
351
|
+
クライアント(Claude Code / Copilot / Cursor)は stdio(`StdioTransport`)または
|
|
352
|
+
HTTP/SSE(`SSETransport`)経由で `MCPServer` に接続する。
|
|
353
|
+
レジストリは 3 種: `MCPToolRegistry`(61 tools)、`PromptRegistry`(4 prompts)、`ResourceRegistry`(3 resources)。
|
|
397
354
|
|
|
398
355
|
### ツールカテゴリ(13カテゴリ / 61ツール)
|
|
399
356
|
|
|
@@ -430,19 +387,6 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
430
387
|
| `musubix://ears-patterns` | EARS パターンリファレンス |
|
|
431
388
|
| `musubix://workflow-phases` | SDD ワークフローフェーズ定義 |
|
|
432
389
|
|
|
433
|
-
### JSON-RPC メソッド
|
|
434
|
-
|
|
435
|
-
| メソッド | 説明 |
|
|
436
|
-
|---------|------|
|
|
437
|
-
| `initialize` | サーバー情報・ケイパビリティ返却 |
|
|
438
|
-
| `tools/list` | 全ツール一覧 |
|
|
439
|
-
| `tools/call` | ツール実行 |
|
|
440
|
-
| `prompts/list` | プロンプト一覧 |
|
|
441
|
-
| `prompts/get` | プロンプト取得・実行 |
|
|
442
|
-
| `resources/list` | リソース一覧 |
|
|
443
|
-
| `resources/read` | リソース読取 |
|
|
444
|
-
| `ping` | ヘルスチェック |
|
|
445
|
-
|
|
446
390
|
## CLI コマンドマッピング
|
|
447
391
|
|
|
448
392
|
| CLI コマンド | パッケージ | 説明 |
|
|
@@ -476,31 +420,6 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
476
420
|
| `musubix synthesis` | synthesis | プログラム合成 (dsl/fromExamples) |
|
|
477
421
|
| `musubix watch` | core | ファイル監視・自動再検証 |
|
|
478
422
|
|
|
479
|
-
## スキルパッケージング
|
|
480
|
-
|
|
481
|
-
npm publish 時に `.github/skills/` と `.github/copilot-instructions.md` を自動同梱する。
|
|
482
|
-
|
|
483
|
-
- `prepublishOnly`: `scripts/copy-github-assets.mjs` が `src/.github/` からパッケージ内にコピー
|
|
484
|
-
- `postpublish`: `scripts/clean-github-assets.mjs` がコピーを削除
|
|
485
|
-
- `.gitignore` でコピー先を除外(コミット防止)
|
|
486
|
-
|
|
487
|
-
### 同梱されるスキル(12種)
|
|
488
|
-
|
|
489
|
-
| スキル | 説明 |
|
|
490
|
-
|--------|------|
|
|
491
|
-
| `code-generator` | コード生成 |
|
|
492
|
-
| `constitution-enforcer` | 憲法準拠検証 |
|
|
493
|
-
| `description-optimizer` | 記述最適化 |
|
|
494
|
-
| `design-generator` | 設計生成 |
|
|
495
|
-
| `gotchas-curator` | 注意点キュレーション |
|
|
496
|
-
| `harness-auditor` | ハーネス監査 |
|
|
497
|
-
| `orchestrator` | オーケストレーション (本ファイル) |
|
|
498
|
-
| `orchestrator-designer` | オーケストレーター設計 |
|
|
499
|
-
| `purpose-discovery` | 目的発見 |
|
|
500
|
-
| `requirements-analyst` | 要件分析 |
|
|
501
|
-
| `skill-scaffolder` | スキルスキャフォールド |
|
|
502
|
-
| `test-engineer` | テスト設計 |
|
|
503
|
-
|
|
504
423
|
## 禁止事項
|
|
505
424
|
|
|
506
425
|
- Phase をスキップしてはならない
|
|
@@ -520,36 +439,6 @@ npm publish 時に `.github/skills/` と `.github/copilot-instructions.md` を
|
|
|
520
439
|
| 🟡 Major | セキュリティ脆弱性検出 → security で修正後に進行 |
|
|
521
440
|
| 🟢 Minor | ドキュメント不備 → 次回レビューで対応可 |
|
|
522
441
|
|
|
523
|
-
## 使用パッケージ
|
|
524
|
-
|
|
525
|
-
### コア制御
|
|
526
|
-
- `@musubix2/workflow-engine` — `PhaseController`, `StateTracker`, `TaskBreakdownManager`
|
|
527
|
-
- `@musubix2/agent-orchestrator` — `SubagentDispatcher`, `ReviewOrchestrator`
|
|
528
|
-
- `@musubix2/policy` — `PolicyEngine`, `QualityGateRunner`
|
|
529
|
-
- `@musubix2/mcp-server` — `MCPServer`, `MCPToolRegistry`, `StdioTransport`, `SSETransport`
|
|
530
|
-
|
|
531
|
-
### ニューラル
|
|
532
|
-
- `@musubix2/neural-search` — `TfIdfEmbeddingModel`, `NeuralSearchEngine`
|
|
533
|
-
- `@musubix2/wake-sleep` — `WakePhase`, `SleepPhase`, `CycleManager`
|
|
534
|
-
- `@musubix2/library-learner` — `EGraphEngine`, `LibraryLearner`
|
|
535
|
-
- `@musubix2/deep-research` — `ResearchEngine`, `DepthFirstStrategy`, `BreadthFirstStrategy`
|
|
536
|
-
|
|
537
|
-
### シンボリック
|
|
538
|
-
- `@musubix2/formal-verify` — `EarsToSmtConverter`, `Z3Adapter`, `PreconditionVerifier`
|
|
539
|
-
- `@musubix2/lean` — `LeanProofRunner`, `EarsToLeanConverter`, `HybridVerifier`
|
|
540
|
-
- `@musubix2/codegraph` — `ASTParser`, `MultiLanguageParser`, `GraphEngine`, `GraphRAGSearch`
|
|
541
|
-
- `@musubix2/dfg` — `DataFlowAnalyzer`
|
|
542
|
-
- `@musubix2/ontology-mcp` — `N3Store`, `RuleEngine`, `ConsistencyValidator`
|
|
543
|
-
- `@musubix2/knowledge` — `FileKnowledgeStore`
|
|
544
|
-
- `@musubix2/git-knowledge` — `GitLogParser`, `GitKnowledgeBuilder`
|
|
545
|
-
|
|
546
|
-
### 統合
|
|
547
|
-
- `@musubix2/synthesis` — `DSLBuilder`, `SynthesisEngine`, `VersionSpaceManager`
|
|
548
|
-
- `@musubix2/security` — `SecurityScanner`, `TaintAnalyzer`
|
|
549
|
-
- `@musubix2/decisions` — `DecisionManager`
|
|
550
|
-
- `@musubix2/assistant-axis` — `DomainClassifier`, `DriftAnalyzer`
|
|
551
|
-
- `@musubix2/skill-manager` — `SkillRegistry`, `SkillManager`, `SkillExecutor`
|
|
552
|
-
|
|
553
442
|
## スクリプト
|
|
554
443
|
|
|
555
444
|
| スクリプト | 説明 | 使い方 |
|
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
name: requirements-analyst
|
|
3
3
|
description: >
|
|
4
4
|
EARS形式で要件を分析・作成・検証する。MarkdownEARSParser による構文検証、
|
|
5
|
-
EARSValidator
|
|
5
|
+
EARSValidator による信頼度スコア算出、対話的要件ウィザード、
|
|
6
|
+
1問1答ヒアリング(RequirementsInterviewer)を提供。
|
|
6
7
|
Use when creating requirements, validating EARS compliance, analyzing
|
|
7
|
-
requirement documents,
|
|
8
|
+
requirement documents, interviewing for missing information,
|
|
9
|
+
or starting SDD Phase 1.
|
|
8
10
|
license: MIT
|
|
9
|
-
version: "1.0.
|
|
11
|
+
version: "1.0.1"
|
|
10
12
|
triggers:
|
|
11
13
|
- 要件を作成
|
|
12
14
|
- 要件を分析
|
|
15
|
+
- 要件ヒアリング
|
|
13
16
|
- EARS 検証
|
|
14
17
|
- Phase 1 開始
|
|
15
18
|
- requirements
|
|
19
|
+
- interview
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
# Requirements Analyst
|
|
@@ -67,7 +71,32 @@ WHEN ユーザーが新規要件の作成を要求する:
|
|
|
67
71
|
|
|
68
72
|
**CLI**: `npx musubix req:wizard`
|
|
69
73
|
|
|
70
|
-
### 3.
|
|
74
|
+
### 3. 要件インタビュー(1問1答フロー)
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
WHEN ユーザーが要件仕様書の生成を要求する(情報不足時):
|
|
78
|
+
1. RequirementsInterviewer にユーザーの入力テキストを渡す
|
|
79
|
+
2. extractFromInput() でキーワードマッチングにより既知情報を抽出
|
|
80
|
+
3. 不足している必須項目を1問ずつ質問(1問1答、日本語メイン・英語サブ)
|
|
81
|
+
- 必須項目: プロジェクト名、概要、システム種別、対象ユーザー、主要機能
|
|
82
|
+
- 任意項目: ステークホルダー、ユースケース、パフォーマンス、セキュリティ等
|
|
83
|
+
4. 回答をコンテキストに格納し、完了率を更新
|
|
84
|
+
5. 全必須項目が揃ったら RequirementsDocGenerator で EARS 準拠仕様書を生成
|
|
85
|
+
6. EARSValidator で生成結果を検証
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**CLI**:
|
|
89
|
+
```
|
|
90
|
+
npx musubix req:interview <input-text> # 入力分析 → 最初の質問
|
|
91
|
+
npx musubix req:interview --answer <id> <response> # 質問に回答
|
|
92
|
+
npx musubix req:interview --state # 現在の状態表示
|
|
93
|
+
npx musubix req:interview --generate # 仕様書生成
|
|
94
|
+
npx musubix req:interview --reset # リセット
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**MCP Tools**: `sdd.requirements.interview.start` / `.answer` / `.state` / `.generate`
|
|
98
|
+
|
|
99
|
+
### 4. 要件検索
|
|
71
100
|
|
|
72
101
|
```
|
|
73
102
|
WHEN ユーザーが要件の検索を要求する:
|
|
@@ -104,42 +133,6 @@ THE システム SHALL...
|
|
|
104
133
|
- [ ] トレーサビリティフィールドが存在
|
|
105
134
|
- [ ] パッケージフィールドが存在
|
|
106
135
|
|
|
107
|
-
## 4. 要件インタビュー(1問1答フロー)
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
WHEN ユーザーが要件仕様書の生成を要求する:
|
|
111
|
-
1. RequirementsInterviewer にユーザーの入力テキストを渡す
|
|
112
|
-
2. extractFromInput() でキーワードマッチングにより既知情報を抽出
|
|
113
|
-
3. 不足している必須項目を1問ずつ質問(1問1答)
|
|
114
|
-
4. 必須項目: プロジェクト名、概要、システム種別、対象ユーザー、主要機能
|
|
115
|
-
5. 任意項目: ステークホルダー、ユースケース、パフォーマンス、セキュリティ等
|
|
116
|
-
6. 全必須項目が揃ったら RequirementsDocGenerator で EARS 準拠仕様書を生成
|
|
117
|
-
7. EARSValidator で生成結果を検証
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### インタビューフロー詳細
|
|
121
|
-
|
|
122
|
-
1. **入力分析**: ユーザーの自由記述からプロジェクト名・機能・技術スタック等を自動抽出
|
|
123
|
-
2. **不足情報特定**: 必須フィールド(projectName, projectDescription, projectDomain, targetUsers, features)の充足チェック
|
|
124
|
-
3. **1問1答**: 不足フィールドごとに1問ずつ質問(日本語メイン、英語サブ)
|
|
125
|
-
4. **回答適用**: 回答をコンテキストに格納し、完了率を更新
|
|
126
|
-
5. **仕様書生成**: 全必須項目充足後、EARS形式の要件仕様書を自動生成
|
|
127
|
-
|
|
128
|
-
**CLI**:
|
|
129
|
-
```
|
|
130
|
-
npx musubix req:interview <input-text> # 入力分析 → 最初の質問
|
|
131
|
-
npx musubix req:interview --answer <id> <response> # 質問に回答
|
|
132
|
-
npx musubix req:interview --state # 現在の状態表示
|
|
133
|
-
npx musubix req:interview --generate # 仕様書生成
|
|
134
|
-
npx musubix req:interview --reset # リセット
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**MCP Tools**:
|
|
138
|
-
- `sdd.requirements.interview.start` — インタビュー開始
|
|
139
|
-
- `sdd.requirements.interview.answer` — 質問に回答
|
|
140
|
-
- `sdd.requirements.interview.state` — 状態取得
|
|
141
|
-
- `sdd.requirements.interview.generate` — 仕様書生成
|
|
142
|
-
|
|
143
136
|
## Gotchas
|
|
144
137
|
|
|
145
138
|
1. **EARS パターン混在に注意**: 1つの要件に複数パターンが混在する場合、COMPLEX に分類する。「WHEN ... WHILE ...」は COMPLEX。
|
|
@@ -7,7 +7,7 @@ description: >
|
|
|
7
7
|
running the full SDD workflow, invoking neurosymbolic capabilities,
|
|
8
8
|
or serving tools via MCP protocol.
|
|
9
9
|
license: MIT
|
|
10
|
-
version: "3.0.
|
|
10
|
+
version: "3.0.1"
|
|
11
11
|
triggers:
|
|
12
12
|
- ワークフロー
|
|
13
13
|
- フェーズ遷移
|
|
@@ -129,51 +129,10 @@ SDD(Specification Driven Development)ワークフローのルーティング
|
|
|
129
129
|
| ADR・アーキテクチャ決定を記録する | → `@musubix2/decisions` |
|
|
130
130
|
| ドメイン分類・ドリフト分析する | → `@musubix2/assistant-axis` |
|
|
131
131
|
| Git 履歴から知識を抽出する | → `@musubix2/git-knowledge` |
|
|
132
|
-
| MCP
|
|
133
|
-
| MCP プロンプト・リソースを取得する | → `@musubix2/mcp-server` |
|
|
132
|
+
| MCP ツール呼出・プロンプト・リソース取得する | → `@musubix2/mcp-server` |
|
|
134
133
|
| 多言語 AST 解析する(Python/Java/Go/Rust 等) | → `@musubix2/codegraph` (MultiLanguageParser) |
|
|
135
134
|
| SDD ワークフロー全体を実行する | → `orchestrator`(Phase 遷移ルール参照) |
|
|
136
135
|
|
|
137
|
-
### タスク分類ツリー
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
ユーザー入力
|
|
141
|
-
├── 仕様関連?
|
|
142
|
-
│ ├── 要件? → requirements-analyst
|
|
143
|
-
│ ├── 要件ヒアリング(情報不足)? → requirements-analyst (1問1答 Interview)
|
|
144
|
-
│ └── 設計? → design-generator
|
|
145
|
-
├── 実装関連?
|
|
146
|
-
│ ├── コード生成? → code-generator
|
|
147
|
-
│ ├── テスト? → test-engineer
|
|
148
|
-
│ └── プログラム合成? → @musubix2/synthesis
|
|
149
|
-
├── 品質関連?
|
|
150
|
-
│ ├── トレーサビリティ? → traceability-auditor
|
|
151
|
-
│ ├── ポリシー? → constitution-enforcer
|
|
152
|
-
│ ├── レビュー / 合意チェック? → review-orchestrator
|
|
153
|
-
│ ├── 形式検証 (SMT/Z3)? → @musubix2/formal-verify
|
|
154
|
-
│ └── 定理証明 (Lean 4)? → @musubix2/lean
|
|
155
|
-
├── 分析関連?
|
|
156
|
-
│ ├── AST / コードグラフ? → @musubix2/codegraph
|
|
157
|
-
│ ├── データフロー / CFG? → @musubix2/dfg
|
|
158
|
-
│ ├── セキュリティ? → @musubix2/security
|
|
159
|
-
│ └── ドメイン分類? → @musubix2/assistant-axis
|
|
160
|
-
├── 知識関連?
|
|
161
|
-
│ ├── 知識グラフ? → @musubix2/knowledge
|
|
162
|
-
│ ├── Git 履歴知識抽出? → @musubix2/git-knowledge
|
|
163
|
-
│ ├── オントロジー / 推論? → @musubix2/ontology-mcp
|
|
164
|
-
│ ├── リサーチ / 調査? → @musubix2/deep-research
|
|
165
|
-
│ └── ADR / 決定記録? → @musubix2/decisions
|
|
166
|
-
├── 学習関連?
|
|
167
|
-
│ ├── ニューラル検索? → @musubix2/neural-search
|
|
168
|
-
│ ├── パターン学習? → @musubix2/library-learner
|
|
169
|
-
│ └── Wake-Sleep サイクル? → @musubix2/wake-sleep
|
|
170
|
-
├── MCP 関連?
|
|
171
|
-
│ ├── ツール呼出・一覧? → @musubix2/mcp-server (MCPToolRegistry)
|
|
172
|
-
│ ├── プロンプトテンプレート? → @musubix2/mcp-server (PromptRegistry)
|
|
173
|
-
│ └── リソース取得? → @musubix2/mcp-server (ResourceRegistry)
|
|
174
|
-
└── ワークフロー? → orchestrator(Phase 遷移ルール)
|
|
175
|
-
```
|
|
176
|
-
|
|
177
136
|
## Phase 遷移ルール
|
|
178
137
|
|
|
179
138
|
```
|
|
@@ -293,32 +252,40 @@ SDD ワークフローの各フェーズでニューロシンボリック機能
|
|
|
293
252
|
|
|
294
253
|
### ニューラル側(学習・検索・パターン認識)
|
|
295
254
|
|
|
296
|
-
| パッケージ |
|
|
297
|
-
|
|
298
|
-
| `neural-search` | TF-IDF 埋込み + コサイン類似度検索
|
|
299
|
-
| `wake-sleep` | N-gram + PMI
|
|
300
|
-
| `library-learner` | E-graph 等価クラス + 構造類似性マージ
|
|
301
|
-
| `deep-research` | 反復リサーチ + 証拠チェーン
|
|
255
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
256
|
+
|-----------|-----------|------------------------|
|
|
257
|
+
| `neural-search` | `TfIdfEmbeddingModel`, `NeuralSearchEngine` | TF-IDF 埋込み + コサイン類似度検索 — 類似要件検索、既存設計の参照、コード重複検出 |
|
|
258
|
+
| `wake-sleep` | `WakePhase`, `SleepPhase`, `CycleManager` | N-gram + PMI 統計パターン抽出 — コードパターンの自動学習、設計パターン発見 |
|
|
259
|
+
| `library-learner` | `EGraphEngine`, `LibraryLearner` | E-graph 等価クラス + 構造類似性マージ — ライブラリ抽象化の発見、リファクタリング候補 |
|
|
260
|
+
| `deep-research` | `ResearchEngine`, `DepthFirstStrategy`, `BreadthFirstStrategy` | 反復リサーチ + 証拠チェーン — 技術調査、ベストプラクティス収集 |
|
|
302
261
|
|
|
303
262
|
### シンボリック側(論理・検証・推論)
|
|
304
263
|
|
|
305
|
-
| パッケージ |
|
|
306
|
-
|
|
307
|
-
| `formal-verify` | EARS → SMT-LIB2
|
|
308
|
-
| `lean` | Lean 4 定理変換 + 証明実行
|
|
309
|
-
| `codegraph` |
|
|
310
|
-
| `dfg` | DFG/CFG 構築 + 到達定義
|
|
311
|
-
| `ontology-mcp` | N3 トリプルストア +
|
|
312
|
-
| `knowledge` |
|
|
313
|
-
| `git-knowledge` | Git log/blame
|
|
314
|
-
|
|
315
|
-
###
|
|
316
|
-
|
|
317
|
-
| パッケージ |
|
|
318
|
-
|
|
319
|
-
| `synthesis` |
|
|
320
|
-
| `
|
|
321
|
-
| `
|
|
264
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
265
|
+
|-----------|-----------|------------------------|
|
|
266
|
+
| `formal-verify` | `EarsToSmtConverter`, `Z3Adapter`, `PreconditionVerifier` | EARS → SMT-LIB2 変換 + Z3 検証 — 要件の形式的一貫性検証、矛盾検出 |
|
|
267
|
+
| `lean` | `LeanProofRunner`, `EarsToLeanConverter`, `HybridVerifier` | Lean 4 定理変換 + 証明実行 — 安全性要件の定理証明、ハイブリッド検証 |
|
|
268
|
+
| `codegraph` | `ASTParser`, `MultiLanguageParser`, `GraphEngine`, `GraphRAGSearch` | 多言語 AST 解析(6言語)+ GraphRAG — コード構造分析、影響範囲分析 |
|
|
269
|
+
| `dfg` | `DataFlowAnalyzer` | DFG/CFG 構築 + 到達定義 — データフロー分析、セキュリティ汚染解析 |
|
|
270
|
+
| `ontology-mcp` | `N3Store`, `RuleEngine`, `ConsistencyValidator` | N3 トリプルストア + 推論 — ドメインモデル推論、制約検証 |
|
|
271
|
+
| `knowledge` | `FileKnowledgeStore` | エンティティ関係グラフ — プロジェクト知識管理、関係探索 |
|
|
272
|
+
| `git-knowledge` | `GitLogParser`, `GitKnowledgeBuilder` | Git log/blame + 共変更分析 — Git 履歴からの知識自動抽出 |
|
|
273
|
+
|
|
274
|
+
### 統合・制御側(合成・変換・ワークフロー)
|
|
275
|
+
|
|
276
|
+
| パッケージ | 主要クラス | 機能 / SDD での利用場面 |
|
|
277
|
+
|-----------|-----------|------------------------|
|
|
278
|
+
| `synthesis` | `DSLBuilder`, `SynthesisEngine`, `VersionSpaceManager` | DSL ビルダー(16変換)— コード変換自動化、例示プログラミング |
|
|
279
|
+
| `security` | `SecurityScanner`, `TaintAnalyzer` | 脆弱性スキャン、汚染解析 |
|
|
280
|
+
| `decisions` | `DecisionManager` | ADR 記録・管理 |
|
|
281
|
+
| `assistant-axis` | `DomainClassifier`, `DriftAnalyzer` | ドメイン分類・ドリフト分析 |
|
|
282
|
+
| `pattern-mcp` | — | AST パターン抽出 — パターンカタログ管理 |
|
|
283
|
+
| `sdd-ontology` | — | SDD ドメイン概念 + Turtle 定義 — ワークフロー意味モデル |
|
|
284
|
+
| `workflow-engine` | `PhaseController`, `StateTracker`, `TaskBreakdownManager` | Phase 遷移制御・タスク分解 |
|
|
285
|
+
| `agent-orchestrator` | `SubagentDispatcher`, `ReviewOrchestrator` | サブエージェント振り分け・交互レビュー |
|
|
286
|
+
| `policy` | `PolicyEngine`, `QualityGateRunner` | 憲法検証・品質ゲート実行 |
|
|
287
|
+
| `mcp-server` | `MCPServer`, `MCPToolRegistry`, `StdioTransport`, `SSETransport` | MCP プロトコルでのツール提供 |
|
|
288
|
+
| `skill-manager` | `SkillRegistry`, `SkillManager`, `SkillExecutor` | スキル登録・実行 |
|
|
322
289
|
|
|
323
290
|
### Phase 別ニューロシンボリック活用マップ
|
|
324
291
|
|
|
@@ -381,19 +348,9 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
381
348
|
|
|
382
349
|
## MCP サーバー統合
|
|
383
350
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
クライアント (Claude Code / Copilot / Cursor)
|
|
388
|
-
│
|
|
389
|
-
├── stdio ──→ StdioTransport ──→ MCPServer
|
|
390
|
-
└── HTTP ──→ SSETransport ──→ MCPServer
|
|
391
|
-
│
|
|
392
|
-
┌──────────────────┤
|
|
393
|
-
│ │ │
|
|
394
|
-
MCPToolRegistry PromptRegistry ResourceRegistry
|
|
395
|
-
(61 tools) (4 prompts) (3 resources)
|
|
396
|
-
```
|
|
351
|
+
クライアント(Claude Code / Copilot / Cursor)は stdio(`StdioTransport`)または
|
|
352
|
+
HTTP/SSE(`SSETransport`)経由で `MCPServer` に接続する。
|
|
353
|
+
レジストリは 3 種: `MCPToolRegistry`(61 tools)、`PromptRegistry`(4 prompts)、`ResourceRegistry`(3 resources)。
|
|
397
354
|
|
|
398
355
|
### ツールカテゴリ(13カテゴリ / 61ツール)
|
|
399
356
|
|
|
@@ -430,19 +387,6 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
430
387
|
| `musubix://ears-patterns` | EARS パターンリファレンス |
|
|
431
388
|
| `musubix://workflow-phases` | SDD ワークフローフェーズ定義 |
|
|
432
389
|
|
|
433
|
-
### JSON-RPC メソッド
|
|
434
|
-
|
|
435
|
-
| メソッド | 説明 |
|
|
436
|
-
|---------|------|
|
|
437
|
-
| `initialize` | サーバー情報・ケイパビリティ返却 |
|
|
438
|
-
| `tools/list` | 全ツール一覧 |
|
|
439
|
-
| `tools/call` | ツール実行 |
|
|
440
|
-
| `prompts/list` | プロンプト一覧 |
|
|
441
|
-
| `prompts/get` | プロンプト取得・実行 |
|
|
442
|
-
| `resources/list` | リソース一覧 |
|
|
443
|
-
| `resources/read` | リソース読取 |
|
|
444
|
-
| `ping` | ヘルスチェック |
|
|
445
|
-
|
|
446
390
|
## CLI コマンドマッピング
|
|
447
391
|
|
|
448
392
|
| CLI コマンド | パッケージ | 説明 |
|
|
@@ -476,31 +420,6 @@ SDD 成果物の品質保証には `review-orchestrator` スキルを使用す
|
|
|
476
420
|
| `musubix synthesis` | synthesis | プログラム合成 (dsl/fromExamples) |
|
|
477
421
|
| `musubix watch` | core | ファイル監視・自動再検証 |
|
|
478
422
|
|
|
479
|
-
## スキルパッケージング
|
|
480
|
-
|
|
481
|
-
npm publish 時に `.github/skills/` と `.github/copilot-instructions.md` を自動同梱する。
|
|
482
|
-
|
|
483
|
-
- `prepublishOnly`: `scripts/copy-github-assets.mjs` が `src/.github/` からパッケージ内にコピー
|
|
484
|
-
- `postpublish`: `scripts/clean-github-assets.mjs` がコピーを削除
|
|
485
|
-
- `.gitignore` でコピー先を除外(コミット防止)
|
|
486
|
-
|
|
487
|
-
### 同梱されるスキル(12種)
|
|
488
|
-
|
|
489
|
-
| スキル | 説明 |
|
|
490
|
-
|--------|------|
|
|
491
|
-
| `code-generator` | コード生成 |
|
|
492
|
-
| `constitution-enforcer` | 憲法準拠検証 |
|
|
493
|
-
| `description-optimizer` | 記述最適化 |
|
|
494
|
-
| `design-generator` | 設計生成 |
|
|
495
|
-
| `gotchas-curator` | 注意点キュレーション |
|
|
496
|
-
| `harness-auditor` | ハーネス監査 |
|
|
497
|
-
| `orchestrator` | オーケストレーション (本ファイル) |
|
|
498
|
-
| `orchestrator-designer` | オーケストレーター設計 |
|
|
499
|
-
| `purpose-discovery` | 目的発見 |
|
|
500
|
-
| `requirements-analyst` | 要件分析 |
|
|
501
|
-
| `skill-scaffolder` | スキルスキャフォールド |
|
|
502
|
-
| `test-engineer` | テスト設計 |
|
|
503
|
-
|
|
504
423
|
## 禁止事項
|
|
505
424
|
|
|
506
425
|
- Phase をスキップしてはならない
|
|
@@ -520,36 +439,6 @@ npm publish 時に `.github/skills/` と `.github/copilot-instructions.md` を
|
|
|
520
439
|
| 🟡 Major | セキュリティ脆弱性検出 → security で修正後に進行 |
|
|
521
440
|
| 🟢 Minor | ドキュメント不備 → 次回レビューで対応可 |
|
|
522
441
|
|
|
523
|
-
## 使用パッケージ
|
|
524
|
-
|
|
525
|
-
### コア制御
|
|
526
|
-
- `@musubix2/workflow-engine` — `PhaseController`, `StateTracker`, `TaskBreakdownManager`
|
|
527
|
-
- `@musubix2/agent-orchestrator` — `SubagentDispatcher`, `ReviewOrchestrator`
|
|
528
|
-
- `@musubix2/policy` — `PolicyEngine`, `QualityGateRunner`
|
|
529
|
-
- `@musubix2/mcp-server` — `MCPServer`, `MCPToolRegistry`, `StdioTransport`, `SSETransport`
|
|
530
|
-
|
|
531
|
-
### ニューラル
|
|
532
|
-
- `@musubix2/neural-search` — `TfIdfEmbeddingModel`, `NeuralSearchEngine`
|
|
533
|
-
- `@musubix2/wake-sleep` — `WakePhase`, `SleepPhase`, `CycleManager`
|
|
534
|
-
- `@musubix2/library-learner` — `EGraphEngine`, `LibraryLearner`
|
|
535
|
-
- `@musubix2/deep-research` — `ResearchEngine`, `DepthFirstStrategy`, `BreadthFirstStrategy`
|
|
536
|
-
|
|
537
|
-
### シンボリック
|
|
538
|
-
- `@musubix2/formal-verify` — `EarsToSmtConverter`, `Z3Adapter`, `PreconditionVerifier`
|
|
539
|
-
- `@musubix2/lean` — `LeanProofRunner`, `EarsToLeanConverter`, `HybridVerifier`
|
|
540
|
-
- `@musubix2/codegraph` — `ASTParser`, `MultiLanguageParser`, `GraphEngine`, `GraphRAGSearch`
|
|
541
|
-
- `@musubix2/dfg` — `DataFlowAnalyzer`
|
|
542
|
-
- `@musubix2/ontology-mcp` — `N3Store`, `RuleEngine`, `ConsistencyValidator`
|
|
543
|
-
- `@musubix2/knowledge` — `FileKnowledgeStore`
|
|
544
|
-
- `@musubix2/git-knowledge` — `GitLogParser`, `GitKnowledgeBuilder`
|
|
545
|
-
|
|
546
|
-
### 統合
|
|
547
|
-
- `@musubix2/synthesis` — `DSLBuilder`, `SynthesisEngine`, `VersionSpaceManager`
|
|
548
|
-
- `@musubix2/security` — `SecurityScanner`, `TaintAnalyzer`
|
|
549
|
-
- `@musubix2/decisions` — `DecisionManager`
|
|
550
|
-
- `@musubix2/assistant-axis` — `DomainClassifier`, `DriftAnalyzer`
|
|
551
|
-
- `@musubix2/skill-manager` — `SkillRegistry`, `SkillManager`, `SkillExecutor`
|
|
552
|
-
|
|
553
442
|
## スクリプト
|
|
554
443
|
|
|
555
444
|
| スクリプト | 説明 | 使い方 |
|