prjct-cli 0.10.10 → 0.10.11
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/CHANGELOG.md +53 -0
- package/core/__tests__/agentic/prompt-builder.test.js +7 -3
- package/core/commands.js +29 -452
- package/core/domain/architecture-generator.js +51 -519
- package/core/domain/task-analyzer.js +11 -36
- package/package.json +1 -1
- package/templates/analysis/bug-severity.md +74 -0
- package/templates/analysis/complexity.md +54 -0
- package/templates/analysis/health.md +66 -0
- package/templates/analysis/intent.md +66 -0
- package/templates/analysis/task-breakdown.md +53 -0
- package/templates/architect/discovery.md +67 -0
- package/templates/architect/phases.md +59 -0
- package/templates/design/api.md +95 -0
- package/templates/design/architecture.md +77 -0
- package/templates/design/component.md +89 -0
- package/templates/design/database.md +78 -0
- package/templates/design/flow.md +94 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bug-severity
|
|
3
|
+
description: Assess bug severity from description
|
|
4
|
+
allowed-tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Bug Severity Assessment
|
|
8
|
+
|
|
9
|
+
Analyze the bug description to determine its severity and priority.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Bug: {{description}}
|
|
13
|
+
- Context (if available)
|
|
14
|
+
|
|
15
|
+
## Severity Levels
|
|
16
|
+
|
|
17
|
+
### CRITICAL
|
|
18
|
+
- System crash or data loss
|
|
19
|
+
- Security vulnerability
|
|
20
|
+
- Blocks all users
|
|
21
|
+
- Production is down
|
|
22
|
+
|
|
23
|
+
### HIGH
|
|
24
|
+
- Major feature broken
|
|
25
|
+
- Significant user impact
|
|
26
|
+
- Workaround difficult
|
|
27
|
+
- Affects many users
|
|
28
|
+
|
|
29
|
+
### MEDIUM
|
|
30
|
+
- Feature partially broken
|
|
31
|
+
- Workaround exists
|
|
32
|
+
- Limited user impact
|
|
33
|
+
- Non-essential functionality
|
|
34
|
+
|
|
35
|
+
### LOW
|
|
36
|
+
- Minor inconvenience
|
|
37
|
+
- Cosmetic issue
|
|
38
|
+
- Edge case only
|
|
39
|
+
- Easy workaround
|
|
40
|
+
|
|
41
|
+
## Analysis Steps
|
|
42
|
+
|
|
43
|
+
1. **Assess Impact**
|
|
44
|
+
- Who is affected?
|
|
45
|
+
- How many users?
|
|
46
|
+
- Is there data loss risk?
|
|
47
|
+
|
|
48
|
+
2. **Check Urgency**
|
|
49
|
+
- Is production affected?
|
|
50
|
+
- Is there a deadline?
|
|
51
|
+
- Are users blocked?
|
|
52
|
+
|
|
53
|
+
3. **Evaluate Workaround**
|
|
54
|
+
- Can users continue working?
|
|
55
|
+
- How hard is the workaround?
|
|
56
|
+
|
|
57
|
+
## Output Format
|
|
58
|
+
|
|
59
|
+
Return JSON:
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"severity": "critical|high|medium|low",
|
|
63
|
+
"priority": 1-4,
|
|
64
|
+
"reasoning": "<brief explanation>",
|
|
65
|
+
"suggestedAction": "<what to do next>"
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Guidelines
|
|
70
|
+
|
|
71
|
+
- Err on the side of higher severity if unsure
|
|
72
|
+
- Security issues are always CRITICAL
|
|
73
|
+
- Data loss is always CRITICAL
|
|
74
|
+
- User-reported = add weight
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: complexity-analysis
|
|
3
|
+
description: Analyze task complexity semantically
|
|
4
|
+
allowed-tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Task Complexity Analysis
|
|
8
|
+
|
|
9
|
+
Analyze the given task description and determine its complexity level.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Task: {{task}}
|
|
13
|
+
- Project context (if available)
|
|
14
|
+
|
|
15
|
+
## Analysis Steps
|
|
16
|
+
|
|
17
|
+
1. **Understand the Task**
|
|
18
|
+
- What is being asked?
|
|
19
|
+
- What systems/files are affected?
|
|
20
|
+
- Are there dependencies?
|
|
21
|
+
|
|
22
|
+
2. **Evaluate Scope**
|
|
23
|
+
- Single file change → LOW
|
|
24
|
+
- Multiple files, same module → MEDIUM
|
|
25
|
+
- Cross-module or architectural → HIGH
|
|
26
|
+
|
|
27
|
+
3. **Assess Risk**
|
|
28
|
+
- Read-only or additive → LOW risk
|
|
29
|
+
- Modifying existing logic → MEDIUM risk
|
|
30
|
+
- Refactoring or migration → HIGH risk
|
|
31
|
+
|
|
32
|
+
4. **Consider Dependencies**
|
|
33
|
+
- No external deps → LOW
|
|
34
|
+
- Some integration → MEDIUM
|
|
35
|
+
- Multiple systems → HIGH
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
Return JSON:
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"complexity": "low|medium|high",
|
|
43
|
+
"type": "feature|bugfix|refactor|testing|docs|chore",
|
|
44
|
+
"estimatedHours": <number>,
|
|
45
|
+
"reasoning": "<brief explanation>"
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Guidelines
|
|
50
|
+
|
|
51
|
+
- Be realistic, not optimistic
|
|
52
|
+
- Consider testing time in estimates
|
|
53
|
+
- If unsure, lean toward higher complexity
|
|
54
|
+
- Don't use keyword matching - analyze semantically
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: health-score
|
|
3
|
+
description: Calculate project health score
|
|
4
|
+
allowed-tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Health Score
|
|
8
|
+
|
|
9
|
+
Evaluate the project's health based on activity metrics.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Active task: {{hasActiveTask}}
|
|
13
|
+
- Queue size: {{queueSize}}
|
|
14
|
+
- Recent ships: {{recentShips}}
|
|
15
|
+
- Ideas count: {{ideasCount}}
|
|
16
|
+
- Days since last ship: {{daysSinceShip}}
|
|
17
|
+
|
|
18
|
+
## Health Factors
|
|
19
|
+
|
|
20
|
+
### Momentum (40%)
|
|
21
|
+
- Active task = good
|
|
22
|
+
- Regular shipping = good
|
|
23
|
+
- Long gaps = concerning
|
|
24
|
+
|
|
25
|
+
### Focus (30%)
|
|
26
|
+
- Queue < 10 = focused
|
|
27
|
+
- Queue 10-20 = busy
|
|
28
|
+
- Queue > 20 = overloaded
|
|
29
|
+
|
|
30
|
+
### Progress (20%)
|
|
31
|
+
- Ships this week > 0 = active
|
|
32
|
+
- Ships this month > 2 = productive
|
|
33
|
+
- No ships in 7+ days = stalled
|
|
34
|
+
|
|
35
|
+
### Planning (10%)
|
|
36
|
+
- Ideas captured = thinking ahead
|
|
37
|
+
- Too many ideas = unfocused
|
|
38
|
+
|
|
39
|
+
## Score Calculation
|
|
40
|
+
|
|
41
|
+
Evaluate each factor and combine:
|
|
42
|
+
|
|
43
|
+
| Score | Label | Meaning |
|
|
44
|
+
|-------|-------|---------|
|
|
45
|
+
| 80-100 | Excellent | High momentum, focused, shipping |
|
|
46
|
+
| 60-79 | Good | Active, some room to improve |
|
|
47
|
+
| 40-59 | Fair | Slowing down, needs attention |
|
|
48
|
+
| 0-39 | Low | Stalled, intervention needed |
|
|
49
|
+
|
|
50
|
+
## Output Format
|
|
51
|
+
|
|
52
|
+
Return JSON:
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"score": <0-100>,
|
|
56
|
+
"label": "Excellent|Good|Fair|Low",
|
|
57
|
+
"momentum": "<assessment>",
|
|
58
|
+
"suggestions": ["<action 1>", "<action 2>"]
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Guidelines
|
|
63
|
+
|
|
64
|
+
- Be encouraging but honest
|
|
65
|
+
- Suggest specific actions
|
|
66
|
+
- Focus on momentum, not perfection
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-detection
|
|
3
|
+
description: Detect user intent from natural language
|
|
4
|
+
allowed-tools: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Intent Detection
|
|
8
|
+
|
|
9
|
+
Analyze user input to determine their intent and map to appropriate action.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- User message: {{message}}
|
|
13
|
+
|
|
14
|
+
## Intent Categories
|
|
15
|
+
|
|
16
|
+
### Work Intents
|
|
17
|
+
- **start_task**: User wants to begin working on something
|
|
18
|
+
- **complete_task**: User finished current work
|
|
19
|
+
- **ship**: User wants to release/deploy
|
|
20
|
+
- **pause**: User needs to pause current work
|
|
21
|
+
|
|
22
|
+
### Planning Intents
|
|
23
|
+
- **add_feature**: User has a new feature idea
|
|
24
|
+
- **add_idea**: Quick thought to capture
|
|
25
|
+
- **add_bug**: Report a problem
|
|
26
|
+
- **view_queue**: See what's next
|
|
27
|
+
|
|
28
|
+
### Status Intents
|
|
29
|
+
- **check_progress**: View metrics/status
|
|
30
|
+
- **get_recap**: Project overview
|
|
31
|
+
- **get_help**: Need guidance
|
|
32
|
+
|
|
33
|
+
### System Intents
|
|
34
|
+
- **sync**: Update project state
|
|
35
|
+
- **analyze**: Analyze codebase
|
|
36
|
+
- **cleanup**: Clean up files
|
|
37
|
+
|
|
38
|
+
## Analysis
|
|
39
|
+
|
|
40
|
+
Look for semantic meaning, not keywords:
|
|
41
|
+
- "I'm done" → complete_task
|
|
42
|
+
- "Let's ship this" → ship
|
|
43
|
+
- "Quick thought..." → add_idea
|
|
44
|
+
- "What should I do?" → get_help OR view_queue
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
Return JSON:
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"intent": "<intent_name>",
|
|
52
|
+
"confidence": <0.0-1.0>,
|
|
53
|
+
"parameters": {
|
|
54
|
+
"task": "<extracted task if any>",
|
|
55
|
+
"feature": "<extracted feature if any>"
|
|
56
|
+
},
|
|
57
|
+
"suggestedCommand": "/p:<command>"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Guidelines
|
|
62
|
+
|
|
63
|
+
- Use semantic understanding, not regex
|
|
64
|
+
- Extract relevant parameters
|
|
65
|
+
- High confidence (>0.8) for clear intents
|
|
66
|
+
- Ask for clarification if < 0.5
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-breakdown
|
|
3
|
+
description: Break down a feature into actionable tasks
|
|
4
|
+
allowed-tools: [Read, Glob, Grep]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Feature Task Breakdown
|
|
8
|
+
|
|
9
|
+
Analyze the feature description and break it into concrete, actionable tasks.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Feature: {{feature}}
|
|
13
|
+
- Project path: {{projectPath}}
|
|
14
|
+
|
|
15
|
+
## Analysis Steps
|
|
16
|
+
|
|
17
|
+
1. **Understand the Feature**
|
|
18
|
+
- Read related code if paths are obvious
|
|
19
|
+
- Identify affected systems
|
|
20
|
+
- Note existing patterns to follow
|
|
21
|
+
|
|
22
|
+
2. **Identify Components**
|
|
23
|
+
- What new files/modules are needed?
|
|
24
|
+
- What existing code needs modification?
|
|
25
|
+
- What tests are required?
|
|
26
|
+
|
|
27
|
+
3. **Order by Dependencies**
|
|
28
|
+
- Foundation tasks first (models, types, interfaces)
|
|
29
|
+
- Core logic second
|
|
30
|
+
- Integration third
|
|
31
|
+
- Tests and polish last
|
|
32
|
+
|
|
33
|
+
4. **Size Each Task**
|
|
34
|
+
- Each task should be 20-60 minutes
|
|
35
|
+
- If larger, break down further
|
|
36
|
+
- If smaller, combine with related task
|
|
37
|
+
|
|
38
|
+
## Output Format
|
|
39
|
+
|
|
40
|
+
Return a numbered task list:
|
|
41
|
+
```
|
|
42
|
+
1. [20m] Task description - specific action
|
|
43
|
+
2. [30m] Another task - what exactly to do
|
|
44
|
+
3. [45m] Final task - clear deliverable
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Guidelines
|
|
48
|
+
|
|
49
|
+
- Tasks must be specific and actionable
|
|
50
|
+
- Include time estimates in brackets
|
|
51
|
+
- Order matters - dependencies first
|
|
52
|
+
- Don't assume - if unsure, read code first
|
|
53
|
+
- Match project patterns (read existing code)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect-discovery
|
|
3
|
+
description: Discovery phase for architecture generation
|
|
4
|
+
allowed-tools: [Read, AskUserQuestion]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Discovery Phase
|
|
8
|
+
|
|
9
|
+
Conduct discovery for the given idea to understand requirements and constraints.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Idea: {{idea}}
|
|
13
|
+
- Context: {{context}}
|
|
14
|
+
|
|
15
|
+
## Discovery Steps
|
|
16
|
+
|
|
17
|
+
1. **Understand the Problem**
|
|
18
|
+
- What problem does this solve?
|
|
19
|
+
- Who experiences this problem?
|
|
20
|
+
- How critical is it?
|
|
21
|
+
|
|
22
|
+
2. **Identify Target Users**
|
|
23
|
+
- Who are the primary users?
|
|
24
|
+
- What are their goals?
|
|
25
|
+
- What's their technical level?
|
|
26
|
+
|
|
27
|
+
3. **Define Constraints**
|
|
28
|
+
- Budget limitations?
|
|
29
|
+
- Timeline requirements?
|
|
30
|
+
- Team size?
|
|
31
|
+
- Regulatory needs?
|
|
32
|
+
|
|
33
|
+
4. **Set Success Metrics**
|
|
34
|
+
- How will we measure success?
|
|
35
|
+
- What's the MVP threshold?
|
|
36
|
+
- Key performance indicators?
|
|
37
|
+
|
|
38
|
+
## Output Format
|
|
39
|
+
|
|
40
|
+
Return structured discovery:
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"problem": {
|
|
44
|
+
"statement": "...",
|
|
45
|
+
"painPoints": ["..."],
|
|
46
|
+
"impact": "high|medium|low"
|
|
47
|
+
},
|
|
48
|
+
"users": {
|
|
49
|
+
"primary": { "persona": "...", "goals": ["..."] },
|
|
50
|
+
"secondary": [...]
|
|
51
|
+
},
|
|
52
|
+
"constraints": {
|
|
53
|
+
"budget": "...",
|
|
54
|
+
"timeline": "...",
|
|
55
|
+
"teamSize": 1
|
|
56
|
+
},
|
|
57
|
+
"successMetrics": {
|
|
58
|
+
"primary": "...",
|
|
59
|
+
"mvpThreshold": "..."
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Guidelines
|
|
65
|
+
- Ask clarifying questions if needed
|
|
66
|
+
- Be realistic about constraints
|
|
67
|
+
- Focus on MVP scope
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect-phases
|
|
3
|
+
description: Determine which architecture phases are needed
|
|
4
|
+
allowed-tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Architecture Phase Selection
|
|
8
|
+
|
|
9
|
+
Analyze the idea and context to determine which phases are needed.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Idea: {{idea}}
|
|
13
|
+
- Discovery results: {{discovery}}
|
|
14
|
+
|
|
15
|
+
## Available Phases
|
|
16
|
+
|
|
17
|
+
1. **discovery** - Problem definition, users, constraints
|
|
18
|
+
2. **user-flows** - User journeys and interactions
|
|
19
|
+
3. **domain-modeling** - Entities and relationships
|
|
20
|
+
4. **api-design** - API contracts and endpoints
|
|
21
|
+
5. **architecture** - System components and patterns
|
|
22
|
+
6. **data-design** - Database schema and storage
|
|
23
|
+
7. **tech-stack** - Technology choices
|
|
24
|
+
8. **roadmap** - Implementation plan
|
|
25
|
+
|
|
26
|
+
## Phase Selection Rules
|
|
27
|
+
|
|
28
|
+
**Always include**:
|
|
29
|
+
- discovery (foundation)
|
|
30
|
+
- roadmap (execution plan)
|
|
31
|
+
|
|
32
|
+
**Include if building**:
|
|
33
|
+
- user-flows: Has UI/UX
|
|
34
|
+
- domain-modeling: Has data entities
|
|
35
|
+
- api-design: Has backend API
|
|
36
|
+
- architecture: Complex system
|
|
37
|
+
- data-design: Needs database
|
|
38
|
+
- tech-stack: Greenfield project
|
|
39
|
+
|
|
40
|
+
**Skip if**:
|
|
41
|
+
- Simple script: Skip most phases
|
|
42
|
+
- Frontend only: Skip api-design, data-design
|
|
43
|
+
- CLI tool: Skip user-flows
|
|
44
|
+
- Existing stack: Skip tech-stack
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
Return array of needed phases:
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"phases": ["discovery", "domain-modeling", "api-design", "roadmap"],
|
|
52
|
+
"reasoning": "Simple CRUD app needs data model and API"
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Guidelines
|
|
57
|
+
- Don't over-architect
|
|
58
|
+
- Match complexity to project
|
|
59
|
+
- MVP first, expand later
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-design
|
|
3
|
+
description: Design API endpoints and contracts
|
|
4
|
+
allowed-tools: [Read, Glob, Grep]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# API Design
|
|
8
|
+
|
|
9
|
+
Design RESTful API endpoints for the given feature.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Target: {{target}}
|
|
13
|
+
- Requirements: {{requirements}}
|
|
14
|
+
|
|
15
|
+
## Analysis Steps
|
|
16
|
+
|
|
17
|
+
1. **Identify Resources**
|
|
18
|
+
- What entities are involved?
|
|
19
|
+
- What operations are needed?
|
|
20
|
+
- What relationships exist?
|
|
21
|
+
|
|
22
|
+
2. **Review Existing APIs**
|
|
23
|
+
- Read existing route files
|
|
24
|
+
- Match naming conventions
|
|
25
|
+
- Use consistent patterns
|
|
26
|
+
|
|
27
|
+
3. **Design Endpoints**
|
|
28
|
+
- RESTful resource naming
|
|
29
|
+
- Appropriate HTTP methods
|
|
30
|
+
- Request/response shapes
|
|
31
|
+
|
|
32
|
+
4. **Define Validation**
|
|
33
|
+
- Input validation rules
|
|
34
|
+
- Error responses
|
|
35
|
+
- Edge cases
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
# API Design: {target}
|
|
41
|
+
|
|
42
|
+
## Endpoints
|
|
43
|
+
|
|
44
|
+
### GET /api/{resource}
|
|
45
|
+
**Description**: List all resources
|
|
46
|
+
|
|
47
|
+
**Query Parameters**:
|
|
48
|
+
- `limit`: number (default: 20)
|
|
49
|
+
- `offset`: number (default: 0)
|
|
50
|
+
|
|
51
|
+
**Response** (200):
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"data": [...],
|
|
55
|
+
"total": 100,
|
|
56
|
+
"limit": 20,
|
|
57
|
+
"offset": 0
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### POST /api/{resource}
|
|
62
|
+
**Description**: Create resource
|
|
63
|
+
|
|
64
|
+
**Request Body**:
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"field": "value"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Response** (201):
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"id": "...",
|
|
75
|
+
"field": "value"
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Errors**:
|
|
80
|
+
- 400: Invalid input
|
|
81
|
+
- 401: Unauthorized
|
|
82
|
+
- 409: Conflict
|
|
83
|
+
|
|
84
|
+
## Authentication
|
|
85
|
+
- Method: Bearer token / API key
|
|
86
|
+
- Required for: POST, PUT, DELETE
|
|
87
|
+
|
|
88
|
+
## Rate Limiting
|
|
89
|
+
- 100 requests/minute per user
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Guidelines
|
|
93
|
+
- Follow REST conventions
|
|
94
|
+
- Use consistent error format
|
|
95
|
+
- Document all parameters
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture-design
|
|
3
|
+
description: Design system architecture
|
|
4
|
+
allowed-tools: [Read, Glob, Grep]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Architecture Design
|
|
8
|
+
|
|
9
|
+
Design the system architecture for the given requirements.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Target: {{target}}
|
|
13
|
+
- Requirements: {{requirements}}
|
|
14
|
+
- Project context
|
|
15
|
+
|
|
16
|
+
## Analysis Steps
|
|
17
|
+
|
|
18
|
+
1. **Understand Requirements**
|
|
19
|
+
- What problem are we solving?
|
|
20
|
+
- What are the constraints?
|
|
21
|
+
- What scale do we need?
|
|
22
|
+
|
|
23
|
+
2. **Review Existing Architecture**
|
|
24
|
+
- Read current codebase structure
|
|
25
|
+
- Identify existing patterns
|
|
26
|
+
- Note integration points
|
|
27
|
+
|
|
28
|
+
3. **Design Components**
|
|
29
|
+
- Core modules and responsibilities
|
|
30
|
+
- Data flow between components
|
|
31
|
+
- External dependencies
|
|
32
|
+
|
|
33
|
+
4. **Define Interfaces**
|
|
34
|
+
- API contracts
|
|
35
|
+
- Data structures
|
|
36
|
+
- Event/message formats
|
|
37
|
+
|
|
38
|
+
## Output Format
|
|
39
|
+
|
|
40
|
+
Generate markdown document:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
# Architecture: {target}
|
|
44
|
+
|
|
45
|
+
## Overview
|
|
46
|
+
Brief description of the architecture.
|
|
47
|
+
|
|
48
|
+
## Components
|
|
49
|
+
- **Component A**: Responsibility
|
|
50
|
+
- **Component B**: Responsibility
|
|
51
|
+
|
|
52
|
+
## Data Flow
|
|
53
|
+
```
|
|
54
|
+
[Diagram using ASCII or mermaid]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Interfaces
|
|
58
|
+
### API Endpoints
|
|
59
|
+
- `GET /resource` - Description
|
|
60
|
+
- `POST /resource` - Description
|
|
61
|
+
|
|
62
|
+
### Data Models
|
|
63
|
+
- `Model`: { field: type }
|
|
64
|
+
|
|
65
|
+
## Dependencies
|
|
66
|
+
- External service X
|
|
67
|
+
- Library Y
|
|
68
|
+
|
|
69
|
+
## Decisions
|
|
70
|
+
- Decision 1: Rationale
|
|
71
|
+
- Decision 2: Rationale
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Guidelines
|
|
75
|
+
- Match existing project patterns
|
|
76
|
+
- Keep it simple - avoid over-engineering
|
|
77
|
+
- Document decisions and trade-offs
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: component-design
|
|
3
|
+
description: Design UI/code component
|
|
4
|
+
allowed-tools: [Read, Glob, Grep]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Component Design
|
|
8
|
+
|
|
9
|
+
Design a reusable component for the given requirements.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Target: {{target}}
|
|
13
|
+
- Requirements: {{requirements}}
|
|
14
|
+
|
|
15
|
+
## Analysis Steps
|
|
16
|
+
|
|
17
|
+
1. **Understand Purpose**
|
|
18
|
+
- What does this component do?
|
|
19
|
+
- Where will it be used?
|
|
20
|
+
- What inputs/outputs?
|
|
21
|
+
|
|
22
|
+
2. **Review Existing Components**
|
|
23
|
+
- Read similar components
|
|
24
|
+
- Match project patterns
|
|
25
|
+
- Use existing utilities
|
|
26
|
+
|
|
27
|
+
3. **Design Interface**
|
|
28
|
+
- Props/parameters
|
|
29
|
+
- Events/callbacks
|
|
30
|
+
- State management
|
|
31
|
+
|
|
32
|
+
4. **Plan Implementation**
|
|
33
|
+
- File structure
|
|
34
|
+
- Dependencies
|
|
35
|
+
- Testing approach
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
# Component: {ComponentName}
|
|
41
|
+
|
|
42
|
+
## Purpose
|
|
43
|
+
Brief description of what this component does.
|
|
44
|
+
|
|
45
|
+
## Props/Interface
|
|
46
|
+
| Prop | Type | Required | Default | Description |
|
|
47
|
+
|------|------|----------|---------|-------------|
|
|
48
|
+
| id | string | yes | - | Unique identifier |
|
|
49
|
+
| onClick | function | no | - | Click handler |
|
|
50
|
+
|
|
51
|
+
## State
|
|
52
|
+
- `isLoading`: boolean - Loading state
|
|
53
|
+
- `data`: array - Fetched data
|
|
54
|
+
|
|
55
|
+
## Events
|
|
56
|
+
- `onChange(value)`: Fired when value changes
|
|
57
|
+
- `onSubmit(data)`: Fired on form submit
|
|
58
|
+
|
|
59
|
+
## Usage Example
|
|
60
|
+
```jsx
|
|
61
|
+
<ComponentName
|
|
62
|
+
id="example"
|
|
63
|
+
onClick={handleClick}
|
|
64
|
+
/>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## File Structure
|
|
68
|
+
```
|
|
69
|
+
components/
|
|
70
|
+
└── ComponentName/
|
|
71
|
+
├── index.js
|
|
72
|
+
├── ComponentName.jsx
|
|
73
|
+
├── ComponentName.test.js
|
|
74
|
+
└── styles.css
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Dependencies
|
|
78
|
+
- Library X for Y
|
|
79
|
+
- Utility Z
|
|
80
|
+
|
|
81
|
+
## Testing
|
|
82
|
+
- Unit tests for logic
|
|
83
|
+
- Integration test for interactions
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Guidelines
|
|
87
|
+
- Match project component patterns
|
|
88
|
+
- Keep components focused
|
|
89
|
+
- Document all props
|