prjct-cli 0.4.8 → 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.
Files changed (49) hide show
  1. package/CHANGELOG.md +337 -0
  2. package/CLAUDE.md +109 -3
  3. package/README.md +228 -93
  4. package/core/agent-detector.js +55 -122
  5. package/core/agent-generator.js +516 -0
  6. package/core/command-installer.js +109 -806
  7. package/core/commands.js +5 -34
  8. package/core/editors-config.js +9 -28
  9. package/core/git-integration.js +401 -0
  10. package/package.json +10 -7
  11. package/scripts/install.sh +0 -1
  12. package/templates/agents/be.template.md +42 -0
  13. package/templates/agents/data.template.md +41 -0
  14. package/templates/agents/devops.template.md +41 -0
  15. package/templates/agents/fe.template.md +42 -0
  16. package/templates/agents/mobile.template.md +41 -0
  17. package/templates/agents/pm.template.md +84 -0
  18. package/templates/agents/qa.template.md +54 -0
  19. package/templates/agents/scribe.template.md +95 -0
  20. package/templates/agents/security.template.md +41 -0
  21. package/templates/agents/ux.template.md +49 -0
  22. package/templates/commands/analyze.md +137 -3
  23. package/templates/commands/done.md +154 -5
  24. package/templates/commands/init.md +61 -3
  25. package/templates/commands/ship.md +146 -6
  26. package/templates/commands/sync.md +220 -0
  27. package/templates/examples/natural-language-examples.md +234 -22
  28. package/core/agents/codex-agent.js +0 -256
  29. package/core/agents/terminal-agent.js +0 -465
  30. package/templates/workflows/analyze.md +0 -159
  31. package/templates/workflows/cleanup.md +0 -73
  32. package/templates/workflows/context.md +0 -72
  33. package/templates/workflows/design.md +0 -88
  34. package/templates/workflows/done.md +0 -20
  35. package/templates/workflows/fix.md +0 -201
  36. package/templates/workflows/git.md +0 -192
  37. package/templates/workflows/help.md +0 -13
  38. package/templates/workflows/idea.md +0 -22
  39. package/templates/workflows/init.md +0 -80
  40. package/templates/workflows/natural-language-handler.md +0 -183
  41. package/templates/workflows/next.md +0 -44
  42. package/templates/workflows/now.md +0 -19
  43. package/templates/workflows/progress.md +0 -113
  44. package/templates/workflows/recap.md +0 -66
  45. package/templates/workflows/roadmap.md +0 -95
  46. package/templates/workflows/ship.md +0 -18
  47. package/templates/workflows/stuck.md +0 -25
  48. package/templates/workflows/task.md +0 -109
  49. 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