musubix 3.4.3 → 3.4.7

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 (95) hide show
  1. package/.github/AGENTS.md +949 -0
  2. package/.github/prompts/sdd-change-apply.prompt.md +283 -0
  3. package/.github/prompts/sdd-change-archive.prompt.md +241 -0
  4. package/.github/prompts/sdd-change-init.prompt.md +269 -0
  5. package/.github/prompts/sdd-design.prompt.md +250 -0
  6. package/.github/prompts/sdd-implement.prompt.md +387 -0
  7. package/.github/prompts/sdd-requirements.prompt.md +193 -0
  8. package/.github/prompts/sdd-review.prompt.md +155 -0
  9. package/.github/prompts/sdd-security.prompt.md +228 -0
  10. package/.github/prompts/sdd-steering.prompt.md +269 -0
  11. package/.github/prompts/sdd-tasks.prompt.md +255 -0
  12. package/.github/prompts/sdd-test.prompt.md +230 -0
  13. package/.github/prompts/sdd-validate.prompt.md +304 -0
  14. package/.github/skills/musubix-adr-generation/SKILL.md +209 -0
  15. package/.github/skills/musubix-best-practices/SKILL.md +315 -0
  16. package/.github/skills/musubix-c4-design/SKILL.md +162 -0
  17. package/.github/skills/musubix-code-generation/SKILL.md +237 -0
  18. package/.github/skills/musubix-domain-inference/SKILL.md +196 -0
  19. package/.github/skills/musubix-ears-validation/SKILL.md +161 -0
  20. package/.github/skills/musubix-sdd-workflow/SKILL.md +217 -0
  21. package/.github/skills/musubix-technical-writing/SKILL.md +444 -0
  22. package/.github/skills/musubix-test-generation/SKILL.md +212 -0
  23. package/.github/skills/musubix-traceability/SKILL.md +141 -0
  24. package/AGENTS.md +1134 -0
  25. package/LICENSE +21 -0
  26. package/README.ja.md +313 -0
  27. package/README.md +315 -50
  28. package/bin/musubix-mcp.js +15 -0
  29. package/bin/musubix.js +9 -1
  30. package/docs/API-REFERENCE.md +1425 -0
  31. package/docs/GITHUB-ACTIONS-NPM-SETUP.md +132 -0
  32. package/docs/INSTALL-GUIDE.ja.md +459 -0
  33. package/docs/INSTALL-GUIDE.md +459 -0
  34. package/docs/MIGRATION-v3.0.md +324 -0
  35. package/docs/MUSUBI-enhancement_roadmap_20260105.md +651 -0
  36. package/docs/MUSUBIX-v3.0-User-Guide.md +1357 -0
  37. package/docs/MUSUBIXv2.2.0-Manual-outline.md +136 -0
  38. package/docs/MUSUBIXv2.2.0-Manual.md +3123 -0
  39. package/docs/MUSUBIXv2.3.5-Refactering.md +1310 -0
  40. package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +291 -0
  41. package/docs/MUSUBIv2.2.0-USERGUIDE.md +2079 -0
  42. package/docs/ROADMAP-v1.5.md +116 -0
  43. package/docs/SwarmCoding.md +1284 -0
  44. package/docs/Test-prompt.md +105 -0
  45. package/docs/USER-GUIDE-v1.8.0.md +2371 -0
  46. package/docs/USER-GUIDE.ja.md +2147 -0
  47. package/docs/USER-GUIDE.md +3022 -0
  48. package/docs/YATA-GLOBAL-GUIDE.ja.md +750 -0
  49. package/docs/YATA-GLOBAL-GUIDE.md +595 -0
  50. package/docs/YATA-LOCAL-GUIDE.ja.md +989 -0
  51. package/docs/YATA-LOCAL-GUIDE.md +730 -0
  52. package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +75 -0
  53. package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +79 -0
  54. package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +90 -0
  55. package/docs/adr/ADR-v3.4.0-001-deep-research-architecture.md +217 -0
  56. package/docs/adr/ADR-v3.4.0-002-search-provider-selection.md +308 -0
  57. package/docs/adr/ADR-v3.4.0-003-lm-api-integration.md +475 -0
  58. package/docs/enterprise-knowledge-management.md +1737 -0
  59. package/docs/evolution-from-musubi-to-musubix.md +2170 -0
  60. package/docs/getting-started-with-sdd.md +1602 -0
  61. package/docs/moodle-refactering-codegraph-musubix.md +391 -0
  62. package/docs/moodle-refactering-codegraph.md +278 -0
  63. package/docs/overview/MUSUBIX-CodeGraph.md +322 -0
  64. package/docs/overview/MUSUBIX-Core.md +671 -0
  65. package/docs/overview/MUSUBIX-Decisions.md +494 -0
  66. package/docs/overview/MUSUBIX-FormalVerify.md +566 -0
  67. package/docs/overview/MUSUBIX-Knowledge.md +1231 -0
  68. package/docs/overview/MUSUBIX-Learning.md +837 -0
  69. package/docs/overview/MUSUBIX-MCP-Server.md +535 -0
  70. package/docs/overview/MUSUBIX-Overview.md +264 -0
  71. package/docs/overview/MUSUBIX-Phase1-Complete.md +271 -0
  72. package/docs/overview/MUSUBIX-Phase2-Complete.md +310 -0
  73. package/docs/overview/MUSUBIX-Policy.md +477 -0
  74. package/docs/overview/MUSUBIX-Roadmap-v2.md +399 -0
  75. package/docs/overview/MUSUBIX-Security-Plan.md +939 -0
  76. package/docs/overview/MUSUBIX-Security-v2.1.md +668 -0
  77. package/docs/overview/MUSUBIX-Security.md +891 -0
  78. package/docs/overview/MUSUBIX-YATA.md +666 -0
  79. package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +513 -0
  80. package/docs/overview/Neuro-SymbolicAI.md +159 -0
  81. package/docs/packages/knowledge.md +594 -0
  82. package/docs/qiita-linux-kernel-knowledge-graph.md +596 -0
  83. package/package.json +58 -51
  84. package/scripts/generate-quality-gate-report.ts +106 -0
  85. package/scripts/postinstall.js +94 -0
  86. package/steering/.musubi-version +1 -0
  87. package/steering/product.ja.md +572 -0
  88. package/steering/project.yml +66 -0
  89. package/steering/rules/constitution.md +491 -0
  90. package/steering/structure.ja.md +503 -0
  91. package/steering/tech.ja.md +208 -0
  92. package/dist/index.d.ts +0 -25
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js +0 -74
  95. package/dist/index.js.map +0 -1
@@ -0,0 +1,494 @@
1
+ # MUSUBIX Decisions パッケージ
2
+
3
+ **パッケージ名**: `@musubix/decisions`
4
+ **バージョン**: 3.0.1
5
+ **最終更新**: 2026-01-12
6
+
7
+ ---
8
+
9
+ ## 1. 概要
10
+
11
+ `@musubix/decisions` は、MUSUBIX v3.0で導入されたArchitecture Decision Records(ADR)管理システムです。アーキテクチャ決定を構造化されたMarkdownファイルで記録・追跡し、チーム間の知識共有と意思決定の透明性を実現します。
12
+
13
+ ### 1.1 特徴
14
+
15
+ | 特徴 | 説明 |
16
+ |------|------|
17
+ | **Markdown形式** | 人間が読みやすく、Gitでdiff可能 |
18
+ | **ライフサイクル管理** | proposed → accepted → deprecated/superseded |
19
+ | **要件との紐付け** | REQ-* IDとの関連付けをサポート |
20
+ | **検索・フィルタ** | キーワード検索、ステータスフィルタ |
21
+ | **インデックス生成** | ADR一覧の自動生成 |
22
+
23
+ ### 1.2 ADRステータス
24
+
25
+ ```
26
+ proposed → accepted → deprecated
27
+
28
+ superseded (by newer ADR)
29
+ ```
30
+
31
+ | ステータス | 説明 |
32
+ |-----------|------|
33
+ | `proposed` | 提案中(レビュー待ち) |
34
+ | `accepted` | 承認済み(適用中) |
35
+ | `deprecated` | 非推奨(使用しない) |
36
+ | `superseded` | 置き換え済み(新ADRあり) |
37
+
38
+ ### 1.3 ストレージ構造
39
+
40
+ ```
41
+ docs/decisions/
42
+ ├── ADR-0001-jwt-authentication.md
43
+ ├── ADR-0002-monorepo-structure.md
44
+ ├── ADR-0003-testing-strategy.md
45
+ └── index.md # 自動生成
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 2. インストール
51
+
52
+ ```bash
53
+ # 単体インストール
54
+ npm install @musubix/decisions
55
+
56
+ # または musubix パッケージ経由
57
+ npm install musubix
58
+ ```
59
+
60
+ ---
61
+
62
+ ## 3. 基本的な使い方
63
+
64
+ ### 3.1 Decision Managerの初期化
65
+
66
+ ```typescript
67
+ import { createDecisionManager } from '@musubix/decisions';
68
+
69
+ // docs/decisions/ にADRを保存
70
+ const manager = createDecisionManager('docs/decisions');
71
+ ```
72
+
73
+ ### 3.2 ADRの作成
74
+
75
+ ```typescript
76
+ const adr = await manager.create({
77
+ title: 'JWT認証の採用',
78
+ context: `
79
+ ユーザー認証の仕組みが必要。
80
+ セッション管理のオーバーヘッドを避けたい。
81
+ マイクロサービス間での認証情報共有が必要。
82
+ `,
83
+ decision: 'JWTトークンベースの認証を採用する。',
84
+ rationale: `
85
+ - ステートレスでスケーラブル
86
+ - マイクロサービス間でも利用可能
87
+ - 業界標準で豊富なライブラリがある
88
+ `,
89
+ alternatives: [
90
+ 'セッションベース認証',
91
+ 'OAuth2のみ',
92
+ 'API Key認証',
93
+ ],
94
+ consequences: [
95
+ 'トークン失効の仕組みが必要',
96
+ 'トークンサイズに注意(ペイロードが大きくなりがち)',
97
+ 'セキュアな署名鍵管理が必要',
98
+ ],
99
+ relatedRequirements: ['REQ-AUTH-001', 'REQ-SEC-002'],
100
+ decider: 'Tech Lead',
101
+ });
102
+
103
+ console.log(`ADR-${adr.id} created: ${adr.title}`);
104
+ // => ADR-0001 created: JWT認証の採用
105
+ ```
106
+
107
+ ### 3.3 生成されるMarkdownファイル
108
+
109
+ ```markdown
110
+ # ADR-0001: JWT認証の採用
111
+
112
+ ## Status
113
+
114
+ proposed
115
+
116
+ ## Context
117
+
118
+ ユーザー認証の仕組みが必要。
119
+ セッション管理のオーバーヘッドを避けたい。
120
+ マイクロサービス間での認証情報共有が必要。
121
+
122
+ ## Decision
123
+
124
+ JWTトークンベースの認証を採用する。
125
+
126
+ ## Rationale
127
+
128
+ - ステートレスでスケーラブル
129
+ - マイクロサービス間でも利用可能
130
+ - 業界標準で豊富なライブラリがある
131
+
132
+ ## Alternatives Considered
133
+
134
+ 1. セッションベース認証
135
+ 2. OAuth2のみ
136
+ 3. API Key認証
137
+
138
+ ## Consequences
139
+
140
+ - トークン失効の仕組みが必要
141
+ - トークンサイズに注意(ペイロードが大きくなりがち)
142
+ - セキュアな署名鍵管理が必要
143
+
144
+ ## Related Requirements
145
+
146
+ - REQ-AUTH-001
147
+ - REQ-SEC-002
148
+
149
+ ## Metadata
150
+
151
+ - **Decider**: Tech Lead
152
+ - **Date**: 2026-01-12
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 4. ADRの取得
158
+
159
+ ### 4.1 IDで取得
160
+
161
+ ```typescript
162
+ const adr = await manager.get('0001');
163
+
164
+ if (adr) {
165
+ console.log(adr.title); // => 'JWT認証の採用'
166
+ console.log(adr.status); // => 'proposed'
167
+ console.log(adr.decision); // => 'JWTトークンベースの認証を採用する。'
168
+ }
169
+ ```
170
+
171
+ ### 4.2 一覧取得
172
+
173
+ ```typescript
174
+ // 全ADR
175
+ const all = await manager.list();
176
+
177
+ // ステータスでフィルタ
178
+ const accepted = await manager.list({ status: 'accepted' });
179
+ const proposed = await manager.list({ status: 'proposed' });
180
+
181
+ // キーワード検索
182
+ const authRelated = await manager.list({ keyword: '認証' });
183
+ ```
184
+
185
+ ---
186
+
187
+ ## 5. ADRの状態遷移
188
+
189
+ ### 5.1 承認(Accept)
190
+
191
+ ```typescript
192
+ const adr = await manager.accept('0001');
193
+ console.log(adr.status); // => 'accepted'
194
+ ```
195
+
196
+ ### 5.2 非推奨化(Deprecate)
197
+
198
+ ```typescript
199
+ // 単純な非推奨
200
+ await manager.deprecate('0001');
201
+
202
+ // 理由を記録
203
+ await manager.deprecate('0001', {
204
+ reason: 'セキュリティ要件の変更により不採用',
205
+ });
206
+ ```
207
+
208
+ ### 5.3 置き換え(Supersede)
209
+
210
+ ```typescript
211
+ // 新しいADRで置き換え
212
+ await manager.supersede('0001', '0005');
213
+
214
+ // 0001のステータスは 'superseded' になり、
215
+ // supersededBy: '0005' が記録される
216
+ ```
217
+
218
+ ---
219
+
220
+ ## 6. ADR検索
221
+
222
+ ### 6.1 キーワード検索
223
+
224
+ ```typescript
225
+ const results = await manager.search('認証');
226
+
227
+ for (const adr of results) {
228
+ console.log(`ADR-${adr.id}: ${adr.title}`);
229
+ }
230
+ ```
231
+
232
+ ### 6.2 要件からADR検索
233
+
234
+ ```typescript
235
+ // 特定の要件に関連するADRを検索
236
+ const relatedADRs = await manager.findByRequirement('REQ-AUTH-001');
237
+
238
+ console.log(`REQ-AUTH-001 に関連するADR: ${relatedADRs.length}件`);
239
+ ```
240
+
241
+ ---
242
+
243
+ ## 7. インデックス生成
244
+
245
+ ```typescript
246
+ // docs/decisions/index.md を自動生成
247
+ await manager.generateIndex();
248
+ ```
249
+
250
+ 生成される `index.md`:
251
+
252
+ ```markdown
253
+ # Architecture Decision Records
254
+
255
+ | ID | Title | Status | Date |
256
+ |----|-------|--------|------|
257
+ | [ADR-0001](./ADR-0001-jwt-authentication.md) | JWT認証の採用 | accepted | 2026-01-12 |
258
+ | [ADR-0002](./ADR-0002-monorepo-structure.md) | モノレポ構造の採用 | accepted | 2026-01-12 |
259
+ | [ADR-0003](./ADR-0003-testing-strategy.md) | テスト戦略 | proposed | 2026-01-12 |
260
+
261
+ ## By Status
262
+
263
+ ### Accepted (2)
264
+ - [ADR-0001](./ADR-0001-jwt-authentication.md): JWT認証の採用
265
+ - [ADR-0002](./ADR-0002-monorepo-structure.md): モノレポ構造の採用
266
+
267
+ ### Proposed (1)
268
+ - [ADR-0003](./ADR-0003-testing-strategy.md): テスト戦略
269
+ ```
270
+
271
+ ---
272
+
273
+ ## 8. ADRの更新と削除
274
+
275
+ ### 8.1 更新
276
+
277
+ ```typescript
278
+ const updated = await manager.update('0001', {
279
+ consequences: [
280
+ ...existingConsequences,
281
+ 'リフレッシュトークンの導入が必要になった',
282
+ ],
283
+ });
284
+ ```
285
+
286
+ ### 8.2 削除
287
+
288
+ ```typescript
289
+ // ⚠️ 通常は deprecate/supersede を使用
290
+ const deleted = await manager.delete('0003');
291
+ console.log(deleted); // => true
292
+ ```
293
+
294
+ ---
295
+
296
+ ## 9. API リファレンス
297
+
298
+ ### 9.1 DecisionManager インターフェース
299
+
300
+ ```typescript
301
+ interface DecisionManager {
302
+ // CRUD
303
+ create(input: ADRInput): Promise<ADR>;
304
+ get(id: string): Promise<ADR | null>;
305
+ list(filter?: ADRFilter): Promise<ADR[]>;
306
+ update(id: string, updates: Partial<ADRInput>): Promise<ADR>;
307
+ delete(id: string): Promise<boolean>;
308
+
309
+ // ステータス遷移
310
+ accept(id: string): Promise<ADR>;
311
+ deprecate(id: string, options?: DeprecateOptions): Promise<ADR>;
312
+ supersede(oldId: string, newId: string): Promise<ADR>;
313
+
314
+ // 検索
315
+ search(keyword: string): Promise<ADR[]>;
316
+ findByRequirement(requirementId: string): Promise<ADR[]>;
317
+
318
+ // インデックス
319
+ generateIndex(): Promise<void>;
320
+ }
321
+ ```
322
+
323
+ ### 9.2 ADR インターフェース
324
+
325
+ ```typescript
326
+ interface ADR {
327
+ id: string; // 例: '0001'
328
+ title: string; // 決定タイトル
329
+ status: ADRStatus; // 'proposed' | 'accepted' | 'deprecated' | 'superseded'
330
+ context: string; // 背景・問題
331
+ decision: string; // 決定内容
332
+ rationale: string; // 理由・根拠
333
+ alternatives: string[]; // 検討した代替案
334
+ consequences: string[]; // 結果・影響
335
+ relatedRequirements?: string[]; // 関連要件ID
336
+ decider?: string; // 決定者
337
+ date: string; // 作成日
338
+ supersededBy?: string; // 置き換え先ADR ID
339
+ }
340
+ ```
341
+
342
+ ### 9.3 ADRInput インターフェース
343
+
344
+ ```typescript
345
+ interface ADRInput {
346
+ title: string;
347
+ context: string;
348
+ decision: string;
349
+ rationale: string;
350
+ alternatives?: string[];
351
+ consequences?: string[];
352
+ relatedRequirements?: string[];
353
+ decider?: string;
354
+ }
355
+ ```
356
+
357
+ ---
358
+
359
+ ## 10. ユースケース
360
+
361
+ ### 10.1 技術選定の記録
362
+
363
+ ```typescript
364
+ const techDecision = await manager.create({
365
+ title: 'フロントエンドフレームワークの選定',
366
+ context: `
367
+ 新規Webアプリケーションの開発において、
368
+ フロントエンドフレームワークを選定する必要がある。
369
+ チームのスキルセットとプロジェクト要件を考慮。
370
+ `,
371
+ decision: 'React + TypeScriptを採用する。',
372
+ rationale: `
373
+ - チームの大半がReact経験者
374
+ - 豊富なエコシステムとコミュニティサポート
375
+ - TypeScriptとの親和性が高い
376
+ `,
377
+ alternatives: [
378
+ 'Vue.js',
379
+ 'Angular',
380
+ 'Svelte',
381
+ ],
382
+ consequences: [
383
+ 'React 18の新機能(Concurrent Mode等)の学習が必要',
384
+ '状態管理ライブラリの選定が別途必要',
385
+ ],
386
+ relatedRequirements: ['REQ-UI-001'],
387
+ decider: 'Frontend Lead',
388
+ });
389
+ ```
390
+
391
+ ### 10.2 アーキテクチャ変更の記録
392
+
393
+ ```typescript
394
+ const archDecision = await manager.create({
395
+ title: 'マイクロサービスへの移行',
396
+ context: `
397
+ モノリシックアーキテクチャの限界に直面。
398
+ スケーラビリティとデプロイ頻度の向上が必要。
399
+ `,
400
+ decision: 'ドメイン駆動設計に基づくマイクロサービス化を段階的に進める。',
401
+ rationale: `
402
+ - 各サービスの独立したスケーリング
403
+ - チーム間の独立性向上
404
+ - 技術スタックの柔軟性
405
+ `,
406
+ alternatives: [
407
+ 'モノリスの最適化継続',
408
+ 'サーバーレス完全移行',
409
+ ],
410
+ consequences: [
411
+ '運用複雑性の増加',
412
+ '分散トレーシングの導入が必要',
413
+ 'サービス間通信の設計が重要',
414
+ ],
415
+ relatedRequirements: ['REQ-SCALE-001', 'REQ-ARCH-002'],
416
+ decider: 'CTO',
417
+ });
418
+ ```
419
+
420
+ ### 10.3 ADR駆動の開発フロー
421
+
422
+ ```typescript
423
+ // 1. 新機能の設計時にADRを作成
424
+ const adr = await manager.create({
425
+ title: 'キャッシュ戦略',
426
+ // ...
427
+ });
428
+
429
+ // 2. チームレビュー後に承認
430
+ await manager.accept(adr.id);
431
+
432
+ // 3. 要件変更時に新ADRで置き換え
433
+ const newAdr = await manager.create({
434
+ title: 'Redis分散キャッシュの導入',
435
+ // ...
436
+ });
437
+ await manager.supersede(adr.id, newAdr.id);
438
+
439
+ // 4. インデックス更新
440
+ await manager.generateIndex();
441
+ ```
442
+
443
+ ---
444
+
445
+ ## 11. ベストプラクティス
446
+
447
+ ### 11.1 ADRを書くタイミング
448
+
449
+ - 重要な技術選定時
450
+ - アーキテクチャの変更時
451
+ - 標準・規約の制定時
452
+ - トレードオフのある決定時
453
+
454
+ ### 11.2 ADRに含めるべき情報
455
+
456
+ - **十分なコンテキスト**: 後から読む人が背景を理解できるように
457
+ - **明確な決定**: 曖昧さを排除
458
+ - **検討した代替案**: なぜ他の選択肢を選ばなかったか
459
+ - **予想される影響**: 良い面も悪い面も
460
+
461
+ ### 11.3 ADRのライフサイクル管理
462
+
463
+ ```typescript
464
+ // ❌ 悪い例: ADRを削除
465
+ await manager.delete('0001');
466
+
467
+ // ✅ 良い例: 非推奨または置き換え
468
+ await manager.deprecate('0001', {
469
+ reason: '要件変更により不採用'
470
+ });
471
+
472
+ // または
473
+ await manager.supersede('0001', '0005');
474
+ ```
475
+
476
+ ---
477
+
478
+ ## 12. 関連パッケージ
479
+
480
+ | パッケージ | 説明 |
481
+ |------------|------|
482
+ | `@musubix/knowledge` | Git-Native知識グラフシステム |
483
+ | `@musubix/policy` | 9憲法条項に基づくポリシー検証 |
484
+ | `musubix` | 3パッケージを含むメインパッケージ |
485
+
486
+ ---
487
+
488
+ ## 13. 参照
489
+
490
+ - [MUSUBIX v3.0 User Guide](../MUSUBIX-v3.0-User-Guide.md)
491
+ - [ADR GitHub Organization](https://adr.github.io/)
492
+ - [Michael Nygard's Original ADR Post](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
493
+ - [GitHub Repository](https://github.com/nahisaho/MUSUBIX)
494
+ - [npm Package](https://www.npmjs.com/package/@musubix/decisions)