projecta-rrr 1.5.28 → 1.6.1

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/README.md CHANGED
@@ -164,6 +164,120 @@ If you prefer not to use that flag, add this to your project's `.claude/settings
164
164
 
165
165
  ---
166
166
 
167
+ ## Projecta Preferred Pack
168
+
169
+ RRR includes a default stack optimized for rapid MVP development. Defaults are recommended but overrideable.
170
+
171
+ ### Where Defaults Live
172
+
173
+ | File | Purpose |
174
+ |------|---------|
175
+ | `projecta.defaults.json` | Global defaults (core stack, preferred providers, discouraged list) |
176
+ | `.planning/MVP_FEATURES.yml` | Per-project capability selections |
177
+ | `.planning/PROJECT.md` | Deviation Notes (any overrides from defaults) |
178
+
179
+ ### Core Stack (always assumed)
180
+
181
+ - **Framework:** Next.js (App Router) + TypeScript
182
+ - **Package Manager:** npm
183
+ - **UI:** Tailwind CSS + shadcn/ui
184
+ - **Testing:** Vitest (unit) + Playwright (e2e)
185
+
186
+ ### Preferred Providers
187
+
188
+ | Capability | Default | Alternative |
189
+ |------------|---------|-------------|
190
+ | Database | Neon | — |
191
+ | Auth | Clerk | Neon Auth |
192
+ | Payments | Stripe | — |
193
+ | Object Storage | Cloudflare R2 | — |
194
+ | Analytics | PostHog | — |
195
+ | Voice | Deepgram | — |
196
+ | Deploy | Render | — |
197
+
198
+ ### Agent Stack (when agents needed)
199
+
200
+ - **Orchestration:** Mastra
201
+ - **Agent Auth:** Auth.dev
202
+ - **Agent Mail:** Agentmail
203
+ - **Sandbox:** E2B
204
+ - **Browser Automation:** Browserbase
205
+
206
+ ### Overrides
207
+
208
+ If you choose a non-default provider, RRR asks for a reason and records it in Deviation Notes:
209
+
210
+ ```markdown
211
+ ## Deviation Notes
212
+
213
+ | Capability | Default | Chosen | Reason |
214
+ |------------|---------|--------|--------|
215
+ | auth | clerk | auth0 | Client requires Auth0 for SSO compliance |
216
+ ```
217
+
218
+ ### Discouraged Providers
219
+
220
+ These are allowed but require explicit justification: Firebase, Supabase, Auth0, Vercel, PlanetScale.
221
+
222
+ ### MCP Auto-Setup
223
+
224
+ RRR includes an MCP registry that maps your selected providers to their MCP servers. After `/rrr:new-project` generates your `MVP_FEATURES.yml`:
225
+
226
+ ```bash
227
+ npm run mcp:setup
228
+ ```
229
+
230
+ This reads your feature selections and outputs the MCP configuration for Claude Code. Only MCPs you actually need get installed.
231
+
232
+ | Feature | MCP Server |
233
+ |---------|------------|
234
+ | Database (Neon) | `@neondatabase/mcp-server-neon` |
235
+ | Payments (Stripe) | `@stripe/mcp` |
236
+ | Analytics (PostHog) | `@anthropic/mcp-posthog` |
237
+ | Voice (Deepgram) | `@deepgram/mcp-server` |
238
+ | Browser (Browserbase) | `@anthropic/mcp-browserbase` |
239
+ | Sandbox (E2B) | `@e2b/mcp-server` |
240
+ | Storage (R2) | `@cloudflare/mcp-server-r2` |
241
+
242
+ **Always included:** Context7 (docs), GitHub, Filesystem, Sequential Thinking.
243
+
244
+ ### Pushpa Mode (Autopilot)
245
+
246
+ Run phases overnight while you sleep. Pushpa Mode is an unattended runner that plans and executes phases sequentially, skipping any that require human verification.
247
+
248
+ ```bash
249
+ bash scripts/pushpa-mode.sh
250
+ # or
251
+ npm run pushpa
252
+ ```
253
+
254
+ **What it does:**
255
+ 1. Preflights required API keys based on your `MVP_FEATURES.yml`
256
+ 2. Iterates through phases in order
257
+ 3. Plans any phase that doesn't have a plan yet
258
+ 4. Executes phases automatically
259
+ 5. **Skips** phases marked with `HITL_REQUIRED: true` (human verification needed)
260
+ 6. Generates a morning report at `.planning/PUSHPA_REPORT.md`
261
+
262
+ **Prerequisites:**
263
+ - Run `/rrr:new-project` first (project must be initialized)
264
+ - Set all required API keys (script will check and warn)
265
+ - Recommend enabling YOLO mode in `.planning/config.json`
266
+
267
+ **Where outputs live:**
268
+ - Report: `.planning/PUSHPA_REPORT.md`
269
+ - Logs: `.planning/logs/pushpa_*.log`
270
+
271
+ **HITL Convention:**
272
+ Plans that require human verification should include one of these markers:
273
+ - `HITL_REQUIRED: true` (canonical)
274
+ - `HUMAN_VERIFICATION_REQUIRED`
275
+ - `MANUAL_VERIFICATION`
276
+
277
+ Pushpa Mode will skip these phases and record them in the report for manual follow-up.
278
+
279
+ ---
280
+
167
281
  ## How It Works
168
282
 
169
283
  ### 1. Initialize Project (~10 minutes)
package/bin/install.js CHANGED
@@ -301,7 +301,26 @@ function finishInstall(settingsPath, settings, statuslineCommand, notifyCommand,
301
301
  writeSettings(settingsPath, settings);
302
302
 
303
303
  console.log(`
304
- ${green}Done!${reset} Launch Claude Code and run ${cyan}/rrr:help${reset}.
304
+ ${green}Done!${reset}
305
+
306
+ ${yellow}If you installed from inside Claude Code:${reset}
307
+ Type ${cyan}exit${reset} and restart ${cyan}claude${reset} so it reloads commands.
308
+
309
+ ${yellow}Pick your start command:${reset}
310
+
311
+ ${cyan}New/empty folder (greenfield)${reset}
312
+ /rrr:new-project
313
+ (bootstraps Next.js/TS baseline if folder is empty)
314
+
315
+ ${cyan}Existing repo (brownfield)${reset}
316
+ /rrr:new-project
317
+ (brownfield-safe; won't overwrite or restructure your repo)
318
+
319
+ ${cyan}RRR already initialized${reset}
320
+ /rrr:progress
321
+ (if .planning/STATE.md exists)
322
+
323
+ Run ${cyan}/rrr:help${reset} anytime to see all commands.
305
324
  `);
306
325
  }
307
326
 
@@ -0,0 +1,439 @@
1
+ ---
2
+ name: rrr:bootstrap-nextjs
3
+ description: Scaffold a Next.js App Router MVP with TypeScript, Tailwind, shadcn/ui, Vitest, and Playwright
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Edit
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - TodoWrite
12
+ ---
13
+
14
+ <objective>
15
+
16
+ Bootstrap a complete Next.js App Router project with Projecta's default MVP stack:
17
+
18
+ - **Framework:** Next.js (App Router) + TypeScript
19
+ - **Package Manager:** npm only
20
+ - **UI:** Tailwind CSS + shadcn/ui
21
+ - **Unit Tests:** Vitest + Testing Library
22
+ - **E2E Tests:** Playwright
23
+ - **Environment:** .env.example with common MVP placeholders
24
+
25
+ This command creates a production-ready foundation in ~5 minutes. Run once per project.
26
+
27
+ **After this command:** Run `/rrr:new-project` to define requirements and roadmap.
28
+
29
+ </objective>
30
+
31
+ <process>
32
+
33
+ ## Phase 1: Pre-flight Checks
34
+
35
+ **MANDATORY FIRST STEP — Execute these checks before ANY scaffolding:**
36
+
37
+ 1. **Check for existing project:**
38
+ ```bash
39
+ if [ -f package.json ]; then
40
+ echo "ERROR: package.json already exists. This command is for new projects only."
41
+ exit 1
42
+ fi
43
+ ```
44
+
45
+ 2. **Check npm is available:**
46
+ ```bash
47
+ npm --version || { echo "ERROR: npm not found"; exit 1; }
48
+ ```
49
+
50
+ 3. **Initialize git repo if needed:**
51
+ ```bash
52
+ if [ -d .git ] || [ -f .git ]; then
53
+ echo "Git repo exists"
54
+ else
55
+ git init
56
+ echo "Initialized new git repo"
57
+ fi
58
+ ```
59
+
60
+ ## Phase 2: Create Next.js Project
61
+
62
+ Display stage banner:
63
+ ```
64
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
65
+ RRR ► BOOTSTRAPPING NEXT.JS MVP
66
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
67
+ ```
68
+
69
+ 1. **Create Next.js app with App Router:**
70
+ ```bash
71
+ npx create-next-app@latest . --typescript --tailwind --eslint --app --src-dir --import-alias "@/*" --use-npm --no-turbopack
72
+ ```
73
+
74
+ This creates:
75
+ - TypeScript configuration
76
+ - Tailwind CSS setup
77
+ - ESLint configuration
78
+ - App Router (src/app/)
79
+ - Path alias @/*
80
+
81
+ 2. **Verify creation:**
82
+ ```bash
83
+ [ -f package.json ] && [ -d src/app ] && echo "Next.js created successfully"
84
+ ```
85
+
86
+ ## Phase 3: Install shadcn/ui
87
+
88
+ 1. **Initialize shadcn/ui:**
89
+ ```bash
90
+ npx shadcn@latest init -d
91
+ ```
92
+
93
+ This uses defaults:
94
+ - Style: New York
95
+ - Base color: Neutral
96
+ - CSS variables: Yes
97
+
98
+ 2. **Add Button component:**
99
+ ```bash
100
+ npx shadcn@latest add button -y
101
+ ```
102
+
103
+ 3. **Update homepage to show Button:**
104
+
105
+ Edit `src/app/page.tsx` to include a simple demo:
106
+
107
+ ```tsx
108
+ import { Button } from "@/components/ui/button";
109
+
110
+ export default function Home() {
111
+ return (
112
+ <main className="flex min-h-screen flex-col items-center justify-center p-24">
113
+ <div className="text-center space-y-6">
114
+ <h1 className="text-4xl font-bold">Welcome to Your MVP</h1>
115
+ <p className="text-muted-foreground">
116
+ Built with Next.js, TypeScript, Tailwind, and shadcn/ui
117
+ </p>
118
+ <Button size="lg">Get Started</Button>
119
+ </div>
120
+ </main>
121
+ );
122
+ }
123
+ ```
124
+
125
+ ## Phase 4: Setup Vitest + Testing Library
126
+
127
+ 1. **Install Vitest and Testing Library:**
128
+ ```bash
129
+ npm install -D vitest @vitejs/plugin-react jsdom @testing-library/react @testing-library/jest-dom @testing-library/user-event
130
+ ```
131
+
132
+ 2. **Create vitest.config.ts:**
133
+
134
+ Write to `vitest.config.ts`:
135
+ ```typescript
136
+ import { defineConfig } from 'vitest/config'
137
+ import react from '@vitejs/plugin-react'
138
+ import path from 'path'
139
+
140
+ export default defineConfig({
141
+ plugins: [react()],
142
+ test: {
143
+ environment: 'jsdom',
144
+ setupFiles: ['./src/test/setup.ts'],
145
+ include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
146
+ },
147
+ resolve: {
148
+ alias: {
149
+ '@': path.resolve(__dirname, './src'),
150
+ },
151
+ },
152
+ })
153
+ ```
154
+
155
+ 3. **Create test setup file:**
156
+
157
+ Create `src/test/setup.ts`:
158
+ ```typescript
159
+ import '@testing-library/jest-dom'
160
+ ```
161
+
162
+ 4. **Create smoke unit test:**
163
+
164
+ Create `src/app/page.test.tsx`:
165
+ ```tsx
166
+ import { render, screen } from '@testing-library/react'
167
+ import { describe, it, expect } from 'vitest'
168
+ import Home from './page'
169
+
170
+ describe('Home', () => {
171
+ it('renders the welcome heading', () => {
172
+ render(<Home />)
173
+ expect(screen.getByRole('heading', { level: 1 })).toHaveTextContent('Welcome to Your MVP')
174
+ })
175
+
176
+ it('renders the get started button', () => {
177
+ render(<Home />)
178
+ expect(screen.getByRole('button', { name: /get started/i })).toBeInTheDocument()
179
+ })
180
+ })
181
+ ```
182
+
183
+ 5. **Add test script to package.json:**
184
+
185
+ Edit `package.json` to add:
186
+ ```json
187
+ "scripts": {
188
+ "test": "vitest run",
189
+ "test:watch": "vitest"
190
+ }
191
+ ```
192
+
193
+ ## Phase 5: Setup Playwright
194
+
195
+ 1. **Install Playwright:**
196
+ ```bash
197
+ npm install -D @playwright/test
198
+ npx playwright install chromium
199
+ ```
200
+
201
+ 2. **Create playwright.config.ts:**
202
+
203
+ Write to `playwright.config.ts`:
204
+ ```typescript
205
+ import { defineConfig, devices } from '@playwright/test'
206
+
207
+ export default defineConfig({
208
+ testDir: './e2e',
209
+ fullyParallel: true,
210
+ forbidOnly: !!process.env.CI,
211
+ retries: process.env.CI ? 2 : 0,
212
+ workers: process.env.CI ? 1 : undefined,
213
+ reporter: 'html',
214
+ use: {
215
+ baseURL: 'http://localhost:3000',
216
+ trace: 'on-first-retry',
217
+ },
218
+ projects: [
219
+ {
220
+ name: 'chromium',
221
+ use: { ...devices['Desktop Chrome'] },
222
+ },
223
+ ],
224
+ webServer: {
225
+ command: 'npm run dev',
226
+ url: 'http://localhost:3000',
227
+ reuseExistingServer: !process.env.CI,
228
+ },
229
+ })
230
+ ```
231
+
232
+ 3. **Create smoke e2e test:**
233
+
234
+ Create `e2e/home.spec.ts`:
235
+ ```typescript
236
+ import { test, expect } from '@playwright/test'
237
+
238
+ test.describe('Homepage', () => {
239
+ test('should display welcome message and button', async ({ page }) => {
240
+ await page.goto('/')
241
+
242
+ // Check heading
243
+ await expect(page.getByRole('heading', { level: 1 })).toContainText('Welcome to Your MVP')
244
+
245
+ // Check button exists and is clickable
246
+ const button = page.getByRole('button', { name: /get started/i })
247
+ await expect(button).toBeVisible()
248
+ })
249
+ })
250
+ ```
251
+
252
+ 4. **Add e2e script to package.json:**
253
+
254
+ Edit `package.json` to add:
255
+ ```json
256
+ "scripts": {
257
+ "e2e": "playwright test",
258
+ "e2e:ui": "playwright test --ui"
259
+ }
260
+ ```
261
+
262
+ ## Phase 6: Create Environment Template
263
+
264
+ Create `.env.example` with common MVP placeholders:
265
+
266
+ ```bash
267
+ # Database (Neon)
268
+ DATABASE_URL=
269
+
270
+ # Authentication (Clerk)
271
+ NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
272
+ CLERK_SECRET_KEY=
273
+
274
+ # Payments (Stripe)
275
+ STRIPE_SECRET_KEY=
276
+ NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
277
+ STRIPE_WEBHOOK_SECRET=
278
+
279
+ # Browser Automation (Browserbase)
280
+ BROWSERBASE_API_KEY=
281
+ BROWSERBASE_PROJECT_ID=
282
+
283
+ # Voice/Speech (Deepgram)
284
+ DEEPGRAM_API_KEY=
285
+
286
+ # App Config
287
+ NEXT_PUBLIC_APP_URL=http://localhost:3000
288
+ ```
289
+
290
+ Update `.gitignore` to ensure `.env` is ignored (should already be from create-next-app, but verify):
291
+ ```bash
292
+ grep -q "^\.env" .gitignore || echo ".env*.local" >> .gitignore
293
+ ```
294
+
295
+ ## Phase 7: Verification
296
+
297
+ Display verification banner:
298
+ ```
299
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
300
+ RRR ► VERIFYING SETUP
301
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
302
+ ```
303
+
304
+ 1. **Run unit tests:**
305
+ ```bash
306
+ npm test
307
+ ```
308
+
309
+ Expected: All tests pass (2 tests)
310
+
311
+ 2. **Run e2e tests:**
312
+ ```bash
313
+ npm run e2e
314
+ ```
315
+
316
+ Expected: All tests pass (1 test)
317
+
318
+ 3. **Verify dev server starts:**
319
+ ```bash
320
+ # Start dev server in background
321
+ npm run dev &
322
+ DEV_PID=$!
323
+
324
+ # Wait for server to be ready
325
+ sleep 5
326
+
327
+ # Check if server responds
328
+ curl -s http://localhost:3000 > /dev/null && echo "Dev server started successfully"
329
+
330
+ # Kill dev server
331
+ kill $DEV_PID 2>/dev/null
332
+ ```
333
+
334
+ **If any verification fails:** Stop and fix the issue before proceeding.
335
+
336
+ ## Phase 8: Commit Bootstrap
337
+
338
+ ```bash
339
+ git add -A
340
+ git commit -m "$(cat <<'EOF'
341
+ chore: bootstrap nextjs mvp
342
+
343
+ Stack:
344
+ - Next.js 15 (App Router) + TypeScript
345
+ - Tailwind CSS + shadcn/ui
346
+ - Vitest + Testing Library (unit)
347
+ - Playwright (e2e)
348
+
349
+ Includes:
350
+ - Button component on homepage
351
+ - Smoke unit test (2 assertions)
352
+ - Smoke e2e test (1 spec)
353
+ - .env.example with MVP placeholders
354
+ EOF
355
+ )"
356
+ ```
357
+
358
+ ## Phase 9: Done
359
+
360
+ Present completion:
361
+
362
+ ```
363
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
364
+ RRR ► BOOTSTRAP COMPLETE ✓
365
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
366
+
367
+ **Next.js MVP scaffolded successfully**
368
+
369
+ | Component | Status |
370
+ |-----------|--------|
371
+ | Next.js App Router | ✓ |
372
+ | TypeScript | ✓ |
373
+ | Tailwind CSS | ✓ |
374
+ | shadcn/ui | ✓ |
375
+ | Vitest + Testing Library | ✓ |
376
+ | Playwright | ✓ |
377
+ | .env.example | ✓ |
378
+
379
+ **Commands:**
380
+ npm run dev Start dev server
381
+ npm test Run unit tests
382
+ npm run e2e Run e2e tests
383
+
384
+ ───────────────────────────────────────────────────────────────
385
+
386
+ ## ▶ Next Up
387
+
388
+ Define your project requirements and create a roadmap:
389
+
390
+ `/rrr:new-project`
391
+
392
+ ───────────────────────────────────────────────────────────────
393
+ ```
394
+
395
+ </process>
396
+
397
+ <output>
398
+
399
+ Files created:
400
+ - `package.json` (with all dependencies)
401
+ - `src/app/page.tsx` (homepage with Button)
402
+ - `src/components/ui/button.tsx` (shadcn/ui Button)
403
+ - `vitest.config.ts`
404
+ - `src/test/setup.ts`
405
+ - `src/app/page.test.tsx` (smoke unit test)
406
+ - `playwright.config.ts`
407
+ - `e2e/home.spec.ts` (smoke e2e test)
408
+ - `.env.example`
409
+
410
+ </output>
411
+
412
+ <success_criteria>
413
+
414
+ - [ ] package.json exists with correct dependencies
415
+ - [ ] Next.js App Router structure created (src/app/)
416
+ - [ ] TypeScript configured (tsconfig.json)
417
+ - [ ] Tailwind CSS configured (tailwind.config.ts)
418
+ - [ ] shadcn/ui initialized with Button component
419
+ - [ ] Homepage shows Button component
420
+ - [ ] Vitest configured with Testing Library
421
+ - [ ] Smoke unit test passes (npm test)
422
+ - [ ] Playwright configured
423
+ - [ ] Smoke e2e test passes (npm run e2e)
424
+ - [ ] .env.example created with MVP placeholders
425
+ - [ ] Dev server starts successfully
426
+ - [ ] All files committed with message "chore: bootstrap nextjs mvp"
427
+
428
+ </success_criteria>
429
+
430
+ <anti_patterns>
431
+
432
+ - Do NOT use yarn or pnpm — npm only
433
+ - Do NOT use Pages Router — App Router only
434
+ - Do NOT add unnecessary dependencies
435
+ - Do NOT skip verification steps
436
+ - Do NOT commit if tests fail
437
+ - Do NOT create .env with real credentials
438
+
439
+ </anti_patterns>
@@ -19,6 +19,20 @@ Output ONLY the reference content below. Do NOT add:
19
19
 
20
20
  **RRR** creates hierarchical project plans optimized for solo agentic development with Claude Code. Built by [Projecta.ai](https://projecta.ai).
21
21
 
22
+ ## Getting Started
23
+
24
+ **After install/update:** If you installed from inside Claude Code, type `exit` and restart `claude` so it reloads commands.
25
+
26
+ **Pick your start command:**
27
+
28
+ | Scenario | Command |
29
+ |----------|---------|
30
+ | New/empty folder (greenfield) | `/rrr:new-project` — bootstraps Next.js/TS baseline if folder is empty |
31
+ | Existing repo (brownfield) | `/rrr:new-project` — brownfield-safe; won't overwrite your repo |
32
+ | RRR already initialized | `/rrr:progress` — if `.planning/STATE.md` exists |
33
+
34
+ **MVP Definition of Done at Projecta:** local demo runs + tests pass.
35
+
22
36
  ## Quick Start
23
37
 
24
38
  1. `/rrr:new-project` - Initialize project (includes research, requirements, roadmap)
@@ -50,7 +64,10 @@ npx projecta-rrr@latest
50
64
  **`/rrr:new-project`**
51
65
  Initialize new project through unified flow.
52
66
 
53
- One command takes you from idea to ready-for-planning:
67
+ **Automatically bootstraps if needed** detects if repo is a Next.js project. If not, runs the bootstrap sequence (Next.js + TypeScript + Tailwind + shadcn/ui + Vitest + Playwright) before proceeding.
68
+
69
+ One command takes you from empty folder to ready-for-planning:
70
+ - Bootstrap detection and execution (if needed)
54
71
  - Deep questioning to understand what you're building
55
72
  - Optional domain research (spawns 4 parallel researcher agents)
56
73
  - Requirements definition with v1/v2/out-of-scope scoping
@@ -66,6 +83,20 @@ Creates all `.planning/` artifacts:
66
83
 
67
84
  Usage: `/rrr:new-project`
68
85
 
86
+ **`/rrr:bootstrap-nextjs`**
87
+ Scaffold Next.js App Router project with Projecta defaults (standalone).
88
+
89
+ - Next.js (App Router) + TypeScript
90
+ - Tailwind CSS + shadcn/ui (with Button component)
91
+ - Vitest + Testing Library (smoke unit test)
92
+ - Playwright (smoke e2e test)
93
+ - `.env.example` with common MVP placeholders
94
+
95
+ Use this standalone when you only want the bootstrap without RRR planning.
96
+ Note: `/rrr:new-project` includes bootstrap automatically.
97
+
98
+ Usage: `/rrr:bootstrap-nextjs`
99
+
69
100
  **`/rrr:map-codebase`**
70
101
  Map an existing codebase for brownfield projects.
71
102
 
@@ -352,16 +383,45 @@ Change anytime by editing `.planning/config.json`
352
383
 
353
384
  ## Common Workflows
354
385
 
355
- **Starting a new project:**
386
+ **Starting a new project (from empty folder):**
356
387
 
357
388
  ```
358
- /rrr:new-project # Unified flow: questioningresearch → requirements → roadmap
389
+ /rrr:new-project # Bootstraps repo (if needed) questionnaire → requirements → roadmap
359
390
  /clear
360
391
  /rrr:plan-phase 1 # Create plans for first phase
361
392
  /clear
362
393
  /rrr:execute-phase 1 # Execute all plans in phase
363
394
  ```
364
395
 
396
+ That's it! `/rrr:new-project` handles everything from bootstrap to roadmap.
397
+
398
+ **Overnight mode: Pushpa Mode**
399
+
400
+ Run phases unattended while you sleep:
401
+
402
+ ```
403
+ bash scripts/pushpa-mode.sh
404
+ # or
405
+ npm run pushpa
406
+ ```
407
+
408
+ Prerequisites:
409
+ 1. Run `/rrr:new-project` first
410
+ 2. Set all required API keys (based on your MVP_FEATURES.yml)
411
+ 3. Recommend enabling YOLO mode in config.json
412
+
413
+ Pushpa Mode will:
414
+ - Plan and execute phases sequentially
415
+ - Skip phases marked with `HITL_REQUIRED: true`
416
+ - Generate report at `.planning/PUSHPA_REPORT.md`
417
+ - Log everything to `.planning/logs/`
418
+
419
+ **Bootstrap only (no planning):**
420
+
421
+ ```
422
+ /rrr:bootstrap-nextjs # Just scaffold Next.js + testing + shadcn
423
+ ```
424
+
365
425
  **Resuming work after a break:**
366
426
 
367
427
  ```