prjct-cli 0.5.0 → 0.6.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 (45) hide show
  1. package/CHANGELOG.md +169 -1
  2. package/CLAUDE.md +43 -28
  3. package/README.md +4 -4
  4. package/bin/prjct +78 -63
  5. package/core/agent-generator.js +19 -10
  6. package/core/ascii-graphics.js +433 -0
  7. package/core/command-registry.js +553 -0
  8. package/core/commands.js +274 -62
  9. package/core/task-schema.js +342 -0
  10. package/package.json +4 -3
  11. package/templates/agents/AGENTS.md +79 -101
  12. package/templates/agents/be.template.md +14 -29
  13. package/templates/agents/coordinator.template.md +34 -0
  14. package/templates/agents/data.template.md +14 -28
  15. package/templates/agents/devops.template.md +14 -28
  16. package/templates/agents/fe.template.md +14 -29
  17. package/templates/agents/mobile.template.md +14 -28
  18. package/templates/agents/qa.template.md +14 -41
  19. package/templates/agents/scribe.template.md +15 -81
  20. package/templates/agents/security.template.md +14 -28
  21. package/templates/agents/ux.template.md +14 -36
  22. package/templates/commands/analyze.md +36 -239
  23. package/templates/commands/build.md +41 -0
  24. package/templates/commands/cleanup.md +24 -87
  25. package/templates/commands/context.md +24 -93
  26. package/templates/commands/design.md +20 -98
  27. package/templates/commands/done.md +16 -181
  28. package/templates/commands/fix.md +27 -66
  29. package/templates/commands/git.md +33 -60
  30. package/templates/commands/help.md +18 -52
  31. package/templates/commands/idea.md +11 -36
  32. package/templates/commands/init.md +30 -277
  33. package/templates/commands/next.md +20 -62
  34. package/templates/commands/now.md +18 -22
  35. package/templates/commands/progress.md +23 -78
  36. package/templates/commands/recap.md +22 -74
  37. package/templates/commands/roadmap.md +21 -90
  38. package/templates/commands/ship.md +26 -161
  39. package/templates/commands/status.md +40 -0
  40. package/templates/commands/stuck.md +21 -33
  41. package/templates/commands/sync.md +19 -209
  42. package/templates/commands/task.md +18 -80
  43. package/templates/commands/test.md +23 -72
  44. package/templates/commands/workflow.md +20 -212
  45. package/templates/agents/pm.template.md +0 -84
@@ -0,0 +1,342 @@
1
+ /**
2
+ * Task Metadata Schema and Agent Types
3
+ *
4
+ * Defines the structure for task tracking with agent assignment,
5
+ * time estimation, and complexity scoring.
6
+ *
7
+ * @version 0.6.0
8
+ */
9
+
10
+ /**
11
+ * Agent Types - Technical specialists for task assignment
12
+ */
13
+ const AGENT_TYPES = {
14
+ 'backend-architect': {
15
+ name: 'Backend Architect',
16
+ specialization: 'Server-side architecture, APIs, databases',
17
+ keywords: ['api', 'backend', 'server', 'database', 'endpoint', 'migration', 'schema'],
18
+ icon: '🏗️',
19
+ estimatedEfficiency: 1.0, // baseline
20
+ },
21
+ 'frontend-developer': {
22
+ name: 'Frontend Developer',
23
+ specialization: 'UI/UX, components, responsive design',
24
+ keywords: ['ui', 'frontend', 'component', 'design', 'layout', 'responsive', 'css', 'style'],
25
+ icon: '🎨',
26
+ estimatedEfficiency: 1.0,
27
+ },
28
+ 'fullstack-engineer': {
29
+ name: 'Fullstack Engineer',
30
+ specialization: 'End-to-end feature development',
31
+ keywords: ['fullstack', 'feature', 'integration', 'end-to-end', 'complete'],
32
+ icon: '⚡',
33
+ estimatedEfficiency: 0.9, // slightly slower due to context switching
34
+ },
35
+ 'devops-specialist': {
36
+ name: 'DevOps Specialist',
37
+ specialization: 'CI/CD, deployment, infrastructure',
38
+ keywords: ['deploy', 'ci/cd', 'docker', 'kubernetes', 'infrastructure', 'pipeline', 'build'],
39
+ icon: '🚀',
40
+ estimatedEfficiency: 1.1, // faster at automation
41
+ },
42
+ 'security-engineer': {
43
+ name: 'Security Engineer',
44
+ specialization: 'Authentication, authorization, security',
45
+ keywords: [
46
+ 'auth',
47
+ 'security',
48
+ 'authentication',
49
+ 'authorization',
50
+ 'encryption',
51
+ 'jwt',
52
+ 'oauth',
53
+ ],
54
+ icon: '🔒',
55
+ estimatedEfficiency: 0.8, // slower due to thorough security review
56
+ },
57
+ 'data-engineer': {
58
+ name: 'Data Engineer',
59
+ specialization: 'Data processing, analytics, ETL',
60
+ keywords: ['data', 'analytics', 'etl', 'pipeline', 'processing', 'warehouse', 'query'],
61
+ icon: '📊',
62
+ estimatedEfficiency: 0.9,
63
+ },
64
+ 'qa-engineer': {
65
+ name: 'QA Engineer',
66
+ specialization: 'Testing, quality assurance, automation',
67
+ keywords: ['test', 'testing', 'qa', 'quality', 'automation', 'e2e', 'integration'],
68
+ icon: '🧪',
69
+ estimatedEfficiency: 1.0,
70
+ },
71
+ 'performance-engineer': {
72
+ name: 'Performance Engineer',
73
+ specialization: 'Optimization, scaling, performance',
74
+ keywords: ['performance', 'optimize', 'scaling', 'cache', 'speed', 'bottleneck'],
75
+ icon: '⚡',
76
+ estimatedEfficiency: 0.85, // slower due to profiling and measurement
77
+ },
78
+ 'general-developer': {
79
+ name: 'General Developer',
80
+ specialization: 'General-purpose development',
81
+ keywords: ['fix', 'update', 'improve', 'refactor', 'cleanup'],
82
+ icon: '👨‍💻',
83
+ estimatedEfficiency: 1.0,
84
+ },
85
+ }
86
+
87
+ /**
88
+ * Complexity Levels
89
+ */
90
+ const COMPLEXITY = {
91
+ trivial: {
92
+ level: 1,
93
+ name: 'Trivial',
94
+ description: 'Simple changes, typos, configuration',
95
+ estimatedHours: 0.5,
96
+ multiplier: 0.5,
97
+ examples: ['Fix typo', 'Update config value', 'Change color'],
98
+ },
99
+ simple: {
100
+ level: 2,
101
+ name: 'Simple',
102
+ description: 'Straightforward implementation, single file',
103
+ estimatedHours: 2,
104
+ multiplier: 1.0,
105
+ examples: ['Add validation', 'Create simple component', 'Update documentation'],
106
+ },
107
+ moderate: {
108
+ level: 3,
109
+ name: 'Moderate',
110
+ description: 'Multiple files, some complexity',
111
+ estimatedHours: 4,
112
+ multiplier: 2.0,
113
+ examples: ['Implement new feature', 'Refactor module', 'Add API endpoint'],
114
+ },
115
+ complex: {
116
+ level: 4,
117
+ name: 'Complex',
118
+ description: 'System-wide changes, architecture',
119
+ estimatedHours: 8,
120
+ multiplier: 4.0,
121
+ examples: ['Authentication system', 'Database migration', 'Performance optimization'],
122
+ },
123
+ epic: {
124
+ level: 5,
125
+ name: 'Epic',
126
+ description: 'Major feature, multiple systems',
127
+ estimatedHours: 16,
128
+ multiplier: 8.0,
129
+ examples: ['Payment integration', 'Real-time messaging', 'Admin dashboard'],
130
+ },
131
+ }
132
+
133
+ /**
134
+ * Task Status
135
+ */
136
+ const TASK_STATUS = {
137
+ pending: 'Waiting to start',
138
+ active: 'Currently working on',
139
+ blocked: 'Blocked by dependency',
140
+ completed: 'Successfully finished',
141
+ cancelled: 'Cancelled/discarded',
142
+ }
143
+
144
+ /**
145
+ * Task Schema
146
+ */
147
+ class TaskSchema {
148
+ /**
149
+ * Create a new task
150
+ */
151
+ static create(data) {
152
+ const now = new Date().toISOString()
153
+
154
+ return {
155
+ id: data.id || this.generateId(),
156
+ title: data.title,
157
+ description: data.description || null,
158
+
159
+ // Agent & Developer
160
+ assignedAgent: data.assignedAgent || this.detectAgent(data.title),
161
+ githubDev: data.githubDev || null, // Will be populated from git config
162
+
163
+ // Complexity & Time
164
+ complexity: data.complexity || this.estimateComplexity(data.title, data.description),
165
+ estimatedTime: data.estimatedTime || this.estimateTime(data.complexity),
166
+ actualTime: null,
167
+
168
+ // Status & Tracking
169
+ status: data.status || 'pending',
170
+ priority: data.priority || 5,
171
+ blocked: data.blocked || false,
172
+ blockedBy: data.blockedBy || null,
173
+
174
+ // Timestamps
175
+ createdAt: data.createdAt || now,
176
+ startedAt: data.startedAt || null,
177
+ completedAt: data.completedAt || null,
178
+
179
+ // Metadata
180
+ tags: data.tags || [],
181
+ notes: data.notes || null,
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Generate unique task ID
187
+ */
188
+ static generateId() {
189
+ return `task-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`
190
+ }
191
+
192
+ /**
193
+ * Auto-detect appropriate agent based on task description
194
+ */
195
+ static detectAgent(title, description = '') {
196
+ const text = `${title} ${description}`.toLowerCase()
197
+ let bestMatch = 'general-developer'
198
+ let highestScore = 0
199
+
200
+ for (const [agentType, config] of Object.entries(AGENT_TYPES)) {
201
+ const score = config.keywords.filter((keyword) => text.includes(keyword)).length
202
+
203
+ if (score > highestScore) {
204
+ highestScore = score
205
+ bestMatch = agentType
206
+ }
207
+ }
208
+
209
+ return bestMatch
210
+ }
211
+
212
+ /**
213
+ * Estimate complexity based on keywords and description
214
+ */
215
+ static estimateComplexity(title, description = '') {
216
+ const text = `${title} ${description}`.toLowerCase()
217
+
218
+ // Epic indicators
219
+ if (
220
+ text.match(
221
+ /system|payment|real-time|dashboard|integration|authentication|migration|architecture/i,
222
+ )
223
+ ) {
224
+ return 'epic'
225
+ }
226
+
227
+ // Complex indicators
228
+ if (text.match(/refactor|optimization|security|database|multiple|complex/i)) {
229
+ return 'complex'
230
+ }
231
+
232
+ // Moderate indicators
233
+ if (text.match(/feature|implement|api|endpoint|component|module/i)) {
234
+ return 'moderate'
235
+ }
236
+
237
+ // Simple indicators
238
+ if (text.match(/add|update|fix|change|simple|small/i)) {
239
+ return 'simple'
240
+ }
241
+
242
+ // Trivial indicators
243
+ if (text.match(/typo|config|color|text|minor|tiny/i)) {
244
+ return 'trivial'
245
+ }
246
+
247
+ return 'simple' // default
248
+ }
249
+
250
+ /**
251
+ * Estimate time based on complexity and agent efficiency
252
+ */
253
+ static estimateTime(complexity, agentType = 'general-developer') {
254
+ const complexityData = COMPLEXITY[complexity]
255
+ const agentData = AGENT_TYPES[agentType]
256
+
257
+ if (!complexityData || !agentData) {
258
+ return '2-4 hours'
259
+ }
260
+
261
+ const baseHours = complexityData.estimatedHours
262
+ const adjustedHours = baseHours * agentData.estimatedEfficiency
263
+
264
+ // Format as range
265
+ const low = Math.floor(adjustedHours * 0.75)
266
+ const high = Math.ceil(adjustedHours * 1.25)
267
+
268
+ if (adjustedHours < 1) {
269
+ return `${Math.round(adjustedHours * 60)} minutes`
270
+ }
271
+
272
+ return `${low}-${high} hours`
273
+ }
274
+
275
+ /**
276
+ * Start a task (move to active)
277
+ */
278
+ static start(task) {
279
+ return {
280
+ ...task,
281
+ status: 'active',
282
+ startedAt: new Date().toISOString(),
283
+ }
284
+ }
285
+
286
+ /**
287
+ * Complete a task
288
+ */
289
+ static complete(task) {
290
+ const completedAt = new Date().toISOString()
291
+ const actualTime = this.calculateActualTime(task.startedAt, completedAt)
292
+
293
+ return {
294
+ ...task,
295
+ status: 'completed',
296
+ completedAt,
297
+ actualTime,
298
+ }
299
+ }
300
+
301
+ /**
302
+ * Calculate actual time spent
303
+ */
304
+ static calculateActualTime(startedAt, completedAt) {
305
+ if (!startedAt) return null
306
+
307
+ const start = new Date(startedAt)
308
+ const end = new Date(completedAt)
309
+ const diffMs = end - start
310
+ const hours = Math.floor(diffMs / (1000 * 60 * 60))
311
+ const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60))
312
+
313
+ if (hours === 0) {
314
+ return `${minutes}m`
315
+ }
316
+ return `${hours}h ${minutes}m`
317
+ }
318
+
319
+ /**
320
+ * Validate task schema
321
+ */
322
+ static validate(task) {
323
+ const errors = []
324
+
325
+ if (!task.title) errors.push('Task title is required')
326
+ if (!AGENT_TYPES[task.assignedAgent]) errors.push('Invalid agent type')
327
+ if (!COMPLEXITY[task.complexity]) errors.push('Invalid complexity level')
328
+ if (!TASK_STATUS[task.status]) errors.push('Invalid task status')
329
+
330
+ return {
331
+ valid: errors.length === 0,
332
+ errors,
333
+ }
334
+ }
335
+ }
336
+
337
+ module.exports = {
338
+ TaskSchema,
339
+ AGENT_TYPES,
340
+ COMPLEXITY,
341
+ TASK_STATUS,
342
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prjct-cli",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Built for Claude - Ship fast, track progress, stay focused. Developer momentum tool for indie hackers.",
5
5
  "main": "core/index.js",
6
6
  "bin": {
@@ -15,6 +15,7 @@
15
15
  "preuninstall": "node scripts/preuninstall.js",
16
16
  "install-global": "./scripts/install.sh",
17
17
  "test": "echo 'No tests configured'",
18
+ "validate": "node scripts/validate-commands.js",
18
19
  "lint": "eslint \"**/*.js\" --ignore-pattern \"node_modules/**\" --ignore-pattern \"website/**\"",
19
20
  "lint:fix": "eslint \"**/*.js\" --fix --ignore-pattern \"node_modules/**\" --ignore-pattern \"website/**\"",
20
21
  "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\" --config .config/.prettierrc --ignore-path .config/.prettierignore",
@@ -36,7 +37,7 @@
36
37
  "no-bs",
37
38
  "focus"
38
39
  ],
39
- "author": "prjct.dev",
40
+ "author": "prjct.app",
40
41
  "license": "MIT",
41
42
  "dependencies": {
42
43
  "chalk": "^4.1.2",
@@ -62,7 +63,7 @@
62
63
  "bugs": {
63
64
  "url": "https://github.com/jlopezlira/prjct-cli/issues"
64
65
  },
65
- "homepage": "https://prjct.dev",
66
+ "homepage": "https://prjct.app",
66
67
  "engines": {
67
68
  "node": ">=18.0.0"
68
69
  },
@@ -1,33 +1,38 @@
1
1
  # AGENTS.md
2
2
 
3
- AI assistant guidance for prjct-cli.
3
+ AI assistant guidance for **prjct-cli** - developer momentum tool for solo builders & small teams (2-5 people). Just ship. No BS.
4
+
5
+ ## What This Is
6
+
7
+ **NOT** project management. NO sprints, story points, ceremonies, or meetings.
8
+
9
+ **IS** frictionless progress tracking. Talk naturally, ship features, celebrate wins.
4
10
 
5
11
  ## Talk Naturally
6
12
 
7
- **You don't need to memorize commands** - just describe what you want to do!
13
+ **Zero memorization** - just describe what you want!
8
14
 
9
- The AI assistant uses **semantic understanding** to map your intent to commands. Works in **any language** the LLM understands (primarily English and Spanish).
15
+ Works in **any language** via semantic understanding.
10
16
 
11
17
  **Examples:**
12
18
  ```
13
- Intent: Start working on something
19
+ Start working:
14
20
  → "I want to build the login page"
15
- → "Let me work on authentication"
16
21
  → "Voy a hacer el dashboard"
17
22
  → Command: /p:now
18
23
 
19
- Intent: Finished current work
20
- → "I'm done" | "finished" | "terminé" | "completed"
24
+ Finished:
25
+ → "I'm done" | "terminé" | "completed"
21
26
  → Command: /p:done
22
27
 
23
- Intent: Ship a feature
28
+ Ship:
24
29
  → "ship this" | "deploy it" | "ready to launch"
25
30
  → Command: /p:ship
26
31
  ```
27
32
 
28
- **Both work simultaneously:**
29
- - Talk naturally: "I want to start building auth"
30
- - Use commands directly: `/p:now "building auth"`
33
+ **Both work:**
34
+ - Natural: "I want to start building auth"
35
+ - Direct: `/p:now "building auth"`
31
36
 
32
37
  ## Architecture
33
38
 
@@ -42,123 +47,96 @@ memory/ # context.jsonl
42
47
 
43
48
  **Local**: `.prjct/prjct.config.json`
44
49
 
45
- ## MCP Servers
46
-
47
- - **Context7**: Library docs (always on)
48
- - **Filesystem**: File ops
49
- - **Memory**: Persistence
50
- - **Sequential**: Complex reasoning
51
-
52
50
  ## Quick Start
53
51
 
54
- 1. Initialize: `/p:init`
55
- 2. Type: `/p:help` for interactive guide
56
- 3. Or just talk: "I want to start [task]"
52
+ 1. `/p:init` - Initialize
53
+ 2. `/p:help` - Guide
54
+ 3. Or talk: "I want to start [task]"
57
55
 
58
56
  ## Commands
59
57
 
60
- **💡 Tip**: Type `/p:help` anytime for an interactive guide with natural language options.
61
-
62
- | Command | Say This Instead | Action |
63
- |---------|------------------|--------|
64
- | `/p:help` | "help" or "what can I do?" | Interactive guide |
65
- | `/p:init` | - | Create global dirs + config |
66
- | `/p:now [task]` | "start [task]" | Update `core/now.md` |
67
- | `/p:done` | "I'm done" or "finished" | Clear focus, suggest next |
68
- | `/p:ship <feature>` | "ship [feature]" | Add to `progress/shipped.md` |
69
- | `/p:next` | "what's next?" | Read `core/next.md` |
70
- | `/p:idea <text>` | "I have an idea about [x]" | Append to `planning/ideas.md` |
71
- | `/p:recap` | "show my progress" | Aggregate all metrics |
72
- | `/p:progress [period]` | "how am I doing?" | Filter by timeframe |
73
- | `/p:stuck <issue>` | "I'm stuck on [issue]" | Context-based guidance |
74
- | `/p:context` | "show project context" | Display config + activity |
75
- | `/p:roadmap` | "show the plan" | Read `planning/roadmap.md` |
76
- | `/p:analyze` | "analyze this repo" | Generate `analysis/repo-summary.md` |
77
- | `/p:task` | "break this down" | Multi-step execution |
78
- | `/p:git` | - | Smart commits with context |
79
- | `/p:fix` | "help me fix [x]" | Quick problem solving |
80
- | `/p:test` | "run tests" | Execute + report |
81
- | `/p:design` | "design [x]" | Generate diagrams + specs |
82
- | `/p:cleanup` | "clean up code" | Remove dead code/deps |
58
+ **💡 Tip**: `/p:help` for interactive guide
59
+
60
+ | Command | Say This | Action |
61
+ |---------|----------|--------|
62
+ | `/p:help` | "help" | Interactive guide |
63
+ | `/p:init` | - | Create structure |
64
+ | `/p:now [task]` | "start [task]" | Set current task |
65
+ | `/p:done` | "I'm done" | Complete & next |
66
+ | `/p:ship <feature>` | "ship [feature]" | Celebrate win |
67
+ | `/p:next` | "what's next?" | Show queue |
68
+ | `/p:idea <text>` | "idea about [x]" | Capture ideas |
69
+ | `/p:recap` | "show progress" | Overview |
70
+ | `/p:progress [period]` | "how am I doing?" | Metrics |
71
+ | `/p:stuck <issue>` | "I'm stuck" | Get help |
72
+ | `/p:context` | "show context" | Display state |
73
+ | `/p:analyze` | "analyze repo" | Generate summary |
74
+ | `/p:design` | "design [x]" | Generate specs |
75
+ | `/p:cleanup` | "clean up" | Remove dead code |
83
76
 
84
77
  ## How It Works
85
78
 
86
- **You can talk naturally:**
87
- - System detects intent from your message
88
- - Maps to appropriate command automatically
89
- - Responds conversationally with options
90
- - Always suggests what to do next
91
-
92
- **Every response includes:**
93
- - What you just did
94
- - Natural language options for next steps
95
- - Command alternatives if you prefer
96
-
97
- **Zero memorization needed** - just describe what you want!
79
+ **Natural conversation:**
80
+ - Detect intent
81
+ - Map to command
82
+ - Respond with options
83
+ - Suggest next steps
98
84
 
99
- ## Natural Language Detection
85
+ **Every response:**
86
+ - What you did
87
+ - Natural options
88
+ - Command alternatives
100
89
 
101
- The AI assistant uses **semantic understanding** to map user intent to commands.
90
+ **Zero memorization!**
102
91
 
103
- ### How It Works
92
+ ## Intent Detection
104
93
 
105
- **You're an LLM** - use your natural language understanding, not pattern matching!
94
+ Semantic understanding, not pattern matching.
106
95
 
107
- 1. **Check if direct command**: Does message start with `/p:`? → Execute directly
108
- 2. **Understand user intent**: What is the user trying to accomplish?
109
- 3. **Map to appropriate command**: Based on semantic meaning
110
- 4. **Extract parameters**: Pull relevant information from the message
111
- 5. **Show transparency**: Always say what you understood and what you'll execute
96
+ | Intent | Command | Examples |
97
+ |--------|---------|----------|
98
+ | Start task | `/p:now` | "work on X", "starting API", "voy a hacer X" |
99
+ | Finish | `/p:done` | "done", "finished", "terminé", "listo" |
100
+ | Ship | `/p:ship` | "ship this", "deploy X", "it's ready" |
101
+ | Idea | `/p:idea` | "I have an idea", "what if we..." |
102
+ | Progress | `/p:recap` | "show progress", "how am I doing" |
103
+ | Stuck | `/p:stuck` | "I'm stuck", "help with X" |
104
+ | Next | `/p:next` | "what's next", "qué sigue" |
112
105
 
113
- ### Command Intent Map
106
+ **Any language works** - if you understand intent, execute the command.
114
107
 
115
- | User Intent | Command | Examples of Natural Expression |
116
- |-------------|---------|-------------------------------|
117
- | Start/focus on task | `/p:now` | "let me work on X", "starting the API", "voy a hacer X" |
118
- | Finished current work | `/p:done` | "done", "finished", "terminé", "completed", "listo" |
119
- | Ship/deploy feature | `/p:ship` | "ship this", "deploy X", "it's ready", "let's launch" |
120
- | Capture an idea | `/p:idea` | "I have an idea", "what if we...", "tengo una idea" |
121
- | Check progress/status | `/p:recap` | "show progress", "how am I doing", "muéstrame el avance" |
122
- | Stuck on problem | `/p:stuck` | "I'm stuck", "help with X", "estoy atascado" |
123
- | What to work on next | `/p:next` | "what's next", "qué sigue", "what should I do" |
124
-
125
- **Key principle**: If you understand what the user wants, map it to the right command. Don't rely on exact phrase matching.
126
-
127
- ### Example Flow
108
+ ### Example
128
109
 
129
110
  **User:** "I want to start building the login page"
130
111
 
131
- **Your Reasoning:**
132
- - Intent detected: User wants to begin working on something
133
- - Appropriate command: `/p:now`
134
- - Parameter to extract: "building the login page"
112
+ **Your reasoning:**
113
+ - Intent: Start working
114
+ - Command: `/p:now`
115
+ - Param: "building the login page"
135
116
 
136
- **Your Response:**
117
+ **Response:**
137
118
  ```
138
- 💬 I understood: "start working on building the login page"
119
+ 💬 Understood: "start building the login page"
139
120
  ⚡ Executing: /p:now "building the login page"
140
121
 
141
- ✅ Starting task: building the login page
122
+ ✅ Starting: building the login page
142
123
 
143
- What's next?
124
+ Next:
144
125
  • Say "I'm done" when finished
145
126
  • Or: /p:done
146
127
  ```
147
128
 
148
- ### Works in Any Language
149
-
150
- If you understand the user's intent in **any language**, execute the command:
151
- - English: "I want to start the API"
152
- - Spanish: "Quiero empezar con la autenticación"
153
- - Casual: "gonna work on that login thing"
154
- - Formal: "I shall commence development of the authentication module"
155
-
156
- All map to: `/p:now`
157
-
158
129
  ## Implementation
159
130
 
160
131
  - All ops atomic
161
- - Log to `memory/context.jsonl` with author
162
- - Conversational responses with clear options
163
- - Intent detection (English + Spanish)
164
- - Handle missing files gracefully
132
+ - Log to `memory/context.jsonl`
133
+ - Conversational responses
134
+ - Intent detection (any language)
135
+ - Handle missing files
136
+
137
+ ## MCP Servers
138
+
139
+ - **Context7**: Library docs (always on)
140
+ - **Filesystem**: File ops
141
+ - **Memory**: Persistence
142
+ - **Sequential**: Complex reasoning
@@ -6,37 +6,22 @@ model: opus
6
6
  color: yellow
7
7
  ---
8
8
 
9
- You are a Senior Backend Engineer for **[PROJECT_NAME]**.
9
+ Senior Backend Engineer for **[PROJECT_NAME]**
10
10
 
11
- ## Project Context
12
- - **Stack**: [DETECTED_STACK]
13
- - **Architecture**: [DETECTED_PATTERN]
14
- - **Primary Language**: [PRIMARY_LANGUAGE]
11
+ ## Context
12
+ Stack: [DETECTED_STACK] | Pattern: [DETECTED_PATTERN] | Lang: [PRIMARY_LANGUAGE]
15
13
 
16
- ## Core Expertise
17
- - **API Design**: RESTful, GraphQL, efficient endpoints
18
- - **Database**: Schema design, queries, optimization
19
- - **Authentication**: JWT, OAuth, session management
20
- - **Architecture**: Clean code, SOLID principles, DRY
21
- - **Performance**: Caching, query optimization, scalability
14
+ ## Expertise
15
+ - API design: RESTful, GraphQL, efficient endpoints
16
+ - Database: schema design, queries, optimization
17
+ - Auth & Security: JWT, OAuth, session management
22
18
 
23
- ## NOT Your Expertise
24
- - Frontend UI implementation
25
- - DevOps infrastructure (defer to DevOps)
26
- - UX design decisions
19
+ ## Principles
20
+ 1. SOLID: Single responsibility, dependency inversion
21
+ 2. Security First: Validate inputs, protect endpoints
22
+ 3. Scalable: Design for growth, test comprehensively
27
23
 
28
- ## Development Principles
29
- 1. **SOLID Principles**: Single responsibility, dependency inversion
30
- 2. **Security First**: Validate inputs, protect endpoints
31
- 3. **Scalability**: Design for growth
32
- 4. **Testing**: Unit tests, integration tests
33
- 5. **Documentation**: Clear API docs
24
+ ## Focus
25
+ Server layer, business logic, data persistence
34
26
 
35
- ## Focus Areas
36
- - API endpoints and business logic
37
- - Database schema and queries
38
- - Authentication and authorization
39
- - Data validation and error handling
40
- - Performance optimization
41
-
42
- Remember: You build the server layer. Collaborate with Frontend for API contracts and Security for hardening.
27
+ **Defer to**: Frontend (UI), DevOps (infra), Security (hardening)