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,142 @@
|
|
|
1
|
+
# Codemap Index Template
|
|
2
|
+
|
|
3
|
+
MUSUBIX コードマップのインデックステンプレートです。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📍 Entry Points
|
|
8
|
+
|
|
9
|
+
### CLI Commands
|
|
10
|
+
| Command | Location | Description |
|
|
11
|
+
|---------|----------|-------------|
|
|
12
|
+
| `musubix init` | [packages/core/src/cli/commands/init.ts](packages/core/src/cli/commands/init.ts) | プロジェクト初期化 |
|
|
13
|
+
| `musubix requirements` | [packages/core/src/cli/commands/requirements.ts](packages/core/src/cli/commands/requirements.ts) | 要件分析 |
|
|
14
|
+
| `musubix design` | [packages/core/src/cli/commands/design.ts](packages/core/src/cli/commands/design.ts) | 設計生成 |
|
|
15
|
+
| `musubix codegen` | [packages/core/src/cli/commands/codegen.ts](packages/core/src/cli/commands/codegen.ts) | コード生成 |
|
|
16
|
+
|
|
17
|
+
### MCP Tools
|
|
18
|
+
| Tool | Location | Description |
|
|
19
|
+
|------|----------|-------------|
|
|
20
|
+
| `sdd_create_requirements` | [packages/mcp-server/src/tools/](packages/mcp-server/src/tools/) | 要件作成 |
|
|
21
|
+
| `pattern_extract` | [packages/pattern-mcp/src/](packages/pattern-mcp/src/) | パターン抽出 |
|
|
22
|
+
| `knowledge_put_entity` | [packages/knowledge/src/](packages/knowledge/src/) | 知識グラフ操作 |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🔌 Integration Points
|
|
27
|
+
|
|
28
|
+
### External Systems
|
|
29
|
+
```
|
|
30
|
+
┌──────────────────────────────────────────────────────────┐
|
|
31
|
+
│ MUSUBIX System │
|
|
32
|
+
├──────────────────────────────────────────────────────────┤
|
|
33
|
+
│ MCP Server ←→ Claude/Copilot │
|
|
34
|
+
│ Knowledge Store ←→ .knowledge/graph.json │
|
|
35
|
+
│ Policy Engine ←→ steering/rules/ │
|
|
36
|
+
│ Codegraph ←→ TypeScript AST │
|
|
37
|
+
└──────────────────────────────────────────────────────────┘
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Package Dependencies
|
|
41
|
+
```
|
|
42
|
+
core
|
|
43
|
+
├── mcp-server (depends on)
|
|
44
|
+
├── security (depends on)
|
|
45
|
+
└── formal-verify (depends on)
|
|
46
|
+
|
|
47
|
+
knowledge
|
|
48
|
+
├── policy (depends on)
|
|
49
|
+
└── decisions (depends on)
|
|
50
|
+
|
|
51
|
+
agent-orchestrator
|
|
52
|
+
├── workflow-engine (depends on)
|
|
53
|
+
├── skill-manager (depends on)
|
|
54
|
+
└── expert-delegation (depends on)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 📊 Key Data Flows
|
|
60
|
+
|
|
61
|
+
### Requirements → Code Flow
|
|
62
|
+
```
|
|
63
|
+
1. Natural Language (User Input)
|
|
64
|
+
↓
|
|
65
|
+
2. EARS Requirements (REQ-*)
|
|
66
|
+
↓ [packages/core/src/validators/ears-validator.ts]
|
|
67
|
+
3. C4 Design (DES-*)
|
|
68
|
+
↓ [packages/core/src/design/]
|
|
69
|
+
4. Implementation Tasks (TSK-*)
|
|
70
|
+
↓ [packages/core/src/codegen/]
|
|
71
|
+
5. Generated Code
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Pattern Learning Flow
|
|
75
|
+
```
|
|
76
|
+
1. Code Observation
|
|
77
|
+
↓
|
|
78
|
+
2. Pattern Extraction [packages/pattern-mcp/]
|
|
79
|
+
↓
|
|
80
|
+
3. Pattern Storage [packages/library-learner/]
|
|
81
|
+
↓
|
|
82
|
+
4. Pattern Query & Reuse
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 🧩 Core Abstractions
|
|
88
|
+
|
|
89
|
+
### Entities
|
|
90
|
+
- `Requirement`: EARS形式の要件
|
|
91
|
+
- `Design`: C4モデルの設計
|
|
92
|
+
- `Pattern`: 学習済みコードパターン
|
|
93
|
+
- `Entity`: Knowledge Graph のエンティティ
|
|
94
|
+
|
|
95
|
+
### Services
|
|
96
|
+
- `EarsValidator`: EARS構文検証
|
|
97
|
+
- `PatternLibrary`: パターン管理
|
|
98
|
+
- `KnowledgeStore`: 知識グラフ操作
|
|
99
|
+
- `PolicyEngine`: 憲法条項検証
|
|
100
|
+
|
|
101
|
+
### Bridges (Integration)
|
|
102
|
+
- `PatternBridge`: Core ↔ Pattern-MCP
|
|
103
|
+
- `KnowledgeBridge`: Core ↔ Knowledge
|
|
104
|
+
- `QualityGateBridge`: Core ↔ Policy
|
|
105
|
+
- `CodemapBridge`: Core ↔ Codegraph
|
|
106
|
+
- `RefactorCleanerBridge`: Core ↔ Security
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 🔍 Quick Navigation
|
|
111
|
+
|
|
112
|
+
### "Where is X defined?"
|
|
113
|
+
|
|
114
|
+
| Concept | Location |
|
|
115
|
+
|---------|----------|
|
|
116
|
+
| EARS Patterns | [packages/core/src/validators/ears-patterns.ts](packages/core/src/validators/ears-patterns.ts) |
|
|
117
|
+
| 10 Constitution Articles | [steering/rules/constitution.md](steering/rules/constitution.md) |
|
|
118
|
+
| MCP Tool Definitions | [packages/mcp-server/src/tools/](packages/mcp-server/src/tools/) |
|
|
119
|
+
| Type Definitions | [packages/core/src/types/](packages/core/src/types/) |
|
|
120
|
+
|
|
121
|
+
### "How does Y work?"
|
|
122
|
+
|
|
123
|
+
| Feature | Key Files |
|
|
124
|
+
|---------|-----------|
|
|
125
|
+
| Pattern Learning | `packages/pattern-mcp/src/pattern-library.ts`, `packages/wake-sleep/src/` |
|
|
126
|
+
| Traceability | `packages/core/src/traceability/` |
|
|
127
|
+
| Formal Verification | `packages/formal-verify/src/`, `packages/lean/src/` |
|
|
128
|
+
| Neural Search | `packages/neural-search/src/` |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 📝 Update Instructions
|
|
133
|
+
|
|
134
|
+
このファイルを更新する際の手順:
|
|
135
|
+
|
|
136
|
+
1. 新しいパッケージ追加時 → Integration Points セクション更新
|
|
137
|
+
2. 新しい CLI コマンド追加時 → Entry Points セクション更新
|
|
138
|
+
3. 新しい Bridge 追加時 → Core Abstractions セクション更新
|
|
139
|
+
4. 新しい型定義追加時 → Quick Navigation セクション更新
|
|
140
|
+
|
|
141
|
+
**更新者**: 各パッケージのメンテナ
|
|
142
|
+
**頻度**: リリースごと
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Package Codemap Template
|
|
2
|
+
|
|
3
|
+
個別パッケージのコードマップテンプレートです。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Package: `@nahisaho/musubix-{package-name}`
|
|
8
|
+
|
|
9
|
+
### Overview
|
|
10
|
+
|
|
11
|
+
| Property | Value |
|
|
12
|
+
|----------|-------|
|
|
13
|
+
| **Purpose** | {パッケージの目的} |
|
|
14
|
+
| **Version** | {バージョン} |
|
|
15
|
+
| **Dependencies** | {主要依存パッケージ} |
|
|
16
|
+
| **Test Count** | {テスト数} |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### Directory Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
packages/{package-name}/
|
|
24
|
+
├── package.json
|
|
25
|
+
├── tsconfig.json
|
|
26
|
+
├── vitest.config.ts
|
|
27
|
+
└── src/
|
|
28
|
+
├── index.ts # Public exports
|
|
29
|
+
├── types.ts # Type definitions
|
|
30
|
+
├── {module}/ # Feature modules
|
|
31
|
+
│ ├── index.ts
|
|
32
|
+
│ ├── {service}.ts
|
|
33
|
+
│ └── __tests__/
|
|
34
|
+
│ └── {service}.test.ts
|
|
35
|
+
└── integration/ # Integration bridges
|
|
36
|
+
├── index.ts
|
|
37
|
+
└── __tests__/
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Public API
|
|
43
|
+
|
|
44
|
+
#### Exports from `index.ts`
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// Main exports
|
|
48
|
+
export { MainService } from './main-service';
|
|
49
|
+
export { HelperFunction } from './helpers';
|
|
50
|
+
|
|
51
|
+
// Types
|
|
52
|
+
export type { MainConfig, MainResult } from './types';
|
|
53
|
+
|
|
54
|
+
// Constants
|
|
55
|
+
export { DEFAULT_CONFIG } from './constants';
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
#### Key Functions
|
|
59
|
+
|
|
60
|
+
| Function | Signature | Description |
|
|
61
|
+
|----------|-----------|-------------|
|
|
62
|
+
| `createService` | `(config: Config) => Service` | サービスインスタンス生成 |
|
|
63
|
+
| `processData` | `(data: Input) => Result<Output, Error>` | データ処理 |
|
|
64
|
+
| `validateInput` | `(input: unknown) => boolean` | 入力検証 |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Internal Modules
|
|
69
|
+
|
|
70
|
+
#### `{module-name}/`
|
|
71
|
+
|
|
72
|
+
**Purpose**: {モジュールの目的}
|
|
73
|
+
|
|
74
|
+
**Key Files**:
|
|
75
|
+
- `service.ts`: {説明}
|
|
76
|
+
- `types.ts`: {説明}
|
|
77
|
+
- `utils.ts`: {説明}
|
|
78
|
+
|
|
79
|
+
**Dependencies**:
|
|
80
|
+
- `../types`: 型定義
|
|
81
|
+
- `external-package`: {用途}
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### Data Flow
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Input
|
|
89
|
+
↓ [validate]
|
|
90
|
+
Validated Input
|
|
91
|
+
↓ [process]
|
|
92
|
+
Intermediate State
|
|
93
|
+
↓ [transform]
|
|
94
|
+
Output
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Integration Points
|
|
100
|
+
|
|
101
|
+
#### Consumed By
|
|
102
|
+
- `@nahisaho/musubix-{consumer-package}`: {用途}
|
|
103
|
+
|
|
104
|
+
#### Consumes
|
|
105
|
+
- `@nahisaho/musubix-{dependency-package}`: {用途}
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### Configuration
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
interface Config {
|
|
113
|
+
// Required
|
|
114
|
+
required: string;
|
|
115
|
+
|
|
116
|
+
// Optional with defaults
|
|
117
|
+
optional?: number; // default: 10
|
|
118
|
+
|
|
119
|
+
// Feature flags
|
|
120
|
+
enableFeature?: boolean; // default: false
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Error Handling
|
|
127
|
+
|
|
128
|
+
| Error Class | When Thrown | Recovery |
|
|
129
|
+
|-------------|-------------|----------|
|
|
130
|
+
| `ValidationError` | Invalid input | Fix input |
|
|
131
|
+
| `ProcessingError` | Processing failure | Retry |
|
|
132
|
+
| `ConfigError` | Invalid config | Fix config |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### Testing Strategy
|
|
137
|
+
|
|
138
|
+
| Type | Coverage Target | Location |
|
|
139
|
+
|------|-----------------|----------|
|
|
140
|
+
| Unit | 80%+ | `src/**/__tests__/*.test.ts` |
|
|
141
|
+
| Integration | Key flows | `src/integration/__tests__/` |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Change History
|
|
146
|
+
|
|
147
|
+
| Version | Changes |
|
|
148
|
+
|---------|---------|
|
|
149
|
+
| v3.7.0 | Initial release |
|
|
150
|
+
| v3.7.1 | Bug fixes |
|
|
151
|
+
| v3.7.2 | Performance improvements |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Update Instructions
|
|
156
|
+
|
|
157
|
+
1. 新しい export 追加時 → Public API セクション更新
|
|
158
|
+
2. 新しいモジュール追加時 → Internal Modules セクション更新
|
|
159
|
+
3. 設定項目追加時 → Configuration セクション更新
|
|
160
|
+
4. 新しいエラー追加時 → Error Handling セクション更新
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-optimizer
|
|
3
|
+
description: コンテキストウィンドウ最適化。圧縮提案、Pre/PostToolUse Hooks、モード注入。
|
|
4
|
+
license: MIT
|
|
5
|
+
version: 1.1.0
|
|
6
|
+
triggers:
|
|
7
|
+
- ツール呼び出し50回超過
|
|
8
|
+
- ファイル編集後
|
|
9
|
+
- 危険なコマンド実行前
|
|
10
|
+
- /mode
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Context Optimizer
|
|
14
|
+
|
|
15
|
+
> **要約**: コンテキストウィンドウを最適化し、効率的なセッション管理を支援。
|
|
16
|
+
|
|
17
|
+
## 🔄 トリガーと即時アクション
|
|
18
|
+
|
|
19
|
+
### 1. Strategic Compact (REQ-CO-001/002)
|
|
20
|
+
|
|
21
|
+
**WHEN** ツール呼び出しが50回に到達
|
|
22
|
+
**DO** 圧縮を提案
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
💡 コンテキスト圧縮の提案
|
|
26
|
+
━━━━━━━━━━━━━━━━━━━━━━
|
|
27
|
+
ツール呼び出し: 50回
|
|
28
|
+
フェーズ: [現在のフェーズ]
|
|
29
|
+
━━━━━━━━━━━━━━━━━━━━━━
|
|
30
|
+
圧縮前にsession-managerで状態を保存してください。
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**リマインダースケジュール**:
|
|
34
|
+
| 回数 | アクション |
|
|
35
|
+
|------|----------|
|
|
36
|
+
| 50回 | 圧縮提案 |
|
|
37
|
+
| 75回 | リマインダー |
|
|
38
|
+
| 100回 | 強い警告 |
|
|
39
|
+
| 以降25回ごと | リマインダー |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### 2. PostToolUse Hooks (REQ-CO-004)
|
|
44
|
+
|
|
45
|
+
**WHEN** ファイル編集後(Edit/Write)
|
|
46
|
+
**DO** ファイル種別に応じた自動チェック
|
|
47
|
+
|
|
48
|
+
| 拡張子 | チェック | コマンド |
|
|
49
|
+
|--------|---------|---------|
|
|
50
|
+
| `.ts`, `.tsx` | 型チェック | `npx tsc --noEmit` |
|
|
51
|
+
| `.ts`, `.tsx`, `.js` | フォーマット | `prettier --check` |
|
|
52
|
+
| `.ts`, `.tsx`, `.js` | console.log検出 | `grep -n "console.log"` |
|
|
53
|
+
|
|
54
|
+
**問題発見時**: ユーザーに報告し、修正を提案
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### 3. PreToolUse Hooks (REQ-CO-005)
|
|
59
|
+
|
|
60
|
+
**WHEN** 以下のコマンド実行前
|
|
61
|
+
**DO** 確認/警告を表示
|
|
62
|
+
|
|
63
|
+
| パターン | アクション |
|
|
64
|
+
|---------|----------|
|
|
65
|
+
| `npm install`, `pnpm install` | tmux使用を提案 |
|
|
66
|
+
| `npm run build`, `cargo build` | バックグラウンド実行を提案 |
|
|
67
|
+
| `git push` | 変更差分の最終確認 |
|
|
68
|
+
| `rm -rf`, `git reset --hard` | ⚠️ 破壊的操作の警告 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### 4. Doc Blocker (REQ-CO-006)
|
|
73
|
+
|
|
74
|
+
**WHEN** Markdownファイル作成時
|
|
75
|
+
**DO** 必要性を確認(以下は除外)
|
|
76
|
+
|
|
77
|
+
**除外リスト**: `README.md`, `CHANGELOG.md`, `LICENSE`, `docs/**`, `.github/**`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 🎯 Context Mode (REQ-CO-003)
|
|
82
|
+
|
|
83
|
+
**WHEN** `/mode <name>` または モード切り替え要求
|
|
84
|
+
**DO** 対応するコンテキストを注入
|
|
85
|
+
|
|
86
|
+
| モード | フォーカス | 推奨ツール |
|
|
87
|
+
|--------|----------|----------|
|
|
88
|
+
| `dev` | 実装・コーディング | Edit, Write, Bash |
|
|
89
|
+
| `review` | コードレビュー | Read, Grep, Glob |
|
|
90
|
+
| `research` | 調査・探索 | Read, Grep, semantic_search |
|
|
91
|
+
|
|
92
|
+
**モード切り替え時の出力**:
|
|
93
|
+
```
|
|
94
|
+
🎯 Mode: [モード名]
|
|
95
|
+
━━━━━━━━━━━━━━━━
|
|
96
|
+
フォーカス: [説明]
|
|
97
|
+
推奨ツール: [ツールリスト]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## トレーサビリティ
|
|
103
|
+
|
|
104
|
+
- REQ-CO-001: Strategic Compact Suggestion
|
|
105
|
+
- REQ-CO-002: Tool Call Counter
|
|
106
|
+
- REQ-CO-003: Context Mode Injection
|
|
107
|
+
- REQ-CO-004: PostToolUse Hooks
|
|
108
|
+
- REQ-CO-005: PreToolUse Hooks
|
|
109
|
+
- REQ-CO-006: Doc Blocker
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Development Mode Context
|
|
2
|
+
|
|
3
|
+
このコンテキストはアクティブな開発・コーディングセッションに最適化されています。
|
|
4
|
+
|
|
5
|
+
## フォーカス
|
|
6
|
+
|
|
7
|
+
- 実装とコーディング
|
|
8
|
+
- 機能開発
|
|
9
|
+
- バグ修正
|
|
10
|
+
- コード変更
|
|
11
|
+
|
|
12
|
+
## 推奨ツール
|
|
13
|
+
|
|
14
|
+
| ツール | 用途 |
|
|
15
|
+
|--------|------|
|
|
16
|
+
| `Edit` | ファイル編集 |
|
|
17
|
+
| `Write` | 新規ファイル作成 |
|
|
18
|
+
| `Bash` | コマンド実行、ビルド、テスト |
|
|
19
|
+
| `Grep` | コード検索 |
|
|
20
|
+
|
|
21
|
+
## ベストプラクティス
|
|
22
|
+
|
|
23
|
+
1. **テスト駆動開発**: 実装前にテストを書く
|
|
24
|
+
2. **小さな変更**: 一度に1つの変更に集中
|
|
25
|
+
3. **頻繁なビルド確認**: 変更後は `npm run build` で確認
|
|
26
|
+
4. **型チェック**: TypeScriptファイル編集後は `npx tsc --noEmit`
|
|
27
|
+
|
|
28
|
+
## 自動チェック
|
|
29
|
+
|
|
30
|
+
ファイル編集後、以下を自動実行:
|
|
31
|
+
|
|
32
|
+
- `.ts`, `.tsx` → `npx tsc --noEmit`
|
|
33
|
+
- `.js`, `.ts`, `.tsx` → Prettier確認
|
|
34
|
+
- console.log検出 → 警告表示
|
|
35
|
+
|
|
36
|
+
## 避けるべきこと
|
|
37
|
+
|
|
38
|
+
- 大規模なリファクタリングを一度に行う
|
|
39
|
+
- テストなしでコードをコミット
|
|
40
|
+
- 型エラーを無視する
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Research Mode Context
|
|
2
|
+
|
|
3
|
+
このコンテキストは調査・探索セッションに最適化されています。
|
|
4
|
+
|
|
5
|
+
## フォーカス
|
|
6
|
+
|
|
7
|
+
- コードベースの理解
|
|
8
|
+
- アーキテクチャの把握
|
|
9
|
+
- 依存関係の調査
|
|
10
|
+
- ドキュメントの確認
|
|
11
|
+
|
|
12
|
+
## 推奨ツール
|
|
13
|
+
|
|
14
|
+
| ツール | 用途 |
|
|
15
|
+
|--------|------|
|
|
16
|
+
| `Read` | ファイル内容の確認 |
|
|
17
|
+
| `Grep` | テキスト検索 |
|
|
18
|
+
| `semantic_search` | 意味的なコード検索 |
|
|
19
|
+
| `Glob` | ファイル構造の把握 |
|
|
20
|
+
| `list_dir` | ディレクトリ構造の確認 |
|
|
21
|
+
|
|
22
|
+
## 調査パターン
|
|
23
|
+
|
|
24
|
+
### コードベース理解
|
|
25
|
+
1. `README.md` を確認
|
|
26
|
+
2. `package.json` で依存関係を把握
|
|
27
|
+
3. エントリーポイント(`src/index.ts` 等)を確認
|
|
28
|
+
4. ディレクトリ構造を把握
|
|
29
|
+
|
|
30
|
+
### 機能調査
|
|
31
|
+
1. 関連するファイルを特定(grep/semantic_search)
|
|
32
|
+
2. 主要な関数・クラスを確認
|
|
33
|
+
3. テストファイルで使用例を確認
|
|
34
|
+
4. 型定義を確認
|
|
35
|
+
|
|
36
|
+
### 依存関係調査
|
|
37
|
+
1. `package.json` で直接依存を確認
|
|
38
|
+
2. `import` 文をgrep検索
|
|
39
|
+
3. 内部モジュール間の依存を追跡
|
|
40
|
+
|
|
41
|
+
## 質問テンプレート
|
|
42
|
+
|
|
43
|
+
調査中に以下の質問を意識:
|
|
44
|
+
|
|
45
|
+
- このコードの目的は何か?
|
|
46
|
+
- 誰がこのコードを使用するか?
|
|
47
|
+
- どのような前提条件があるか?
|
|
48
|
+
- 既知の制限事項は何か?
|
|
49
|
+
- 関連するドキュメントはどこにあるか?
|
|
50
|
+
|
|
51
|
+
## 避けるべきこと
|
|
52
|
+
|
|
53
|
+
- 調査中にコードを変更する
|
|
54
|
+
- 理解が不十分なまま結論を出す
|
|
55
|
+
- 関連コードを見落とす
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Review Mode Context
|
|
2
|
+
|
|
3
|
+
このコンテキストはコードレビューセッションに最適化されています。
|
|
4
|
+
|
|
5
|
+
## フォーカス
|
|
6
|
+
|
|
7
|
+
- コード品質の評価
|
|
8
|
+
- 潜在的なバグの発見
|
|
9
|
+
- ベストプラクティスの確認
|
|
10
|
+
- セキュリティ問題の検出
|
|
11
|
+
|
|
12
|
+
## 推奨ツール
|
|
13
|
+
|
|
14
|
+
| ツール | 用途 |
|
|
15
|
+
|--------|------|
|
|
16
|
+
| `Read` | ファイル内容の確認 |
|
|
17
|
+
| `Grep` | パターン検索 |
|
|
18
|
+
| `Glob` | ファイル一覧取得 |
|
|
19
|
+
| `semantic_search` | 関連コードの検索 |
|
|
20
|
+
|
|
21
|
+
## レビューチェックリスト
|
|
22
|
+
|
|
23
|
+
### コード品質
|
|
24
|
+
- [ ] 命名規則が一貫している
|
|
25
|
+
- [ ] 関数が単一責任原則に従っている
|
|
26
|
+
- [ ] エラーハンドリングが適切
|
|
27
|
+
- [ ] ログ出力が適切
|
|
28
|
+
|
|
29
|
+
### セキュリティ
|
|
30
|
+
- [ ] ユーザー入力のバリデーション
|
|
31
|
+
- [ ] SQLインジェクション対策
|
|
32
|
+
- [ ] XSS対策
|
|
33
|
+
- [ ] 認証・認可の確認
|
|
34
|
+
|
|
35
|
+
### パフォーマンス
|
|
36
|
+
- [ ] N+1クエリがない
|
|
37
|
+
- [ ] 不要なループがない
|
|
38
|
+
- [ ] メモリリークの可能性がない
|
|
39
|
+
|
|
40
|
+
### テスト
|
|
41
|
+
- [ ] 十分なテストカバレッジ
|
|
42
|
+
- [ ] エッジケースのテスト
|
|
43
|
+
- [ ] エラーケースのテスト
|
|
44
|
+
|
|
45
|
+
## 避けるべきこと
|
|
46
|
+
|
|
47
|
+
- レビュー中にコードを直接編集する
|
|
48
|
+
- 細かいスタイルの問題に時間をかけすぎる
|
|
49
|
+
- コンテキストなしで批判する
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: e2e-runner
|
|
3
|
+
description: Playwrightを使用してE2Eテストを生成・実行。クリティカルユーザーフローの検証。
|
|
4
|
+
license: MIT
|
|
5
|
+
version: 1.1.0
|
|
6
|
+
triggers:
|
|
7
|
+
- /e2e
|
|
8
|
+
- /playwright
|
|
9
|
+
- E2Eテスト
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# E2E Runner
|
|
13
|
+
|
|
14
|
+
> **要約**: PlaywrightでE2Eテストを生成・実行。テスト結果のレポートとスクリーンショット管理。
|
|
15
|
+
|
|
16
|
+
## 📌 コマンド
|
|
17
|
+
|
|
18
|
+
| コマンド | 説明 |
|
|
19
|
+
|---------|------|
|
|
20
|
+
| `/e2e generate <flow>` | テスト生成 |
|
|
21
|
+
| `/e2e run [flow]` | テスト実行 |
|
|
22
|
+
| `/e2e report` | レポート表示 |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🎬 テスト生成 (REQ-E2E-001)
|
|
27
|
+
|
|
28
|
+
**WHEN** `/e2e generate <flow>` 実行
|
|
29
|
+
**DO** テストファイルを生成
|
|
30
|
+
|
|
31
|
+
**出力構造**:
|
|
32
|
+
```
|
|
33
|
+
tests/e2e/
|
|
34
|
+
├── <flow>.spec.ts # テストファイル
|
|
35
|
+
├── fixtures/
|
|
36
|
+
│ └── <flow>.json # テストデータ
|
|
37
|
+
└── pages/
|
|
38
|
+
└── <flow>.page.ts # Page Object
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**テストテンプレート**:
|
|
42
|
+
```typescript
|
|
43
|
+
import { test, expect } from '@playwright/test';
|
|
44
|
+
|
|
45
|
+
test.describe('<Flow>', () => {
|
|
46
|
+
test('should complete flow', async ({ page }) => {
|
|
47
|
+
// Step 1: Navigate
|
|
48
|
+
await page.goto('/');
|
|
49
|
+
|
|
50
|
+
// Step 2: Action
|
|
51
|
+
await page.click('[data-testid="button"]');
|
|
52
|
+
|
|
53
|
+
// Step 3: Assert
|
|
54
|
+
await expect(page.locator('.success')).toBeVisible();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## ▶️ テスト実行 (REQ-E2E-002)
|
|
62
|
+
|
|
63
|
+
**WHEN** `/e2e run [flow]` 実行
|
|
64
|
+
**DO** Playwrightでテスト実行
|
|
65
|
+
|
|
66
|
+
| オプション | 説明 |
|
|
67
|
+
|-----------|------|
|
|
68
|
+
| `--headed` | ブラウザ表示 |
|
|
69
|
+
| `--debug` | デバッグモード |
|
|
70
|
+
| `--trace` | トレース記録 |
|
|
71
|
+
| `--browser <name>` | ブラウザ指定 |
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# 全テスト
|
|
75
|
+
npx playwright test
|
|
76
|
+
|
|
77
|
+
# 特定フロー
|
|
78
|
+
npx playwright test tests/e2e/login.spec.ts
|
|
79
|
+
|
|
80
|
+
# デバッグ
|
|
81
|
+
npx playwright test --debug
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 📊 レポート (REQ-E2E-003)
|
|
87
|
+
|
|
88
|
+
**WHEN** テスト完了
|
|
89
|
+
**DO** レポート生成
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
📊 E2E Test Report
|
|
93
|
+
━━━━━━━━━━━━━━━━━━━━━━━━
|
|
94
|
+
Total: 10 tests
|
|
95
|
+
Passed: 8 ✅
|
|
96
|
+
Failed: 2 ❌
|
|
97
|
+
Skipped: 0
|
|
98
|
+
|
|
99
|
+
Duration: 45.2s
|
|
100
|
+
━━━━━━━━━━━━━━━━━━━━━━━━
|
|
101
|
+
|
|
102
|
+
Failed Tests:
|
|
103
|
+
1. login.spec.ts > should login
|
|
104
|
+
Error: Timeout waiting for selector
|
|
105
|
+
Screenshot: playwright-report/login-1.png
|
|
106
|
+
|
|
107
|
+
2. checkout.spec.ts > should pay
|
|
108
|
+
Error: Element not found
|
|
109
|
+
Screenshot: playwright-report/checkout-1.png
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**HTMLレポート**:
|
|
113
|
+
```bash
|
|
114
|
+
npx playwright show-report
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 📁 設定
|
|
120
|
+
|
|
121
|
+
**playwright.config.ts**:
|
|
122
|
+
```typescript
|
|
123
|
+
export default defineConfig({
|
|
124
|
+
testDir: './tests/e2e',
|
|
125
|
+
timeout: 30000,
|
|
126
|
+
retries: 2,
|
|
127
|
+
use: {
|
|
128
|
+
baseURL: 'http://localhost:3000',
|
|
129
|
+
screenshot: 'only-on-failure',
|
|
130
|
+
trace: 'retain-on-failure',
|
|
131
|
+
},
|
|
132
|
+
projects: [
|
|
133
|
+
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
|
|
134
|
+
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
|
|
135
|
+
],
|
|
136
|
+
});
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## トレーサビリティ
|
|
142
|
+
|
|
143
|
+
- REQ-E2E-001: E2E Test Generation
|
|
144
|
+
- REQ-E2E-002: E2E Test Execution
|
|
145
|
+
- REQ-E2E-003: E2E Report
|