musubix 2.3.7 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/.github/AGENTS.md +242 -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 +229 -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 +210 -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 +772 -0
  25. package/LICENSE +21 -0
  26. package/README.ja.md +302 -0
  27. package/README.md +310 -44
  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/MUSUBI-enhancement_roadmap_20260105.md +651 -0
  35. package/docs/MUSUBIXv2.2.0-Manual-outline.md +136 -0
  36. package/docs/MUSUBIXv2.2.0-Manual.md +3123 -0
  37. package/docs/MUSUBIXv2.3.5-Refactering.md +1310 -0
  38. package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +291 -0
  39. package/docs/MUSUBIv2.2.0-USERGUIDE.md +2079 -0
  40. package/docs/ROADMAP-v1.5.md +116 -0
  41. package/docs/SwarmCoding.md +1284 -0
  42. package/docs/Test-prompt.md +105 -0
  43. package/docs/USER-GUIDE-v1.8.0.md +2371 -0
  44. package/docs/USER-GUIDE.ja.md +2147 -0
  45. package/docs/USER-GUIDE.md +2847 -0
  46. package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +75 -0
  47. package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +79 -0
  48. package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +90 -0
  49. package/docs/evolution-from-musubi-to-musubix.md +2170 -0
  50. package/docs/getting-started-with-sdd.md +1602 -0
  51. package/docs/moodle-refactering-codegraph-musubix.md +391 -0
  52. package/docs/moodle-refactering-codegraph.md +278 -0
  53. package/docs/overview/MUSUBIX-CodeGraph.md +322 -0
  54. package/docs/overview/MUSUBIX-Core.md +671 -0
  55. package/docs/overview/MUSUBIX-FormalVerify.md +566 -0
  56. package/docs/overview/MUSUBIX-Learning.md +837 -0
  57. package/docs/overview/MUSUBIX-MCP-Server.md +535 -0
  58. package/docs/overview/MUSUBIX-Overview.md +264 -0
  59. package/docs/overview/MUSUBIX-Phase1-Complete.md +271 -0
  60. package/docs/overview/MUSUBIX-Phase2-Complete.md +310 -0
  61. package/docs/overview/MUSUBIX-Roadmap-v2.md +399 -0
  62. package/docs/overview/MUSUBIX-Security-Plan.md +939 -0
  63. package/docs/overview/MUSUBIX-Security-v2.1.md +668 -0
  64. package/docs/overview/MUSUBIX-Security.md +891 -0
  65. package/docs/overview/MUSUBIX-YATA.md +666 -0
  66. package/docs/overview/MUSUBIX-v2.2.0-Advanced-Learning.md +513 -0
  67. package/docs/overview/Neuro-SymbolicAI.md +159 -0
  68. package/package.json +72 -51
  69. package/scripts/generate-quality-gate-report.ts +106 -0
  70. package/scripts/postinstall.js +94 -0
  71. package/steering/.musubi-version +1 -0
  72. package/steering/product.ja.md +572 -0
  73. package/steering/project.yml +66 -0
  74. package/steering/rules/constitution.md +412 -0
  75. package/steering/structure.ja.md +503 -0
  76. package/steering/tech.ja.md +208 -0
  77. package/dist/index.d.ts +0 -26
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/index.js +0 -75
  80. package/dist/index.js.map +0 -1
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: musubix-test-generation
3
+ description: Guide for generating test code from designs and requirements. Use this when asked to create unit tests, integration tests, or test coverage analysis following TDD/BDD practices.
4
+ license: MIT
5
+ ---
6
+
7
+ # MUSUBIX Test Generation Skill
8
+
9
+ This skill guides you through generating comprehensive test suites that maintain traceability.
10
+
11
+ ## Overview
12
+
13
+ MUSUBIX follows **Article III - Test-First**: Red-Green-Blue TDD cycle.
14
+
15
+ ```mermaid
16
+ flowchart LR
17
+ RED[🔴 Red<br/>Failing Test] --> GREEN[🟢 Green<br/>Minimal Code]
18
+ GREEN --> BLUE[🔵 Blue<br/>Refactor]
19
+ BLUE --> RED
20
+ ```
21
+
22
+ ## Test Structure
23
+
24
+ ### Unit Test Template
25
+
26
+ ```typescript
27
+ /**
28
+ * @requirement REQ-XXX-NNN
29
+ * @design DES-XXX-NNN
30
+ */
31
+ import { describe, it, expect, beforeEach } from 'vitest';
32
+ import { XxxService } from './xxx-service.js';
33
+ import { resetXxxCounter } from './xxx-entity.js';
34
+
35
+ describe('XxxService', () => {
36
+ let service: XxxService;
37
+ let repository: MockXxxRepository;
38
+
39
+ beforeEach(() => {
40
+ // BP-TEST-001: Reset counters before each test
41
+ resetXxxCounter();
42
+ repository = new MockXxxRepository();
43
+ service = new XxxService(repository);
44
+ });
45
+
46
+ describe('create', () => {
47
+ it('should create entity with valid input', async () => {
48
+ // Arrange
49
+ const input = { name: 'Test', value: 100 };
50
+
51
+ // Act
52
+ const result = await service.create(input);
53
+
54
+ // Assert
55
+ expect(result.isOk()).toBe(true);
56
+ if (result.isOk()) {
57
+ expect(result.value.name).toBe('Test');
58
+ }
59
+ });
60
+
61
+ it('should return error for invalid input', async () => {
62
+ // Arrange
63
+ const input = { name: '', value: -1 };
64
+
65
+ // Act
66
+ const result = await service.create(input);
67
+
68
+ // Assert
69
+ expect(result.isErr()).toBe(true);
70
+ });
71
+ });
72
+ });
73
+ ```
74
+
75
+ ### Integration Test Template
76
+
77
+ ```typescript
78
+ /**
79
+ * @requirement REQ-XXX-NNN
80
+ * @design DES-XXX-NNN
81
+ */
82
+ import { describe, it, expect, beforeAll, afterAll } from 'vitest';
83
+
84
+ describe('XxxService Integration', () => {
85
+ beforeAll(async () => {
86
+ // Setup test environment
87
+ });
88
+
89
+ afterAll(async () => {
90
+ // Cleanup
91
+ });
92
+
93
+ it('should complete full workflow', async () => {
94
+ // Test full user journey
95
+ });
96
+ });
97
+ ```
98
+
99
+ ## Best Practices for Testing
100
+
101
+ ### BP-TEST-001: Test Counter Reset
102
+
103
+ ```typescript
104
+ beforeEach(() => {
105
+ resetPetCounter(); // Reset ID counters
106
+ resetReservationCounter();
107
+ });
108
+ ```
109
+
110
+ ### BP-TEST-002: Verify API Before Test
111
+
112
+ ```typescript
113
+ // ✅ Check actual API signature first
114
+ const service = new PetService(repository);
115
+ // Verify method exists and parameters match
116
+ ```
117
+
118
+ ### BP-TEST-004: Result Type Test Pattern
119
+
120
+ ```typescript
121
+ // ✅ Test both success and failure cases
122
+ it('should handle success', async () => {
123
+ const result = await service.create(validInput);
124
+ expect(result.isOk()).toBe(true);
125
+ if (result.isOk()) {
126
+ expect(result.value.id).toBeDefined();
127
+ }
128
+ });
129
+
130
+ it('should handle failure', async () => {
131
+ const result = await service.create(invalidInput);
132
+ expect(result.isErr()).toBe(true);
133
+ if (result.isErr()) {
134
+ expect(result.error.message).toContain('validation');
135
+ }
136
+ });
137
+ ```
138
+
139
+ ### BP-TEST-005: Status Transition Testing
140
+
141
+ ```typescript
142
+ describe('status transitions', () => {
143
+ // Valid transitions
144
+ it('should allow draft -> active', () => {
145
+ const result = workflow.transition('draft', 'activate');
146
+ expect(result).toBe('active');
147
+ });
148
+
149
+ // Invalid transitions
150
+ it('should reject completed -> draft', () => {
151
+ expect(() => workflow.transition('completed', 'revert'))
152
+ .toThrow('Invalid transition');
153
+ });
154
+ });
155
+ ```
156
+
157
+ ## Test Categories
158
+
159
+ | Category | Purpose | Location |
160
+ |----------|---------|----------|
161
+ | Unit | Single component | `__tests__/unit/` |
162
+ | Integration | Multiple components | `__tests__/integration/` |
163
+ | E2E | Full user flows | `__tests__/e2e/` |
164
+
165
+ ## CLI Commands
166
+
167
+ ```bash
168
+ # Generate tests from design
169
+ npx musubix test generate storage/design/DES-XXX.md
170
+
171
+ # Run all tests
172
+ npm test
173
+
174
+ # Coverage report
175
+ npx musubix test coverage src/
176
+
177
+ # Run specific test file
178
+ npm test -- xxx.test.ts
179
+ ```
180
+
181
+ ## Vitest Configuration
182
+
183
+ ```typescript
184
+ // vitest.config.ts
185
+ import { defineConfig } from 'vitest/config';
186
+
187
+ export default defineConfig({
188
+ test: {
189
+ globals: true,
190
+ environment: 'node',
191
+ include: ['**/*.test.ts'],
192
+ coverage: {
193
+ provider: 'v8',
194
+ reporter: ['text', 'json', 'html'],
195
+ },
196
+ },
197
+ });
198
+ ```
199
+
200
+ ## Coverage Targets
201
+
202
+ | Metric | Target |
203
+ |--------|--------|
204
+ | Line Coverage | ≥80% |
205
+ | Branch Coverage | ≥75% |
206
+ | Function Coverage | ≥90% |
207
+
208
+ ## Related Skills
209
+
210
+ - `musubix-sdd-workflow` - Full SDD workflow with TDD
211
+ - `musubix-code-generation` - Generate code to test
212
+ - `musubix-traceability` - Link tests to requirements
@@ -0,0 +1,141 @@
1
+ ---
2
+ name: musubix-traceability
3
+ description: Guide for managing traceability between requirements, designs, code, and tests. Use this when asked to verify traceability, create traceability matrices, or perform impact analysis.
4
+ license: MIT
5
+ ---
6
+
7
+ # MUSUBIX Traceability Skill
8
+
9
+ This skill guides you through maintaining full traceability across the development lifecycle.
10
+
11
+ ## Overview
12
+
13
+ MUSUBIX enforces **Article V - Traceability**: Complete bidirectional tracing between:
14
+
15
+ ```
16
+ Requirements (REQ-*) ↔ Design (DES-*) ↔ Tasks (TSK-*) ↔ Code ↔ Tests
17
+ ```
18
+
19
+ ## Traceability Matrix
20
+
21
+ ### Creating a Traceability Matrix
22
+
23
+ ```markdown
24
+ # Traceability Matrix
25
+
26
+ | 要件ID | 設計ID | タスクID | コード | テスト |
27
+ |--------|--------|---------|--------|--------|
28
+ | REQ-AUTH-001 | DES-AUTH-001 | TSK-001 | src/auth/auth-service.ts | auth.test.ts |
29
+ | REQ-AUTH-002 | DES-AUTH-001 | TSK-002 | src/auth/token-manager.ts | token.test.ts |
30
+ ```
31
+
32
+ ### CLI Commands
33
+
34
+ ```bash
35
+ # Generate traceability matrix
36
+ npx musubix trace matrix
37
+
38
+ # Impact analysis for a specific requirement
39
+ npx musubix trace impact REQ-AUTH-001
40
+
41
+ # Validate all traceability links
42
+ npx musubix trace validate
43
+ ```
44
+
45
+ ## Traceability in Code
46
+
47
+ ### Adding Traceability Comments
48
+
49
+ ```typescript
50
+ /**
51
+ * AuthService - 認証サービス
52
+ * @requirement REQ-AUTH-001
53
+ * @design DES-AUTH-001
54
+ * @task TSK-001
55
+ */
56
+ export class AuthService {
57
+ /**
58
+ * ユーザー認証
59
+ * @requirement REQ-AUTH-001
60
+ */
61
+ async authenticate(credentials: Credentials): Promise<Result<Token, AuthError>> {
62
+ // Implementation
63
+ }
64
+ }
65
+ ```
66
+
67
+ ### Test Traceability
68
+
69
+ ```typescript
70
+ /**
71
+ * @requirement REQ-AUTH-001
72
+ * @design DES-AUTH-001
73
+ */
74
+ describe('AuthService', () => {
75
+ describe('authenticate', () => {
76
+ it('should return token for valid credentials', async () => {
77
+ // Test implementation
78
+ });
79
+ });
80
+ });
81
+ ```
82
+
83
+ ## Impact Analysis
84
+
85
+ When a requirement changes, identify all affected artifacts:
86
+
87
+ ```mermaid
88
+ flowchart LR
89
+ REQ[REQ-AUTH-001<br/>変更] --> DES[DES-AUTH-001<br/>設計]
90
+ DES --> TSK1[TSK-001<br/>タスク]
91
+ DES --> TSK2[TSK-002<br/>タスク]
92
+ TSK1 --> CODE1[auth-service.ts]
93
+ TSK2 --> CODE2[token-manager.ts]
94
+ CODE1 --> TEST1[auth.test.ts]
95
+ CODE2 --> TEST2[token.test.ts]
96
+ ```
97
+
98
+ ### Impact Analysis Steps
99
+
100
+ 1. Identify changed requirement (REQ-*)
101
+ 2. Find linked designs (DES-*)
102
+ 3. Find linked tasks (TSK-*)
103
+ 4. Locate affected code files
104
+ 5. Identify tests to update
105
+ 6. Update all artifacts
106
+
107
+ ## Traceability Storage
108
+
109
+ ```
110
+ storage/traceability/
111
+ ├── matrix.json # Full traceability matrix
112
+ ├── requirements-map.json # REQ -> DES mappings
113
+ ├── design-map.json # DES -> TSK mappings
114
+ └── code-map.json # TSK -> Code mappings
115
+ ```
116
+
117
+ ## Verification Checklist
118
+
119
+ Before completing any feature:
120
+
121
+ - [ ] All requirements have linked designs
122
+ - [ ] All designs have linked tasks
123
+ - [ ] All tasks have linked code
124
+ - [ ] All code has linked tests
125
+ - [ ] Traceability comments in code
126
+ - [ ] Matrix updated
127
+
128
+ ## MCP Tool
129
+
130
+ Use MCP tool for automated validation:
131
+
132
+ ```
133
+ Tool: sdd_validate_traceability
134
+ Description: Validates bidirectional traceability across all artifacts
135
+ ```
136
+
137
+ ## Related Skills
138
+
139
+ - `musubix-sdd-workflow` - Full SDD workflow
140
+ - `musubix-ears-validation` - Requirements validation
141
+ - `musubix-test-generation` - Generate tests with traceability