rpi-kit 1.4.0 → 2.0.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 (53) hide show
  1. package/.claude-plugin/marketplace.json +9 -6
  2. package/.claude-plugin/plugin.json +4 -4
  3. package/AGENTS.md +2016 -117
  4. package/CHANGELOG.md +83 -0
  5. package/README.md +116 -169
  6. package/agents/atlas.md +61 -0
  7. package/agents/clara.md +49 -0
  8. package/agents/forge.md +38 -0
  9. package/agents/hawk.md +54 -0
  10. package/agents/luna.md +50 -0
  11. package/agents/mestre.md +61 -0
  12. package/agents/nexus.md +63 -0
  13. package/agents/pixel.md +48 -0
  14. package/agents/quill.md +40 -0
  15. package/agents/razor.md +41 -0
  16. package/agents/sage.md +52 -0
  17. package/agents/scout.md +49 -0
  18. package/agents/shield.md +51 -0
  19. package/bin/cli.js +160 -53
  20. package/bin/onboarding.js +46 -28
  21. package/commands/rpi/archive.md +149 -0
  22. package/commands/rpi/docs.md +106 -168
  23. package/commands/rpi/implement.md +163 -401
  24. package/commands/rpi/init.md +150 -67
  25. package/commands/rpi/learn.md +114 -0
  26. package/commands/rpi/new.md +85 -155
  27. package/commands/rpi/onboarding.md +157 -336
  28. package/commands/rpi/party.md +212 -0
  29. package/commands/rpi/plan.md +241 -205
  30. package/commands/rpi/research.md +162 -104
  31. package/commands/rpi/review.md +350 -104
  32. package/commands/rpi/rpi.md +125 -0
  33. package/commands/rpi/simplify.md +156 -93
  34. package/commands/rpi/status.md +91 -114
  35. package/package.json +7 -3
  36. package/skills/rpi-agents/SKILL.md +63 -39
  37. package/skills/rpi-workflow/SKILL.md +160 -186
  38. package/agents/code-reviewer.md +0 -108
  39. package/agents/code-simplifier.md +0 -82
  40. package/agents/cto-advisor.md +0 -61
  41. package/agents/doc-synthesizer.md +0 -67
  42. package/agents/doc-writer.md +0 -37
  43. package/agents/explore-codebase.md +0 -88
  44. package/agents/plan-executor.md +0 -95
  45. package/agents/product-manager.md +0 -59
  46. package/agents/requirement-parser.md +0 -51
  47. package/agents/senior-engineer.md +0 -61
  48. package/agents/test-engineer.md +0 -23
  49. package/agents/ux-designer.md +0 -58
  50. package/codex.md +0 -72
  51. package/commands/rpi/add-todo.md +0 -83
  52. package/commands/rpi/set-profile.md +0 -124
  53. package/commands/rpi/test.md +0 -198
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rpi:onboarding
3
- description: Analyze your codebase, generate a project profile, suggest features to build, and guide you through your first RPI feature.
3
+ description: First-time setup analyzes your codebase, generates context, and guides you through your first feature.
4
4
  argument-hint: "[--refresh]"
5
5
  allowed-tools:
6
6
  - Read
@@ -12,414 +12,235 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- <objective>
16
- Auto-analyze the user's codebase with parallel agents, generate a persistent .rpi-profile.md, suggest features to build, and interactively guide the user through their first feature.
17
- </objective>
15
+ # /rpi:onboarding — Guided First-Time Setup
18
16
 
19
- <process>
17
+ Walks the user through RPIKit setup: explains the workflow, configures the project, analyzes the codebase, and guides them into their first feature.
20
18
 
21
- ## 1. Welcome
19
+ ---
22
20
 
23
- Output:
24
- ```
25
- Welcome to RPIKit — Research, Plan, Implement.
21
+ ## Step 1: Welcome message
26
22
 
27
- RPIKit is a structured workflow that guides you through 3 phases before
28
- writing any code. Each phase produces artifacts that feed the next, with
29
- validation gates that prevent premature implementation.
23
+ Output to the user:
30
24
 
31
- I'm going to analyze your project first, then suggest features you
32
- could build with RPIKit.
33
25
  ```
26
+ Welcome to RPIKit v2 — Research, Plan, Implement.
34
27
 
35
- Check if `.rpi-profile.md` already exists and `--refresh` flag is NOT set:
36
- - If exists: ask "Project profile already exists. Refresh it or skip to feature selection?"
37
- - If `--refresh`: proceed with fresh analysis regardless
28
+ RPIKit is a 7-phase development workflow with 13 specialized AI agents.
29
+ Each phase produces artifacts that feed the next, with validation gates
30
+ that prevent premature implementation.
38
31
 
39
- ## 2. Codebase Analysis
40
-
41
- Output:
42
- ```
43
- Analyzing your project...
32
+ I'll analyze your project, set up configuration, and guide you through
33
+ your first feature.
44
34
  ```
45
35
 
46
- Launch 3 agents in parallel using the Agent tool in a single message:
36
+ ## Step 2: Parse arguments and check existing setup
47
37
 
48
- ### Agent A: Stack & Conventions Scanner
38
+ 1. Parse `$ARGUMENTS` for `--refresh` flag.
39
+ 2. Check if `rpi/context.md` exists.
49
40
 
50
- ```
51
- You are analyzing a project's technology stack and coding conventions. This is a READ-ONLY task do not write any files.
52
-
53
- 1. Use Glob to find project config files:
54
- - package.json, tsconfig.json, tsconfig*.json
55
- - Cargo.toml, pyproject.toml, setup.py, setup.cfg
56
- - go.mod, Gemfile, composer.json, pom.xml, build.gradle
57
- - .eslintrc*, .prettierrc*, biome.json
58
- - vite.config.*, next.config.*, webpack.config.*
59
- - jest.config.*, vitest.config.*, pytest.ini
60
- - docker-compose.yml, Dockerfile
61
- - prisma/schema.prisma, drizzle.config.*
62
-
63
- 2. Read the config files found to identify:
64
- - Primary language and version
65
- - Framework and version
66
- - Database and ORM
67
- - Test framework and runner
68
- - Linter and formatter
69
- - Bundler and build tool
70
- - Styling approach (CSS modules, Tailwind, styled-components, etc.)
71
-
72
- 3. Use Glob to find 5-10 representative source files (pick from different directories):
73
- - Read them to detect:
74
- - File naming convention (kebab-case, camelCase, PascalCase, snake_case)
75
- - Component/module pattern (functional components, classes, modules)
76
- - Import style (relative paths, path aliases, barrel exports)
77
- - Error handling pattern (try/catch, Result types, custom errors)
78
- - API pattern (REST routes, GraphQL resolvers, tRPC procedures)
79
-
80
- 4. Identify architecture:
81
- - Directory structure pattern (src/, app/, lib/, etc.)
82
- - Layering (routes → services → repositories, etc.)
83
- - Key entry points (main files, layout files, middleware)
84
-
85
- Output your findings in this exact format:
41
+ - If `rpi/context.md` exists and `--refresh` was NOT passed:
42
+ Ask with AskUserQuestion: "Project already configured. Do you want to refresh the analysis or skip to feature selection?"
43
+ - If refresh: proceed to Step 3 (full init flow).
44
+ - If skip: jump to Step 5 (read existing `rpi/context.md` and present summary).
45
+ - If `--refresh` was passed: proceed to Step 3 (full init flow).
46
+ - If `rpi/context.md` does not exist: proceed to Step 3 (full init flow).
86
47
 
87
- ## Stack
88
- - Language: {language} {version}
89
- - Framework: {framework} {version}
90
- - Database: {db} via {orm}
91
- - Testing: {test_framework}
92
- - Styling: {approach}
93
- - Linter: {tool}
94
- - Bundler: {tool}
48
+ ## Step 3: Run /rpi:init flow inline — configuration interview
95
49
 
96
- ## Conventions
97
- - File naming: {pattern}
98
- - Component pattern: {pattern}
99
- - Import style: {pattern}
100
- - Error handling: {pattern}
101
- - API pattern: {pattern}
50
+ ### Step 3a: Check existing config
102
51
 
103
- ## Architecture
104
- - Pattern: {description}
105
- - Key directories: {list}
106
- - Entry points: {list}
107
- ```
52
+ Check if `.rpi.yaml` exists.
53
+ - If it exists and `--refresh` was NOT passed: ask with AskUserQuestion: ".rpi.yaml already exists. Overwrite with fresh config or keep current settings?"
54
+ - If keep: skip to Step 3c.
55
+ - If overwrite: proceed to Step 3b.
56
+ - If it exists and `--refresh` was passed: proceed to Step 3b.
57
+ - If it does not exist: proceed to Step 3b.
108
58
 
109
- ### Agent B: Code Health Scanner
59
+ ### Step 3b: Interview (2 batches)
110
60
 
111
- ```
112
- You are analyzing a project's code health. This is a READ-ONLY task do not write any files.
113
-
114
- 1. Use Grep to search for task markers:
115
- - Pattern: TODO|FIXME|HACK|XXX|WORKAROUND|BUG
116
- - Record: file, line number, and the marker text
117
- - Categorize by priority: FIXME/BUG = high, TODO = medium, HACK/XXX/WORKAROUND = low
118
-
119
- 2. Analyze test coverage gaps:
120
- - Use Glob to find all source files (*.ts, *.tsx, *.js, *.jsx, *.py, *.rs, *.go, etc.)
121
- - Use Glob to find all test files (*.test.*, *.spec.*, *_test.*, test_*.*)
122
- - Compare: which source modules have no corresponding test file?
123
- - List the untested modules
124
-
125
- 3. Check for dead code signals:
126
- - Use Grep to find exported functions/classes
127
- - Use Grep to find imports of those exports
128
- - Flag exports with zero imports (potential dead code)
129
- - Limit to 5 findings max
130
-
131
- 4. Check dependency health:
132
- - If package.json exists, note how many dependencies and devDependencies
133
- - Look for lock file (package-lock.json, yarn.lock, pnpm-lock.yaml)
134
- - Note if any dependency versions use '*' or 'latest'
135
-
136
- 5. Find uncovered error paths:
137
- - Use Grep to find try/catch blocks, .catch(), or error handlers
138
- - Look for empty catch blocks or catch blocks that only log
139
- - Limit to 5 findings max
140
-
141
- Output your findings in this exact format:
142
-
143
- ## Health
144
- - Task markers: {N} found ({high} high, {med} medium, {low} low priority)
145
- - Test coverage: {tested}/{total} modules have tests ({percentage}%)
146
- - Dead code signals: {N} potentially unused exports
147
- - Dependencies: {N} deps, {M} devDeps, lock file: {yes/no}
148
- - Uncovered error paths: {N} found
149
-
150
- ### High Priority Markers
151
- - {file}:{line} — {marker text}
152
-
153
- ### Untested Modules
154
- - {file} — no test file found
155
-
156
- ### Uncovered Error Paths
157
- - {file}:{line} — {description}
158
-
159
- ## Suggested Features (from code health)
160
- 1. [{priority}] {slug} — {description based on findings}
161
- 2. [{priority}] {slug} — {description}
162
- (Generate 1-3 suggestions based on the most impactful findings)
163
- ```
61
+ **Batch 1** (use AskUserQuestion — ask all at once):
62
+ - "Do you use TDD? (yes/no, default: no)"
63
+ - "Commit style? (conventional/freeform, default: conventional)"
64
+ - "When should the UX agent (Pixel) run? (auto/always/never, default: auto — runs when frontend detected)"
164
65
 
165
- ### Agent C: Git & History Analyzer
66
+ **Batch 2** (use AskUserQuestion ask all at once):
67
+ - "Auto-learn from implementations? When Forge finishes a task, should RPIKit capture the solution in rpi/solutions/? (yes/no, default: no)"
68
+ - "Party mode default panel size? (3/5/7, default: 5)"
166
69
 
167
- ```
168
- You are analyzing a project's git history and risk profile. This is a READ-ONLY task — do not write any files.
70
+ ### Step 3c: Write .rpi.yaml
169
71
 
170
- 1. Run git commands to gather history (last 30 days):
171
- ```bash
172
- git log --oneline --since="30 days ago" | head -30
173
- ```
174
- ```bash
175
- git shortlog -sn --since="30 days ago"
176
- ```
177
- ```bash
178
- git log --since="30 days ago" --pretty=format: --name-only | sort | uniq -c | sort -rn | head -10
179
- ```
180
-
181
- 2. Identify hotspot files (most frequently changed in 30 days)
72
+ Write `.rpi.yaml` to the project root with the user's responses (use defaults for unanswered questions):
182
73
 
183
- 3. Identify recent focus areas from commit messages:
184
- - What themes appear? (auth, payments, UI, refactor, bugfix, etc.)
74
+ ```yaml
75
+ version: 2
185
76
 
186
- 4. Check for GitHub remote and issues:
187
- ```bash
188
- git remote get-url origin 2>/dev/null
189
- ```
190
- If GitHub remote exists, try:
191
- ```bash
192
- gh issue list --limit 5 --state open 2>/dev/null
193
- ```
194
- If gh is not available or fails, skip gracefully.
77
+ # Directories
78
+ folder: rpi/features
79
+ specs_dir: rpi/specs
80
+ solutions_dir: rpi/solutions
81
+ context_file: rpi/context.md
195
82
 
196
- 5. Assess risks:
197
- - Files changed very frequently (>10 times in 30 days) = churn risk
198
- - Single contributor to critical files = bus factor risk
199
- - No recent commits in important directories = stale code risk
83
+ # Execution
84
+ parallel_threshold: 8
85
+ commit_style: {user_response | conventional}
86
+ tdd: {user_response | false}
200
87
 
201
- Output your findings in this exact format:
88
+ # Agents
89
+ ux_agent: {user_response | auto}
202
90
 
203
- ## Git Insights
204
- - Commits (30d): {N}
205
- - Contributors (30d): {N}
206
- - Most changed files: {file1} ({count}), {file2} ({count}), {file3} ({count})
207
- - Recent focus: {themes}
208
- - Open issues: {N} (or "GitHub CLI not available")
91
+ # Quick flow
92
+ quick_complexity: S
209
93
 
210
- ## Risks
211
- - {risk_type}: {description} {evidence}
212
- (List 1-5 risks based on findings. If no significant risks, say "No significant risks detected.")
94
+ # Knowledge compounding
95
+ auto_learn: {user_response | true}
213
96
 
214
- ## Suggested Features (from git analysis)
215
- 1. [{priority}] {slug} — {description based on findings}
216
- (Generate 0-2 suggestions. Only suggest if findings warrant it.)
97
+ # Party mode
98
+ party_default_agents: {user_response | 5}
217
99
  ```
218
100
 
219
- ## 3. Generate Project Profile
101
+ ### Step 3d: Create directory structure
220
102
 
221
- After all 3 agents complete, merge their outputs into `.rpi-profile.md`.
222
-
223
- ### 3.1 Merge agent outputs
224
-
225
- Combine the structured sections from all 3 agents:
226
- - From Agent A: Stack, Conventions, Architecture
227
- - From Agent B: Health, Suggested Features
228
- - From Agent C: Git Insights, Risks, Suggested Features
103
+ ```bash
104
+ mkdir -p rpi/specs
105
+ mkdir -p rpi/solutions
106
+ mkdir -p rpi/features
107
+ ```
229
108
 
230
- ### 3.2 Deduplicate and rank suggestions
109
+ ## Step 4: Launch Atlas — codebase analysis
231
110
 
232
- Merge suggested features from Agent B and Agent C:
233
- - Remove duplicates (same area of code)
234
- - Rank by priority: HIGH > MEDIUM > LOW
235
- - Keep top 5 suggestions max
111
+ Launch Atlas agent to analyze the codebase and generate `rpi/context.md`:
236
112
 
237
- ### 3.3 Write .rpi-profile.md
113
+ ```
114
+ You are Atlas. Analyze this entire codebase and produce a comprehensive project context document.
238
115
 
239
- Write the merged profile to `.rpi-profile.md` at the project root:
116
+ Your task:
117
+ 1. Read config files first (package.json, tsconfig, Cargo.toml, pyproject.toml, go.mod, etc.)
118
+ 2. Explore the directory structure — map all key directories and their purposes
119
+ 3. Find 5-10 representative source files across different parts of the codebase
120
+ 4. Detect naming conventions, component patterns, import style, error handling
121
+ 5. Identify the testing setup and coverage patterns
122
+ 6. Note any TODOs, FIXMEs, or incomplete areas in the code
123
+ 7. Identify untested modules or areas with weak coverage
124
+ 8. Spot architectural risks or technical debt
240
125
 
241
- ```markdown
242
- # Project Profile
126
+ Output format — write this directly to rpi/context.md:
243
127
 
244
- Generated: {YYYY-MM-DD HH:mm}
128
+ # Project Context
245
129
 
246
- {Stack section from Agent A}
130
+ ## Stack
131
+ - Language: {language} {version}
132
+ - Framework: {framework} {version}
133
+ - Database: {db} (if any)
134
+ - Testing: {test_framework}
135
+ - Build: {build_tool}
136
+ - Package Manager: {package_manager}
247
137
 
248
- {Conventions section from Agent A}
138
+ ## Architecture
139
+ - Pattern: {description}
140
+ - Key directories: {list with purposes}
141
+ - Entry points: {list}
249
142
 
250
- {Architecture section from Agent A}
143
+ ## Conventions
144
+ - File naming: {pattern}
145
+ - Component pattern: {pattern}
146
+ - Import style: {pattern}
147
+ - Error handling: {pattern}
148
+ - API pattern: {pattern}
251
149
 
252
- {Health section from Agent B}
150
+ ## Key Files
151
+ {List of important files with brief descriptions}
253
152
 
254
- {Risks section from Agent C}
153
+ ## Existing Tests
154
+ {Summary of test coverage and testing patterns}
255
155
 
256
- ## Suggested Features
257
- {Merged and ranked list from Agents B and C}
258
- 1. [{priority}] {slug} — {description}
259
- Source: {what finding led to this suggestion}
260
- 2. ...
156
+ ## Risks and Technical Debt
157
+ {Identified risks, TODOs, FIXMEs, weak areas}
261
158
 
262
- {Git Insights section from Agent C}
159
+ ## Opportunities
160
+ {3-5 concrete feature ideas based on: TODOs found, untested modules, missing error handling, potential improvements}
263
161
  ```
264
162
 
265
- ### 3.4 Run /rpi:init if needed
163
+ Wait for Atlas to complete. Store the output as `$ATLAS_OUTPUT`.
266
164
 
267
- Check if `.rpi.yaml` exists:
268
- - If yes: read it and confirm with user ("Found existing config. Using it.")
269
- - If no: run the init flow — ask the 4 batches of questions from `/rpi:init` and create `.rpi.yaml`
165
+ ## Step 5: Present codebase analysis summary
270
166
 
271
- ### 3.5 Present profile summary
167
+ 1. Read `rpi/context.md` (freshly generated or existing).
168
+ 2. Output a condensed summary to the user:
272
169
 
273
- Output a condensed version of the profile:
274
170
  ```
275
- Project Profile — saved to .rpi-profile.md
171
+ Project Analysis Complete
276
172
 
277
- Stack: {language} / {framework} / {db}
278
- Tests: {tested}/{total} modules covered ({percentage}%)
279
- Health: {N} TODOs, {M} uncovered error paths
280
- Risks: {risk_count} identified
281
- Hotspots: {top_file} ({changes} changes in 30d)
173
+ Stack: {language} + {framework}
174
+ Architecture: {pattern}
175
+ Files: {approximate count}
176
+ Tests: {coverage summary}
282
177
 
283
- {N} feature suggestions generated.
178
+ Key findings:
179
+ - {finding 1}
180
+ - {finding 2}
181
+ - {finding 3}
284
182
  ```
285
183
 
286
- ## 4. Feature Selection
184
+ ## Step 6: Suggest features
287
185
 
288
- Present the suggested features from the profile and ask the user what they want to do.
289
-
290
- Use AskUserQuestion:
186
+ Based on the `## Opportunities` section in `rpi/context.md` (or from `$ATLAS_OUTPUT`), present 3-5 concrete feature suggestions:
291
187
 
292
- "Based on your project analysis, here are the top suggestions:
188
+ ```
189
+ Based on the analysis, here are some things you could work on:
293
190
 
294
- {numbered list of suggestions with priority and description}
191
+ 1. {feature idea} {brief justification from codebase analysis}
192
+ 2. {feature idea} — {brief justification}
193
+ 3. {feature idea} — {brief justification}
194
+ ```
295
195
 
296
- What would you like to do?"
196
+ Each suggestion should be grounded in something Atlas actually found (a TODO, an untested module, a missing pattern, a risk to address).
297
197
 
298
- Options:
299
- - "Build one of these features" → ask which one, proceed to Phase 5 option A
300
- - "Describe my own feature" → proceed to Phase 5 option B
301
- - "See a demo first" → proceed to Phase 5 option C
302
- - "I'm done — I'll explore on my own" → proceed to Phase 5 option D
198
+ ## Step 7: Ask what the user wants to do
303
199
 
304
- If user picks "Build one of these features", follow up with AskUserQuestion listing the suggestions as selectable options.
200
+ Use AskUserQuestion:
305
201
 
306
- ## 5. Guided First Feature
202
+ "What would you like to do?
203
+ A) Build one of these features (pick a number)
204
+ B) Describe my own feature
205
+ C) I'll explore on my own"
307
206
 
308
- ### Option A: Build a suggested feature
207
+ ### If A (build a suggested feature):
309
208
 
310
- 1. Read the selected suggestion from the profile
311
- 2. Read `.rpi.yaml` for the configured folder
312
- 3. Create the feature folder structure:
313
- ```bash
314
- mkdir -p {folder}/{slug}/research
315
- mkdir -p {folder}/{slug}/plan
316
- mkdir -p {folder}/{slug}/implement
317
- ```
318
- 4. Pre-fill REQUEST.md using context from the profile and the suggestion:
319
- - Summary: from the suggestion description
320
- - Problem: from the source finding (TODO, test gap, risk)
321
- - Target Users: infer from the codebase context
322
- - Constraints: from conventions and architecture in the profile
323
- - Complexity Estimate: infer from the suggestion scope
324
- 5. Show the generated REQUEST.md to the user
325
- 6. Output:
209
+ 1. Convert the selected feature idea into a slug.
210
+ 2. Read `commands/rpi/new.md` and follow its process from Step 4 onward (Luna's interview), using the suggested feature as context.
211
+ 3. After REQUEST.md is created, output:
326
212
  ```
327
- Feature created: {folder}/{slug}/REQUEST.md
213
+ Feature created: rpi/features/{slug}/REQUEST.md
328
214
 
329
- This is what /rpi:new produces — a structured feature description.
330
-
331
- Next steps:
332
- /rpi:research {slug} Agents analyze feasibility → GO/NO-GO
333
- /rpi:plan {slug} Generate specs + task checklist
334
- /rpi:implement {slug} Build it task by task
335
-
336
- Want me to run /rpi:research {slug} now?
215
+ Next: /rpi {slug}
337
216
  ```
338
- 7. If user says yes, explain what's about to happen ("Research phase: agents will analyze your codebase and requirements in parallel..."), then suggest they run the command.
339
-
340
- ### Option B: Describe your own feature
341
-
342
- 1. Explain: "Let's create your first feature. I'll ask a few questions to understand what you want to build."
343
- 2. Run the same interview flow as `/rpi:new`:
344
- - Ask: "What feature do you want to build?"
345
- - Derive slug from answer
346
- - Ask: "What problem does this solve? Who benefits?"
347
- - Ask adaptive follow-ups based on answers
348
- 3. Create REQUEST.md in the feature folder
349
- 4. Present next steps as in Option A
350
-
351
- ### Option C: See a demo
352
-
353
- 1. If `.rpi.yaml` doesn't exist, create a minimal one with defaults
354
- 2. Create demo folder and REQUEST.md:
355
- ```bash
356
- mkdir -p {folder}/demo-greeting/research
357
- mkdir -p {folder}/demo-greeting/plan
358
- mkdir -p {folder}/demo-greeting/implement
359
- ```
360
- 3. Write `{folder}/demo-greeting/REQUEST.md`:
361
- ```markdown
362
- # Greeting Message
363
-
364
- ## Summary
365
- Add a simple greeting function that returns a personalized welcome message.
366
217
 
367
- ## Problem
368
- The application has no way to greet users by name.
218
+ ### If B (describe own feature):
369
219
 
370
- ## Target Users
371
- All new users during their first session.
372
-
373
- ## Constraints
374
- - Must be a pure function (no side effects)
375
- - Must handle missing or empty names gracefully
376
-
377
- ## References
378
- - None
379
-
380
- ## Complexity Estimate
381
- S — Single function with basic input validation
382
- ```
383
- 4. Explain each section:
220
+ 1. Ask with AskUserQuestion: "What's the name for this feature? (short, e.g. 'oauth', 'dark-mode', 'csv-export')"
221
+ 2. Read `commands/rpi/new.md` and follow its process from Step 4 onward (Luna's interview).
222
+ 3. After REQUEST.md is created, output:
384
223
  ```
385
- I created a demo feature: {folder}/demo-greeting/
224
+ Feature created: rpi/features/{slug}/REQUEST.md
386
225
 
387
- This is what /rpi:new produces. Let me walk through the sections:
226
+ Next: /rpi {slug}
227
+ ```
388
228
 
389
- Summary → One-line description of the feature
390
- Problem → Why this is needed, who's affected
391
- Target Users → Who will use it
392
- Constraints → Technical and business boundaries
393
- Complexity → Rough size estimate (S/M/L/XL)
229
+ ### If C (explore on their own):
394
230
 
395
- In a real workflow, the next steps would be:
396
- /rpi:research demo-greeting → agents analyze feasibility
397
- /rpi:plan demo-greeting → generate specs and task checklist
398
- /rpi:implement demo-greeting → build it task by task
231
+ Proceed to Step 8.
399
232
 
400
- You can run these commands now, or clean up the demo:
401
- rm -rf {folder}/demo-greeting
402
- ```
233
+ ## Step 8: Quick reference card
403
234
 
404
- ### Option D: Exit
235
+ Output to the user:
405
236
 
406
- Output:
407
237
  ```
408
- Your project profile is saved at .rpi-profile.md
409
- RPIKit agents will use it for better context in all future commands.
410
-
411
- Quick reference:
412
- /rpi:new my-feature Start a new feature
413
- /rpi:research my-feature Analyze feasibility
414
- /rpi:plan my-feature Generate implementation plan
415
- /rpi:implement my-feature Build it
416
- /rpi:status See all features
417
-
418
- Tips:
419
- - Start with --quick tier for small features
420
- - Use --deep tier for risky or large changes
421
- - Enable tdd: true in .rpi.yaml for test-first development
422
- - Run /rpi:onboarding --refresh to re-analyze your project anytime
238
+ Quick Reference:
239
+ /rpi:new my-feature Start a new feature
240
+ /rpi my-feature Auto-progress to next phase
241
+ /rpi:party "topic" Multi-agent debate
242
+ /rpi:learn Capture a solution
243
+ /rpi:status See all features
244
+
245
+ Setup complete. Happy building!
423
246
  ```
424
-
425
- </process>