prjct-cli 0.4.9 → 0.5.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.
- package/CHANGELOG.md +316 -0
- package/CLAUDE.md +109 -3
- package/README.md +228 -93
- package/core/agent-detector.js +55 -122
- package/core/agent-generator.js +516 -0
- package/core/command-installer.js +104 -890
- package/core/commands.js +3 -18
- package/core/editors-config.js +9 -57
- package/core/git-integration.js +401 -0
- package/package.json +10 -7
- package/scripts/install.sh +0 -1
- package/templates/agents/be.template.md +42 -0
- package/templates/agents/data.template.md +41 -0
- package/templates/agents/devops.template.md +41 -0
- package/templates/agents/fe.template.md +42 -0
- package/templates/agents/mobile.template.md +41 -0
- package/templates/agents/pm.template.md +84 -0
- package/templates/agents/qa.template.md +54 -0
- package/templates/agents/scribe.template.md +95 -0
- package/templates/agents/security.template.md +41 -0
- package/templates/agents/ux.template.md +49 -0
- package/templates/commands/analyze.md +137 -3
- package/templates/commands/done.md +154 -5
- package/templates/commands/init.md +61 -3
- package/templates/commands/ship.md +146 -6
- package/templates/commands/sync.md +220 -0
- package/templates/examples/natural-language-examples.md +234 -22
- package/core/agents/codex-agent.js +0 -256
- package/core/agents/terminal-agent.js +0 -465
- package/templates/workflows/analyze.md +0 -159
- package/templates/workflows/cleanup.md +0 -73
- package/templates/workflows/context.md +0 -72
- package/templates/workflows/design.md +0 -88
- package/templates/workflows/done.md +0 -20
- package/templates/workflows/fix.md +0 -201
- package/templates/workflows/git.md +0 -192
- package/templates/workflows/help.md +0 -13
- package/templates/workflows/idea.md +0 -22
- package/templates/workflows/init.md +0 -80
- package/templates/workflows/natural-language-handler.md +0 -183
- package/templates/workflows/next.md +0 -44
- package/templates/workflows/now.md +0 -19
- package/templates/workflows/progress.md +0 -113
- package/templates/workflows/recap.md +0 -66
- package/templates/workflows/roadmap.md +0 -95
- package/templates/workflows/ship.md +0 -18
- package/templates/workflows/stuck.md +0 -25
- package/templates/workflows/task.md +0 -109
- package/templates/workflows/test.md +0 -243
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Semantic intent detection for natural language commands"
|
|
3
|
-
allowed-tools: [Read]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Natural Language Handler
|
|
7
|
-
|
|
8
|
-
## Core Concept
|
|
9
|
-
|
|
10
|
-
**You're an LLM, not a regex parser!**
|
|
11
|
-
|
|
12
|
-
Use your semantic understanding to map user intent to commands. Don't rely on pattern matching or hardcoded phrases.
|
|
13
|
-
|
|
14
|
-
## How It Works
|
|
15
|
-
|
|
16
|
-
### Step 1: Check for Direct Command
|
|
17
|
-
```javascript
|
|
18
|
-
if (message.startsWith('/p:')) {
|
|
19
|
-
return executeCommand(message)
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Step 2: Understand User Intent
|
|
24
|
-
|
|
25
|
-
Ask yourself: **"What is the user trying to accomplish?"**
|
|
26
|
-
|
|
27
|
-
Use your natural language understanding to determine the intent:
|
|
28
|
-
|
|
29
|
-
| User Intent | Command |
|
|
30
|
-
|-------------|---------|
|
|
31
|
-
| Wants to start/focus on a task | `/p:now` |
|
|
32
|
-
| Finished current work | `/p:done` |
|
|
33
|
-
| Ready to ship/deploy something | `/p:ship` |
|
|
34
|
-
| Has an idea to capture | `/p:idea` |
|
|
35
|
-
| Wants to see progress/status | `/p:recap` |
|
|
36
|
-
| Stuck on a problem | `/p:stuck` |
|
|
37
|
-
| Wants to know what's next | `/p:next` |
|
|
38
|
-
| Needs general help | `/p:help` |
|
|
39
|
-
|
|
40
|
-
### Step 3: Extract Relevant Information
|
|
41
|
-
|
|
42
|
-
Pull the important details from the message:
|
|
43
|
-
- For `/p:now`: What task are they starting?
|
|
44
|
-
- For `/p:ship`: What feature are they shipping?
|
|
45
|
-
- For `/p:idea`: What's their idea?
|
|
46
|
-
- For `/p:stuck`: What problem are they facing?
|
|
47
|
-
|
|
48
|
-
### Step 4: Show Transparency
|
|
49
|
-
|
|
50
|
-
Always communicate what you understood:
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
💬 I understood: "[your interpretation of their intent]"
|
|
54
|
-
⚡ Executing: /p:[command] [parameters]
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Step 5: Provide Conversational Response
|
|
58
|
-
|
|
59
|
-
Guide them toward next actions naturally.
|
|
60
|
-
|
|
61
|
-
## Examples (Infinite Variations Possible)
|
|
62
|
-
|
|
63
|
-
### Starting a Task
|
|
64
|
-
|
|
65
|
-
**All of these mean `/p:now`:**
|
|
66
|
-
- "I want to start building the login page"
|
|
67
|
-
- "Let me work on authentication"
|
|
68
|
-
- "Starting the API now"
|
|
69
|
-
- "Voy a hacer el dashboard"
|
|
70
|
-
- "Gonna work on that bug fix"
|
|
71
|
-
- "I shall commence development of the user profile"
|
|
72
|
-
|
|
73
|
-
**Your response pattern:**
|
|
74
|
-
```
|
|
75
|
-
💬 I understood: "start working on [extracted task]"
|
|
76
|
-
⚡ Executing: /p:now "[extracted task]"
|
|
77
|
-
|
|
78
|
-
✅ Starting task: [extracted task]
|
|
79
|
-
|
|
80
|
-
What's next?
|
|
81
|
-
• Say "I'm done" when finished
|
|
82
|
-
• Or: /p:done
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Completing Work
|
|
86
|
-
|
|
87
|
-
**All of these mean `/p:done`:**
|
|
88
|
-
- "I'm done" | "finished" | "completed"
|
|
89
|
-
- "terminé" | "listo" | "ya acabé"
|
|
90
|
-
- "all done with this"
|
|
91
|
-
- "that's finished"
|
|
92
|
-
|
|
93
|
-
### Shipping a Feature
|
|
94
|
-
|
|
95
|
-
**All of these mean `/p:ship`:**
|
|
96
|
-
- "ship the authentication system"
|
|
97
|
-
- "deploy this feature"
|
|
98
|
-
- "it's ready to launch"
|
|
99
|
-
- "let's ship it"
|
|
100
|
-
|
|
101
|
-
### Capturing Ideas
|
|
102
|
-
|
|
103
|
-
**All of these mean `/p:idea`:**
|
|
104
|
-
- "I have an idea about dark mode"
|
|
105
|
-
- "what if we added user profiles"
|
|
106
|
-
- "tengo una idea sobre notificaciones"
|
|
107
|
-
- "idea: add export functionality"
|
|
108
|
-
|
|
109
|
-
## Implementation Philosophy
|
|
110
|
-
|
|
111
|
-
```javascript
|
|
112
|
-
// ❌ DON'T DO THIS (pattern matching)
|
|
113
|
-
if (message.includes("I want to start") ||
|
|
114
|
-
message.includes("let me start") ||
|
|
115
|
-
message.includes("quiero empezar")) {
|
|
116
|
-
// This is too rigid!
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// ✅ DO THIS (semantic understanding)
|
|
120
|
-
const intent = understandUserIntent(message)
|
|
121
|
-
// Use your LLM capabilities to understand what they want
|
|
122
|
-
|
|
123
|
-
if (userWantsToStartTask(intent)) {
|
|
124
|
-
const task = extractTaskDescription(message)
|
|
125
|
-
return executeCommand('/p:now', task)
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Works in Any Language
|
|
130
|
-
|
|
131
|
-
If you understand the user's intent in **any language**, execute the command:
|
|
132
|
-
|
|
133
|
-
- **English**: "I want to start the API"
|
|
134
|
-
- **Spanish**: "Quiero empezar con la autenticación"
|
|
135
|
-
- **Casual**: "gonna work on that login thing"
|
|
136
|
-
- **Formal**: "I shall commence development of the authentication module"
|
|
137
|
-
- **Mixed**: "voy a hacer the user dashboard"
|
|
138
|
-
|
|
139
|
-
All map to: `/p:now`
|
|
140
|
-
|
|
141
|
-
## Edge Cases
|
|
142
|
-
|
|
143
|
-
### Ambiguous Intent
|
|
144
|
-
If you're not sure what they want:
|
|
145
|
-
```
|
|
146
|
-
💬 I need clarification:
|
|
147
|
-
|
|
148
|
-
Did you mean:
|
|
149
|
-
1. 📖 Interactive guide → Use /p:help
|
|
150
|
-
2. 🆘 I'm stuck on something → Say "I'm stuck on [problem]"
|
|
151
|
-
|
|
152
|
-
Which one?
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Multiple Commands
|
|
156
|
-
Handle sequentially:
|
|
157
|
-
```
|
|
158
|
-
User: "I'm done, now start the API work"
|
|
159
|
-
|
|
160
|
-
Step 1: Execute /p:done
|
|
161
|
-
Step 2: Execute /p:now "API work"
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Unknown Intent
|
|
165
|
-
If you truly don't understand:
|
|
166
|
-
```
|
|
167
|
-
💬 I'm not sure what you'd like to do.
|
|
168
|
-
|
|
169
|
-
Common actions:
|
|
170
|
-
• "start [task]" → Begin working
|
|
171
|
-
• "I'm done" → Complete current task
|
|
172
|
-
• "show my progress" → See status
|
|
173
|
-
|
|
174
|
-
Or type /p:help for the full guide
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
## Key Principles
|
|
178
|
-
|
|
179
|
-
1. **Trust your understanding** - You're an LLM with semantic comprehension
|
|
180
|
-
2. **Any phrasing works** - Users can express intent however they want
|
|
181
|
-
3. **Any language works** - If you understand it, execute it
|
|
182
|
-
4. **Always be transparent** - Show what you understood
|
|
183
|
-
5. **Guide naturally** - Suggest next steps conversationally
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct next
|
|
3
|
-
invocable_name: p:next
|
|
4
|
-
description: Show priority queue of upcoming tasks using global prjct architecture
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Read project config from `.prjct/prjct.config.json`
|
|
10
|
-
2. Extract `projectId` from config
|
|
11
|
-
3. Read priority queue from `~/.prjct-cli/projects/{projectId}/core/next.md`
|
|
12
|
-
4. Parse task list with priorities
|
|
13
|
-
5. Format and display tasks with priority indicators
|
|
14
|
-
6. Show count of queued tasks
|
|
15
|
-
7. Suggest using `/p:now {task}` to start working
|
|
16
|
-
|
|
17
|
-
# Response Format
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
📋 Priority Queue:
|
|
21
|
-
|
|
22
|
-
1. 🔥 {high-priority task}
|
|
23
|
-
2. ⚡ {medium-priority task}
|
|
24
|
-
3. 📌 {normal-priority task}
|
|
25
|
-
...
|
|
26
|
-
|
|
27
|
-
Total queued: X tasks
|
|
28
|
-
|
|
29
|
-
Ready to start? Use /p:now {task number or description}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
# Priority Indicators
|
|
33
|
-
|
|
34
|
-
- 🔥 High priority / urgent
|
|
35
|
-
- ⚡ Medium priority / important
|
|
36
|
-
- 📌 Normal priority / routine
|
|
37
|
-
- 💡 Nice to have / experimental
|
|
38
|
-
|
|
39
|
-
# Global Architecture Notes
|
|
40
|
-
|
|
41
|
-
- **Data Location**: `~/.prjct-cli/projects/{id}/core/next.md`
|
|
42
|
-
- **Config Location**: `{project}/.prjct/prjct.config.json`
|
|
43
|
-
- **File Format**: Markdown list with optional priority markers
|
|
44
|
-
- **Integration**: Tasks can be promoted to `now.md` with `/p:now`
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct now
|
|
3
|
-
invocable_name: p:now
|
|
4
|
-
description: Set/show current focus
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
**Show**: Read config → get projectId → read `~/.prjct-cli/projects/{id}/core/now.md`
|
|
10
|
-
|
|
11
|
-
**Set**:
|
|
12
|
-
1. Get projectId + author from `.prjct/prjct.config.json`
|
|
13
|
-
2. Write task + timestamp to `~/.prjct-cli/projects/{id}/core/now.md`
|
|
14
|
-
3. Log to `memory/context.jsonl` with author
|
|
15
|
-
4. Response:
|
|
16
|
-
```
|
|
17
|
-
🎯 {task}
|
|
18
|
-
→ /p:done when complete
|
|
19
|
-
```
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct progress
|
|
3
|
-
invocable_name: p:progress
|
|
4
|
-
description: Show progress metrics for specified period using global prjct architecture
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Read project config from `.prjct/prjct.config.json`
|
|
10
|
-
2. Extract `projectId` from config
|
|
11
|
-
3. Parse period argument (default: week):
|
|
12
|
-
- `day` or `today` - Today's progress
|
|
13
|
-
- `week` - This week (Mon-Sun)
|
|
14
|
-
- `month` - This month
|
|
15
|
-
- `all` or `total` - All-time
|
|
16
|
-
4. Read all shipped features from `~/.prjct-cli/projects/{projectId}/progress/shipped.md`
|
|
17
|
-
5. Filter entries by timestamp for specified period
|
|
18
|
-
6. Calculate metrics:
|
|
19
|
-
- Total features shipped
|
|
20
|
-
- Average velocity
|
|
21
|
-
- Completion rate
|
|
22
|
-
- Momentum indicators
|
|
23
|
-
7. Read metrics file for additional stats
|
|
24
|
-
8. Format and display progress report
|
|
25
|
-
|
|
26
|
-
# Response Format
|
|
27
|
-
|
|
28
|
-
## Daily Progress
|
|
29
|
-
```
|
|
30
|
-
📊 Progress Report - Today
|
|
31
|
-
|
|
32
|
-
🚀 Features Shipped: X features
|
|
33
|
-
⏱️ Active Time: Y hours
|
|
34
|
-
✅ Tasks Completed: Z tasks
|
|
35
|
-
|
|
36
|
-
📈 Momentum: {High/Medium/Low}
|
|
37
|
-
|
|
38
|
-
Keep it up! 💪
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Weekly Progress
|
|
42
|
-
```
|
|
43
|
-
📊 Progress Report - This Week
|
|
44
|
-
|
|
45
|
-
🚀 Features Shipped: X features
|
|
46
|
-
📅 Days Active: Y of 7 days
|
|
47
|
-
⚡ Velocity: A features/day
|
|
48
|
-
✅ Tasks Completed: Z tasks
|
|
49
|
-
|
|
50
|
-
📈 Week Trend: {Up/Steady/Down}
|
|
51
|
-
💡 Ideas Captured: B ideas
|
|
52
|
-
|
|
53
|
-
{comparison to last week}
|
|
54
|
-
|
|
55
|
-
🎯 Next Week Goal: {suggestion}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Monthly Progress
|
|
59
|
-
```
|
|
60
|
-
📊 Progress Report - This Month
|
|
61
|
-
|
|
62
|
-
🚀 Features Shipped: X features
|
|
63
|
-
📅 Active Days: Y of 30 days
|
|
64
|
-
⚡ Monthly Velocity: A features/week
|
|
65
|
-
✅ Total Tasks: Z tasks
|
|
66
|
-
💡 Ideas Generated: B ideas
|
|
67
|
-
|
|
68
|
-
📈 Month Highlights:
|
|
69
|
-
- Best week: {date} with {n} features
|
|
70
|
-
- Most productive day: {day} with {n} tasks
|
|
71
|
-
- Momentum: {analysis}
|
|
72
|
-
|
|
73
|
-
🎯 Month-End Goal: {progress toward goal}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## All-Time Progress
|
|
77
|
-
```
|
|
78
|
-
📊 Progress Report - All Time
|
|
79
|
-
|
|
80
|
-
🚀 Total Features Shipped: X features
|
|
81
|
-
📅 Project Duration: Y days
|
|
82
|
-
⚡ Average Velocity: A features/week
|
|
83
|
-
✅ Total Tasks Completed: Z tasks
|
|
84
|
-
💡 Total Ideas: B ideas
|
|
85
|
-
|
|
86
|
-
📈 Milestones:
|
|
87
|
-
- {milestone 1}
|
|
88
|
-
- {milestone 2}
|
|
89
|
-
- {milestone 3}
|
|
90
|
-
|
|
91
|
-
🏆 Achievements:
|
|
92
|
-
- Most productive week: {date}
|
|
93
|
-
- Longest streak: {n} days
|
|
94
|
-
- Best month: {month}
|
|
95
|
-
|
|
96
|
-
Keep building! 🚀
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
# Calculations
|
|
100
|
-
|
|
101
|
-
- **Velocity**: Features / Time Period
|
|
102
|
-
- **Momentum**: Based on recent trend (last 3 data points)
|
|
103
|
-
- **Active Days**: Days with at least 1 logged action
|
|
104
|
-
- **Streak**: Consecutive days with activity
|
|
105
|
-
|
|
106
|
-
# Global Architecture Notes
|
|
107
|
-
|
|
108
|
-
- **Data Source**: `~/.prjct-cli/projects/{id}/progress/`
|
|
109
|
-
- `shipped.md` - All completed features with timestamps
|
|
110
|
-
- `metrics.md` - Aggregated statistics
|
|
111
|
-
- **Memory Source**: `~/.prjct-cli/projects/{id}/memory/context.jsonl` for activity
|
|
112
|
-
- **Config Location**: `{project}/.prjct/prjct.config.json`
|
|
113
|
-
- **Use Case**: Standups, retrospectives, velocity tracking
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct recap
|
|
3
|
-
invocable_name: p:recap
|
|
4
|
-
description: Show comprehensive project overview using global prjct architecture
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Read project config from `.prjct/prjct.config.json`
|
|
10
|
-
2. Extract `projectId` and `author` from config
|
|
11
|
-
3. Read current focus from `~/.prjct-cli/projects/{projectId}/core/now.md`
|
|
12
|
-
4. Read recent shipped features from `~/.prjct-cli/projects/{projectId}/progress/shipped.md` (last 5)
|
|
13
|
-
5. Read priority queue from `~/.prjct-cli/projects/{projectId}/core/next.md` (top 3)
|
|
14
|
-
6. Read recent ideas from `~/.prjct-cli/projects/{projectId}/planning/ideas.md` (count)
|
|
15
|
-
7. Calculate metrics from `~/.prjct-cli/projects/{projectId}/progress/metrics.md`
|
|
16
|
-
8. Read recent context from `~/.prjct-cli/projects/{projectId}/memory/context.jsonl` (last 3 actions)
|
|
17
|
-
9. Format and display comprehensive overview
|
|
18
|
-
|
|
19
|
-
# Response Format
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
📊 Project Recap for {project-name}
|
|
23
|
-
|
|
24
|
-
🎯 Current Focus:
|
|
25
|
-
{current task or "No task set - use /p:now to set focus"}
|
|
26
|
-
|
|
27
|
-
🚀 Recently Shipped (Last 5):
|
|
28
|
-
- {feature 1} - {timestamp}
|
|
29
|
-
- {feature 2} - {timestamp}
|
|
30
|
-
- {feature 3} - {timestamp}
|
|
31
|
-
- {feature 4} - {timestamp}
|
|
32
|
-
- {feature 5} - {timestamp}
|
|
33
|
-
|
|
34
|
-
📋 Coming Up Next (Top 3):
|
|
35
|
-
1. {priority 1}
|
|
36
|
-
2. {priority 2}
|
|
37
|
-
3. {priority 3}
|
|
38
|
-
|
|
39
|
-
💡 Ideas Backlog: X ideas captured
|
|
40
|
-
📝 Total queued tasks: Y tasks
|
|
41
|
-
|
|
42
|
-
📈 Progress Metrics:
|
|
43
|
-
- This week: X features shipped
|
|
44
|
-
- This month: Y features shipped
|
|
45
|
-
- Total: Z features shipped
|
|
46
|
-
- Average velocity: A features/week
|
|
47
|
-
|
|
48
|
-
🕒 Recent Activity:
|
|
49
|
-
- {timestamp}: {action 1}
|
|
50
|
-
- {timestamp}: {action 2}
|
|
51
|
-
- {timestamp}: {action 3}
|
|
52
|
-
|
|
53
|
-
👤 Author: {name} ({github})
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
# Global Architecture Notes
|
|
57
|
-
|
|
58
|
-
- **Data Sources**: Multiple layers in `~/.prjct-cli/projects/{id}/`
|
|
59
|
-
- `core/now.md` - Current task
|
|
60
|
-
- `core/next.md` - Priority queue
|
|
61
|
-
- `progress/shipped.md` - Completed features
|
|
62
|
-
- `progress/metrics.md` - Statistics
|
|
63
|
-
- `planning/ideas.md` - Ideas backlog
|
|
64
|
-
- `memory/context.jsonl` - Action history
|
|
65
|
-
- **Config Location**: `{project}/.prjct/prjct.config.json`
|
|
66
|
-
- **Use Case**: Daily standup, status updates, context restoration
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct roadmap
|
|
3
|
-
invocable_name: p:roadmap
|
|
4
|
-
description: Show or update strategic roadmap using global prjct architecture
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Read project config from `.prjct/prjct.config.json`
|
|
10
|
-
2. Extract `projectId` from config
|
|
11
|
-
3. Read roadmap from `~/.prjct-cli/projects/{projectId}/planning/roadmap.md`
|
|
12
|
-
4. Parse roadmap structure (phases, milestones, features)
|
|
13
|
-
5. Read shipped features from `~/.prjct-cli/projects/{projectId}/progress/shipped.md`
|
|
14
|
-
6. Calculate completion progress for each phase
|
|
15
|
-
7. Identify current phase and next milestones
|
|
16
|
-
8. Format and display roadmap with progress
|
|
17
|
-
|
|
18
|
-
# Response Format
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
🗺️ Project Roadmap
|
|
22
|
-
|
|
23
|
-
📍 Current Phase: {phase name}
|
|
24
|
-
Progress: {X}% complete
|
|
25
|
-
|
|
26
|
-
## Phases Overview
|
|
27
|
-
|
|
28
|
-
### ✅ Phase 1: {name} (Completed)
|
|
29
|
-
- {feature 1} ✓
|
|
30
|
-
- {feature 2} ✓
|
|
31
|
-
- {feature 3} ✓
|
|
32
|
-
|
|
33
|
-
### 🔄 Phase 2: {name} (In Progress - {X}%)
|
|
34
|
-
- {feature 1} ✓
|
|
35
|
-
- {feature 2} 🔄 Current
|
|
36
|
-
- {feature 3} ⏳
|
|
37
|
-
- {feature 4} ⏳
|
|
38
|
-
|
|
39
|
-
### ⏳ Phase 3: {name} (Planned)
|
|
40
|
-
- {feature 1}
|
|
41
|
-
- {feature 2}
|
|
42
|
-
- {feature 3}
|
|
43
|
-
|
|
44
|
-
### 💡 Phase 4: {name} (Future)
|
|
45
|
-
- {feature 1}
|
|
46
|
-
- {feature 2}
|
|
47
|
-
|
|
48
|
-
## Upcoming Milestones
|
|
49
|
-
|
|
50
|
-
🎯 Next Milestone: {milestone name}
|
|
51
|
-
- Target: {date/timeframe}
|
|
52
|
-
- Features remaining: X
|
|
53
|
-
- Estimated: Y weeks
|
|
54
|
-
|
|
55
|
-
🔮 Future Milestones:
|
|
56
|
-
- {milestone 2}: {timeframe}
|
|
57
|
-
- {milestone 3}: {timeframe}
|
|
58
|
-
|
|
59
|
-
💡 Want to update roadmap? Edit ~/.prjct-cli/projects/{id}/planning/roadmap.md
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
# Roadmap Structure
|
|
63
|
-
|
|
64
|
-
The roadmap.md file should follow this structure:
|
|
65
|
-
|
|
66
|
-
```markdown
|
|
67
|
-
# Project Roadmap
|
|
68
|
-
|
|
69
|
-
## Phase 1: Foundation
|
|
70
|
-
Target: Q1 2025
|
|
71
|
-
- [ ] Feature A
|
|
72
|
-
- [ ] Feature B
|
|
73
|
-
- [ ] Feature C
|
|
74
|
-
|
|
75
|
-
## Phase 2: Core Features
|
|
76
|
-
Target: Q2 2025
|
|
77
|
-
- [ ] Feature D
|
|
78
|
-
- [ ] Feature E
|
|
79
|
-
|
|
80
|
-
...
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
# Progress Calculation
|
|
84
|
-
|
|
85
|
-
- Match shipped features against roadmap items
|
|
86
|
-
- Calculate percentage completion per phase
|
|
87
|
-
- Identify current phase (first with incomplete items)
|
|
88
|
-
- Estimate completion based on velocity
|
|
89
|
-
|
|
90
|
-
# Global Architecture Notes
|
|
91
|
-
|
|
92
|
-
- **Data Location**: `~/.prjct-cli/projects/{id}/planning/roadmap.md`
|
|
93
|
-
- **Progress Source**: `~/.prjct-cli/projects/{id}/progress/shipped.md`
|
|
94
|
-
- **Config Location**: `{project}/.prjct/prjct.config.json`
|
|
95
|
-
- **Use Case**: Strategic planning, stakeholder updates, long-term vision
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct ship
|
|
3
|
-
invocable_name: p:ship
|
|
4
|
-
description: Ship feature
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Get projectId + author from `.prjct/prjct.config.json`
|
|
10
|
-
2. Append to `~/.prjct-cli/projects/{id}/progress/shipped.md` + timestamp
|
|
11
|
-
3. Update `progress/metrics.md` (count, velocity)
|
|
12
|
-
4. Log to `memory/context.jsonl` with author
|
|
13
|
-
5. Response:
|
|
14
|
-
```
|
|
15
|
-
🚀 {feature}
|
|
16
|
-
Week: {n} | Total: {total}
|
|
17
|
-
→ /p:now
|
|
18
|
-
```
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct stuck
|
|
3
|
-
invocable_name: p:stuck
|
|
4
|
-
description: Get unstuck
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Get projectId from `.prjct/prjct.config.json`
|
|
10
|
-
2. Detect type: bug/design/perf/feature
|
|
11
|
-
3. Read context from:
|
|
12
|
-
- `~/.prjct-cli/projects/{id}/analysis/repo-summary.md`
|
|
13
|
-
- `~/.prjct-cli/projects/{id}/memory/context.jsonl`
|
|
14
|
-
4. Log to `memory/context.jsonl`
|
|
15
|
-
5. Response by type:
|
|
16
|
-
- **Bug**: `🔍 1. Check logs 2. Isolate 3. Search error`
|
|
17
|
-
- **Design**: `🎨 1. Define clearly 2. Start simple 3. Ship MVP`
|
|
18
|
-
- **Perf**: `⚡ 1. Profile 2. Fix slowest 3. Cache`
|
|
19
|
-
- **Default**: `💡 1. Break down 2. Start smallest 3. Ship`
|
|
20
|
-
6. Suggest breakdown:
|
|
21
|
-
```
|
|
22
|
-
🧩 Break down:
|
|
23
|
-
1. {task} (15m)
|
|
24
|
-
→ /p:now "{first}"
|
|
25
|
-
```
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: prjct task
|
|
3
|
-
invocable_name: p:task
|
|
4
|
-
description: Break down and execute complex tasks systematically using global prjct architecture
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Steps
|
|
8
|
-
|
|
9
|
-
1. Read project config from `.prjct/prjct.config.json`
|
|
10
|
-
2. Extract `projectId` and `author` from config
|
|
11
|
-
3. Parse task description from arguments
|
|
12
|
-
4. Analyze task complexity and requirements
|
|
13
|
-
5. Break down into subtasks with dependencies
|
|
14
|
-
6. Create task breakdown in `~/.prjct-cli/projects/{projectId}/planning/tasks/{task-id}.md`
|
|
15
|
-
7. Add subtasks to `~/.prjct-cli/projects/{projectId}/core/next.md` with priority
|
|
16
|
-
8. Set first subtask to `~/.prjct-cli/projects/{projectId}/core/now.md`
|
|
17
|
-
9. Log task creation to memory
|
|
18
|
-
10. Display execution plan
|
|
19
|
-
|
|
20
|
-
# Response Format
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
📋 Task Breakdown: {task description}
|
|
24
|
-
|
|
25
|
-
🔍 Analysis:
|
|
26
|
-
- Complexity: {High/Medium/Low}
|
|
27
|
-
- Estimated Time: {timeframe}
|
|
28
|
-
- Dependencies: {list or "None"}
|
|
29
|
-
|
|
30
|
-
📦 Subtasks Created:
|
|
31
|
-
|
|
32
|
-
1. 🎯 {subtask 1} (Starting now)
|
|
33
|
-
- Why: {reason}
|
|
34
|
-
- Deliverable: {outcome}
|
|
35
|
-
- Estimate: {time}
|
|
36
|
-
|
|
37
|
-
2. ⏳ {subtask 2}
|
|
38
|
-
- Why: {reason}
|
|
39
|
-
- Deliverable: {outcome}
|
|
40
|
-
- Estimate: {time}
|
|
41
|
-
- Depends on: #1
|
|
42
|
-
|
|
43
|
-
3. ⏳ {subtask 3}
|
|
44
|
-
- Why: {reason}
|
|
45
|
-
- Deliverable: {outcome}
|
|
46
|
-
- Estimate: {time}
|
|
47
|
-
- Depends on: #2
|
|
48
|
-
|
|
49
|
-
Total Estimate: {total time}
|
|
50
|
-
|
|
51
|
-
✅ Actions Taken:
|
|
52
|
-
- Created task breakdown file
|
|
53
|
-
- Added subtasks to priority queue
|
|
54
|
-
- Set first subtask as current focus
|
|
55
|
-
|
|
56
|
-
🎯 Let's start! Current task:
|
|
57
|
-
{subtask 1 description}
|
|
58
|
-
|
|
59
|
-
Use /p:done when complete to move to next subtask.
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
# Task Breakdown Strategy
|
|
63
|
-
|
|
64
|
-
1. **Understand Requirements**: Analyze what needs to be done
|
|
65
|
-
2. **Identify Dependencies**: What must happen first?
|
|
66
|
-
3. **Define Milestones**: Key deliverables within the task
|
|
67
|
-
4. **Chunk into Subtasks**: Each subtask should be ~1-4 hours
|
|
68
|
-
5. **Sequence Execution**: Order by dependencies and logic
|
|
69
|
-
6. **Estimate Effort**: Realistic time estimates per subtask
|
|
70
|
-
|
|
71
|
-
# Subtask Characteristics
|
|
72
|
-
|
|
73
|
-
Good subtasks are:
|
|
74
|
-
- **Atomic**: Can be completed in one session
|
|
75
|
-
- **Testable**: Clear success criteria
|
|
76
|
-
- **Valuable**: Produces tangible progress
|
|
77
|
-
- **Independent**: Minimal blocking dependencies
|
|
78
|
-
- **Sized Right**: 1-4 hours of focused work
|
|
79
|
-
|
|
80
|
-
# Task Tracking
|
|
81
|
-
|
|
82
|
-
Task breakdown file created at:
|
|
83
|
-
`~/.prjct-cli/projects/{id}/planning/tasks/{task-id}.md`
|
|
84
|
-
|
|
85
|
-
Contains:
|
|
86
|
-
- Original task description
|
|
87
|
-
- Analysis and breakdown
|
|
88
|
-
- Subtask list with status
|
|
89
|
-
- Dependencies map
|
|
90
|
-
- Progress tracking
|
|
91
|
-
- Completion notes
|
|
92
|
-
|
|
93
|
-
# Progress Workflow
|
|
94
|
-
|
|
95
|
-
1. `/p:task "Complex feature"` - Break down
|
|
96
|
-
2. `/p:now` shows first subtask (auto-set)
|
|
97
|
-
3. `/p:done` when complete → auto-advances to next subtask
|
|
98
|
-
4. Repeat until all subtasks complete
|
|
99
|
-
5. Final `/p:done` marks entire task complete
|
|
100
|
-
6. `/p:ship` to celebrate the feature
|
|
101
|
-
|
|
102
|
-
# Global Architecture Notes
|
|
103
|
-
|
|
104
|
-
- **Task Files**: `~/.prjct-cli/projects/{id}/planning/tasks/*.md`
|
|
105
|
-
- **Queue Integration**: `~/.prjct-cli/projects/{id}/core/next.md`
|
|
106
|
-
- **Current Task**: `~/.prjct-cli/projects/{id}/core/now.md`
|
|
107
|
-
- **Memory Logging**: `~/.prjct-cli/projects/{id}/memory/context.jsonl`
|
|
108
|
-
- **Config Location**: `{project}/.prjct/prjct.config.json`
|
|
109
|
-
- **Use Case**: Complex features, refactoring, large implementations
|