@nahisaho/musubix-core 1.6.2 → 1.7.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.
Files changed (62) hide show
  1. package/AGENTS.md +42 -9
  2. package/dist/cli/commands/design.d.ts.map +1 -1
  3. package/dist/cli/commands/design.js +54 -1
  4. package/dist/cli/commands/design.js.map +1 -1
  5. package/dist/cli/commands/index.d.ts +3 -0
  6. package/dist/cli/commands/index.d.ts.map +1 -1
  7. package/dist/cli/commands/index.js +15 -0
  8. package/dist/cli/commands/index.js.map +1 -1
  9. package/dist/cli/commands/kgpr.d.ts +14 -0
  10. package/dist/cli/commands/kgpr.d.ts.map +1 -0
  11. package/dist/cli/commands/kgpr.js +464 -0
  12. package/dist/cli/commands/kgpr.js.map +1 -0
  13. package/dist/cli/commands/learn.d.ts.map +1 -1
  14. package/dist/cli/commands/learn.js +533 -0
  15. package/dist/cli/commands/learn.js.map +1 -1
  16. package/dist/cli/commands/requirements.d.ts.map +1 -1
  17. package/dist/cli/commands/requirements.js +57 -1
  18. package/dist/cli/commands/requirements.js.map +1 -1
  19. package/dist/cli/commands/scaffold.d.ts +40 -0
  20. package/dist/cli/commands/scaffold.d.ts.map +1 -0
  21. package/dist/cli/commands/scaffold.js +881 -0
  22. package/dist/cli/commands/scaffold.js.map +1 -0
  23. package/dist/cli/commands/tasks.d.ts +50 -0
  24. package/dist/cli/commands/tasks.d.ts.map +1 -0
  25. package/dist/cli/commands/tasks.js +286 -0
  26. package/dist/cli/commands/tasks.js.map +1 -0
  27. package/dist/cli/commands/trace.d.ts.map +1 -1
  28. package/dist/cli/commands/trace.js +86 -8
  29. package/dist/cli/commands/trace.js.map +1 -1
  30. package/dist/cli/middleware/auto-learn.d.ts +98 -0
  31. package/dist/cli/middleware/auto-learn.d.ts.map +1 -0
  32. package/dist/cli/middleware/auto-learn.js +130 -0
  33. package/dist/cli/middleware/auto-learn.js.map +1 -0
  34. package/dist/cli/middleware/index.d.ts +8 -0
  35. package/dist/cli/middleware/index.d.ts.map +1 -0
  36. package/dist/cli/middleware/index.js +8 -0
  37. package/dist/cli/middleware/index.js.map +1 -0
  38. package/dist/codegen/__tests__/enhanced-generator.test.d.ts +9 -0
  39. package/dist/codegen/__tests__/enhanced-generator.test.d.ts.map +1 -0
  40. package/dist/codegen/__tests__/enhanced-generator.test.js +528 -0
  41. package/dist/codegen/__tests__/enhanced-generator.test.js.map +1 -0
  42. package/dist/codegen/enhanced-generator.d.ts +315 -0
  43. package/dist/codegen/enhanced-generator.d.ts.map +1 -0
  44. package/dist/codegen/enhanced-generator.js +1104 -0
  45. package/dist/codegen/enhanced-generator.js.map +1 -0
  46. package/dist/codegen/index.d.ts +2 -0
  47. package/dist/codegen/index.d.ts.map +1 -1
  48. package/dist/codegen/index.js +5 -0
  49. package/dist/codegen/index.js.map +1 -1
  50. package/dist/learning/inference/context-analyzer.d.ts +230 -0
  51. package/dist/learning/inference/context-analyzer.d.ts.map +1 -0
  52. package/dist/learning/inference/context-analyzer.js +365 -0
  53. package/dist/learning/inference/context-analyzer.js.map +1 -0
  54. package/dist/learning/inference/index.d.ts +4 -0
  55. package/dist/learning/inference/index.d.ts.map +1 -1
  56. package/dist/learning/inference/index.js +4 -0
  57. package/dist/learning/inference/index.js.map +1 -1
  58. package/dist/learning/inference/pattern-recommender.d.ts +263 -0
  59. package/dist/learning/inference/pattern-recommender.d.ts.map +1 -0
  60. package/dist/learning/inference/pattern-recommender.js +353 -0
  61. package/dist/learning/inference/pattern-recommender.js.map +1 -0
  62. package/package.json +1 -1
package/AGENTS.md CHANGED
@@ -8,13 +8,13 @@
8
8
 
9
9
  | 項目 | 詳細 |
10
10
  |------|------|
11
- | **バージョン** | 1.6.0 (開発中) |
11
+ | **バージョン** | 1.7.0 (YATA Platform Enhancements) |
12
12
  | **言語** | TypeScript |
13
13
  | **ランタイム** | Node.js >= 20.0.0 |
14
14
  | **パッケージマネージャ** | npm >= 10.0.0 |
15
15
  | **ビルドシステム** | モノレポ(npm workspaces) |
16
16
  | **テストフレームワーク** | Vitest |
17
- | **テスト数** | 1208 (全合格) |
17
+ | **テスト数** | 1386 (全合格) |
18
18
  | **コンポーネント数** | 249 (62ドメイン対応) |
19
19
  | **Agent Skills** | 12 (Claude Code対応) |
20
20
 
@@ -29,10 +29,13 @@ packages/
29
29
  ├── core/ # @nahisaho/musubix-core
30
30
  ├── mcp-server/ # @nahisaho/musubix-mcp-server
31
31
  ├── yata-client/ # @nahisaho/musubix-yata-client
32
- ├── pattern-mcp/ # @nahisaho/musubix-pattern-mcp (NEW!)
33
- ├── ontology-mcp/ # @nahisaho/musubix-ontology-mcp (NEW!)
34
- ├── wake-sleep/ # @nahisaho/musubix-wake-sleep (NEW!)
35
- └── sdd-ontology/ # @nahisaho/musubix-sdd-ontology (NEW!)
32
+ ├── yata-local/ # @nahisaho/yata-local
33
+ ├── yata-global/ # @nahisaho/yata-global
34
+ ├── yata-ui/ # @nahisaho/yata-ui (NEW!)
35
+ ├── pattern-mcp/ # @nahisaho/musubix-pattern-mcp
36
+ ├── ontology-mcp/ # @nahisaho/musubix-ontology-mcp
37
+ ├── wake-sleep/ # @nahisaho/musubix-wake-sleep
38
+ └── sdd-ontology/ # @nahisaho/musubix-sdd-ontology
36
39
  ```
37
40
 
38
41
  | パッケージ | npm | 役割 |
@@ -40,6 +43,9 @@ packages/
40
43
  | `packages/core/` | `@nahisaho/musubix-core` | コアライブラリ - CLI、EARS検証、コード生成、設計パターン |
41
44
  | `packages/mcp-server/` | `@nahisaho/musubix-mcp-server` | MCPサーバー - 19ツール、3プロンプト |
42
45
  | `packages/yata-client/` | `@nahisaho/musubix-yata-client` | YATAクライアント - 知識グラフ連携 |
46
+ | `packages/yata-local/` | `@nahisaho/yata-local` | **YATA Local** - SQLiteベースローカル知識グラフ |
47
+ | `packages/yata-global/` | `@nahisaho/yata-global` | **YATA Global** - 分散型知識グラフプラットフォーム |
48
+ | `packages/yata-ui/` | `@nahisaho/yata-ui` | **YATA UI** - Web可視化・管理インターフェース (NEW!) |
43
49
  | `packages/pattern-mcp/` | `@nahisaho/musubix-pattern-mcp` | パターン学習 - 抽出・圧縮・ライブラリ |
44
50
  | `packages/ontology-mcp/` | `@nahisaho/musubix-ontology-mcp` | オントロジー - N3Store・推論エンジン |
45
51
  | `packages/wake-sleep/` | `@nahisaho/musubix-wake-sleep` | Wake-Sleep学習サイクル |
@@ -96,8 +102,11 @@ npx musubix test coverage <dir> # カバレッジ測定
96
102
 
97
103
  # トレーサビリティ
98
104
  npx musubix trace matrix # トレーサビリティマトリクス
105
+ npx musubix trace matrix -p <project> # 指定プロジェクトのマトリクス
99
106
  npx musubix trace impact <id> # 影響分析
100
107
  npx musubix trace validate # リンク検証
108
+ npx musubix trace sync # トレースマトリクス自動更新 (v1.6.7 NEW!)
109
+ npx musubix trace sync --dry-run # プレビューのみ
101
110
 
102
111
  # 説明生成
103
112
  npx musubix explain why <id> # 決定理由の説明
@@ -126,6 +135,21 @@ npx musubix repl # 対話的シェルを起動
126
135
  npx musubix repl --history <file> # カスタム履歴ファイル
127
136
  npx musubix repl --no-color # 色なしモード
128
137
 
138
+ # KGPR - Knowledge Graph Pull Request (v1.6.4 NEW!)
139
+ npx musubix kgpr create -t "title" # KGPR作成
140
+ npx musubix kgpr diff # 差分プレビュー
141
+ npx musubix kgpr list # KGPR一覧
142
+ npx musubix kgpr submit <id> # KGPR送信
143
+ npx musubix kgpr show <id> # KGPR詳細表示
144
+ npx musubix kgpr close <id> # KGPRクローズ
145
+ # オプション: --namespace <ns>, --entity-types <types>, --privacy <strict|moderate|none>
146
+
147
+ # SDDプロジェクトスキャフォールド (v1.6.7 NEW!)
148
+ npx musubix scaffold domain-model <name> # DDDプロジェクト生成
149
+ npx musubix scaffold domain-model <name> -e "Entity1,Entity2" # エンティティ指定
150
+ npx musubix scaffold domain-model <name> -d DOMAIN # ドメイン接頭辞指定
151
+ npx musubix scaffold minimal <name> # 最小構成プロジェクト
152
+
129
153
  # ヘルプ
130
154
  npx musubix --help
131
155
  npx musubix help <command>
@@ -142,7 +166,7 @@ npx @nahisaho/musubix-mcp-server
142
166
  npx musubix-mcp --transport stdio
143
167
  ```
144
168
 
145
- ### ツール一覧(19ツール)
169
+ ### ツール一覧(24ツール)
146
170
 
147
171
  #### SDD基本ツール(9ツール)
148
172
 
@@ -178,6 +202,16 @@ npx musubix-mcp --transport stdio
178
202
  | `validate_triple` | 単一トリプルの事前検証 |
179
203
  | `check_circular` | 循環依存の検出 |
180
204
 
205
+ #### KGPRツール(5ツール)- v1.6.4 NEW!
206
+
207
+ | ツール名 | 説明 |
208
+ |---------|------|
209
+ | `kgpr_create` | KGPR作成(ローカルKGからドラフト作成) |
210
+ | `kgpr_diff` | 差分プレビュー |
211
+ | `kgpr_list` | KGPR一覧表示 |
212
+ | `kgpr_submit` | KGPR送信(レビュー用) |
213
+ | `kgpr_review` | KGPRレビュー(approve/changes_requested/commented) |
214
+
181
215
  ### プロンプト一覧(3プロンプト)
182
216
 
183
217
  | プロンプト名 | 説明 |
@@ -488,5 +522,4 @@ npx musubix learn best-practices --format markdown
488
522
 
489
523
  **Agent**: GitHub Copilot / Claude
490
524
  **Last Updated**: 2026-01-06
491
- **Version**: 1.5.0
492
- **Repository**: https://github.com/nahisaho/MUSUBIX
525
+ **Version**: 1.6.4
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/design.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/design.ts"],"names":[],"mappings":"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"}
@@ -201,19 +201,72 @@ export function registerDesignCommand(program) {
201
201
  .command('validate <file>')
202
202
  .description('Validate SOLID compliance')
203
203
  .option('--strict', 'Enable strict mode', false)
204
+ .option('--auto-learn', 'Auto-register to YATA Local', false)
205
+ .option('--db <path>', 'YATA Local database path', './.yata-local.db')
204
206
  .action(async (file, options) => {
205
207
  const globalOpts = getGlobalOptions(program);
208
+ const autoLearn = options.autoLearn || process.env.MUSUBIX_AUTO_LEARN === 'true';
206
209
  try {
207
210
  const filePath = resolve(process.cwd(), file);
208
211
  const content = await readFile(filePath, 'utf-8');
209
212
  const { violations, gaps } = validateDesign(content, options.strict ?? false);
213
+ // Auto-register to YATA Local if enabled
214
+ let yataLocalRegistered = 0;
215
+ if (autoLearn && violations.length === 0) {
216
+ try {
217
+ const yataLocalModule = await import('@nahisaho/yata-local');
218
+ const { createYataLocal } = yataLocalModule;
219
+ const yataLocal = createYataLocal({ path: options.db ?? './.yata-local.db' });
220
+ await yataLocal.open();
221
+ // Extract design document ID
222
+ const docIdMatch = content.match(/\*\*Document ID\*\*:\s*([\w-]+)/);
223
+ const docId = docIdMatch ? docIdMatch[1] : 'DES-UNKNOWN';
224
+ // Register document as entity
225
+ const docEntityId = await yataLocal.addEntity({
226
+ name: docId,
227
+ type: 'module',
228
+ namespace: 'project-management',
229
+ metadata: {
230
+ entityKind: 'DesignDocument',
231
+ filePath,
232
+ validatedAt: new Date().toISOString()
233
+ },
234
+ });
235
+ yataLocalRegistered++;
236
+ // Extract and register components
237
+ const componentPattern = /###\s+(\d+\.\d+(?:\.\d+)?)\s+([^\n]+)\n/g;
238
+ let match;
239
+ while ((match = componentPattern.exec(content)) !== null) {
240
+ const componentId = `COMP-${match[1].replace(/\./g, '-')}`;
241
+ const componentName = match[2].trim();
242
+ const compEntityId = await yataLocal.addEntity({
243
+ name: componentId,
244
+ type: 'class',
245
+ namespace: 'project-management',
246
+ metadata: {
247
+ entityKind: 'Component',
248
+ displayName: componentName,
249
+ parentDocument: docId,
250
+ },
251
+ });
252
+ // Add relationship to document
253
+ await yataLocal.addRelationship(compEntityId, docEntityId, 'contains', { relationKind: 'DEFINED_IN', createdAt: new Date().toISOString() });
254
+ yataLocalRegistered++;
255
+ }
256
+ await yataLocal.close();
257
+ }
258
+ catch {
259
+ // YATA Local not available, skip silently
260
+ }
261
+ }
210
262
  const result = {
211
263
  success: true,
212
264
  valid: violations.length === 0 && gaps.length === 0,
213
265
  solidViolations: violations,
214
266
  traceabilityGaps: gaps,
215
267
  message: violations.length === 0
216
- ? '✅ Design is SOLID compliant'
268
+ ? '✅ Design is SOLID compliant' +
269
+ (yataLocalRegistered > 0 ? ` (${yataLocalRegistered} registered to YATA Local)` : '')
217
270
  : `❌ Found ${violations.length} SOLID violations`,
218
271
  };
219
272
  outputResult(result, globalOpts);