vibesuite 1.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 (117) hide show
  1. package/.agent/skills/agent-recovery/SKILL.md +147 -0
  2. package/.agent/skills/code-review/SKILL.md +81 -0
  3. package/.agent/skills/component-analysis/SKILL.md +103 -0
  4. package/.agent/skills/git-worktree/SKILL.md +78 -0
  5. package/.agent/skills/github-ops/SKILL.md +220 -0
  6. package/.agent/skills/github-ops/scripts/publish_issues.ps1 +443 -0
  7. package/.agent/skills/github-ops/scripts/smart-ops.ps1 +128 -0
  8. package/.agent/skills/github-ops/scripts/smart-ops.sh +130 -0
  9. package/.agent/skills/google-trends/SKILL.md +157 -0
  10. package/.agent/skills/google-trends/scripts/node_modules/.modules.yaml +21 -0
  11. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/LICENSE +22 -0
  12. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/Readme.md +1157 -0
  13. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/esm.mjs +16 -0
  14. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/index.js +24 -0
  15. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/argument.js +149 -0
  16. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/command.js +2509 -0
  17. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/error.js +39 -0
  18. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/help.js +520 -0
  19. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/option.js +330 -0
  20. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/suggestSimilar.js +101 -0
  21. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/package-support.json +16 -0
  22. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/package.json +84 -0
  23. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/esm.d.mts +3 -0
  24. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/index.d.ts +969 -0
  25. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/CHANGES.md +132 -0
  26. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/LICENSE +21 -0
  27. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/README.md +561 -0
  28. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/lib/google-trends-api.min.js +2 -0
  29. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/package.json +68 -0
  30. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/api.js +18 -0
  31. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/index.js +27 -0
  32. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/request.js +69 -0
  33. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/utilities.js +395 -0
  34. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/lock.yaml +31 -0
  35. package/.agent/skills/google-trends/scripts/node_modules/.pnpm-workspace-state-v1.json +25 -0
  36. package/.agent/skills/google-trends/scripts/package.json +17 -0
  37. package/.agent/skills/google-trends/scripts/pnpm-lock.yaml +31 -0
  38. package/.agent/skills/google-trends/scripts/search.js +168 -0
  39. package/.agent/skills/high-fidelity-extraction/SKILL.md +59 -0
  40. package/.agent/skills/prime-agent/SKILL.md +97 -0
  41. package/.agent/skills/security-audit/SKILL.md +81 -0
  42. package/.agent/skills/seo-ready/SKILL.md +133 -0
  43. package/.agent/skills/spawn-task/SKILL.md +130 -0
  44. package/.agent/skills/sync-docs/SKILL.md +88 -0
  45. package/.agent/skills/vercel-ai-sdk/SKILL.md +34083 -0
  46. package/.agent/skills/youtube-pipeline/SKILL.md +194 -0
  47. package/.agent/skills/youtube-pipeline/resources/youtube-phase1-strategy.md +224 -0
  48. package/.agent/skills/youtube-pipeline/resources/youtube-phase2-packaging.md +148 -0
  49. package/.agent/skills/youtube-pipeline/resources/youtube-phase3-scripting.md +197 -0
  50. package/.agent/skills/youtube-pipeline/resources/youtube-phase3.5-shorts.md +271 -0
  51. package/.agent/skills/youtube-pipeline/resources/youtube-phase4-production.md +193 -0
  52. package/.agent/skills/youtube-pipeline/resources/youtube-phase5-repurposing.md +159 -0
  53. package/.agent/skills/youtube-pipeline/resources/youtube-pipeline.md +161 -0
  54. package/.agent/skills/youtube-pipeline/scripts/parse_yt_studio.ps1 +150 -0
  55. package/.agent/workflows/LEGACY/ANTIGRAVITY_TOOLBOX.md +200 -0
  56. package/.agent/workflows/LEGACY/analyze_component.md +141 -0
  57. package/.agent/workflows/LEGACY/build_vibecode_project.md +154 -0
  58. package/.agent/workflows/LEGACY/deep_code_audit.md +79 -0
  59. package/.agent/workflows/LEGACY/gemini-orchestrate.md +63 -0
  60. package/.agent/workflows/LEGACY/git_worktree.md +71 -0
  61. package/.agent/workflows/LEGACY/init_smart_ops.md +101 -0
  62. package/.agent/workflows/LEGACY/multi_agent_strategy.md +62 -0
  63. package/.agent/workflows/LEGACY/orchestrate.md +321 -0
  64. package/.agent/workflows/LEGACY/seo_ready.md +249 -0
  65. package/.agent/workflows/LEGACY/vibe-orchestrator.md +305 -0
  66. package/.agent/workflows/LEGACY/youtube-phase1-strategy.md +224 -0
  67. package/.agent/workflows/LEGACY/youtube-phase2-packaging.md +148 -0
  68. package/.agent/workflows/LEGACY/youtube-phase3-scripting.md +197 -0
  69. package/.agent/workflows/LEGACY/youtube-phase3.5-shorts.md +271 -0
  70. package/.agent/workflows/LEGACY/youtube-phase4-production.md +193 -0
  71. package/.agent/workflows/LEGACY/youtube-phase5-repurposing.md +159 -0
  72. package/.agent/workflows/LEGACY/youtube-pipeline.md +161 -0
  73. package/.agent/workflows/README.md +349 -0
  74. package/.agent/workflows/Vercel Ai SDK.md +34083 -0
  75. package/.agent/workflows/agent_reset.md +138 -0
  76. package/.agent/workflows/build_vibecode_project_v2.md +158 -0
  77. package/.agent/workflows/escalate.md +112 -0
  78. package/.agent/workflows/init_vibecode_design.md +98 -0
  79. package/.agent/workflows/init_vibecode_genesis.md +137 -0
  80. package/.agent/workflows/migrate.md +135 -0
  81. package/.agent/workflows/prime_agent.md +211 -0
  82. package/.agent/workflows/reverse_genesis.md +132 -0
  83. package/.agent/workflows/review_code.md +133 -0
  84. package/.agent/workflows/spawn-jstar-code-review.md +121 -0
  85. package/.agent/workflows/spawn_task.md +187 -0
  86. package/.agent/workflows/sync_docs.md +90 -0
  87. package/Legacy (Manual Method)/0 VibeCode User Manual.md +173 -0
  88. package/Legacy (Manual Method)/1 Project Genesis Protocol The VibeCode Workflow.md +89 -0
  89. package/Legacy (Manual Method)/2/342/234/250 ULTIMATE ORCHESTRATION PROMPT/342/234/250.md" +114 -0
  90. package/Legacy (Manual Method)/3 Design System Genesis Protocol.md +75 -0
  91. package/Legacy (Manual Method)/3.1.1 my_design_system_rules.md +177 -0
  92. package/Legacy (Manual Method)/3.1.2 Material You M3 Genesis Protocol.md +73 -0
  93. package/Legacy (Manual Method)/4 The Ultimate GitHub Issue Meta-Prompt Template.md +54 -0
  94. package/Legacy (Manual Method)/5 The Escalation & Handoff Protocol.md +97 -0
  95. package/Legacy (Manual Method)/8 The Seamless Migration Meta-Prompt (Your Reusable Tool).md +38 -0
  96. package/Legacy (Manual Method)/9 The Reverse Genesis Protocol.md +75 -0
  97. package/README.md +209 -0
  98. package/VibeCode-Agents (e.g Kilo-code)/README.md +142 -0
  99. package/VibeCode-Agents (e.g Kilo-code)/vibe-analyzer.yaml +254 -0
  100. package/VibeCode-Agents (e.g Kilo-code)/vibe-architect.yaml +397 -0
  101. package/VibeCode-Agents (e.g Kilo-code)/vibe-auditor.yaml +325 -0
  102. package/VibeCode-Agents (e.g Kilo-code)/vibe-builder.yaml +472 -0
  103. package/VibeCode-Agents (e.g Kilo-code)/vibe-designer.yaml +305 -0
  104. package/VibeCode-Agents (e.g Kilo-code)/vibe-documentor.yaml +222 -0
  105. package/VibeCode-Agents (e.g Kilo-code)/vibe-escalator.yaml +255 -0
  106. package/VibeCode-Agents (e.g Kilo-code)/vibe-isolator.yaml +332 -0
  107. package/VibeCode-Agents (e.g Kilo-code)/vibe-onboarder.yaml +335 -0
  108. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator.yaml +365 -0
  109. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator_legacy.yaml +284 -0
  110. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator_v1.yaml +336 -0
  111. package/VibeCode-Agents (e.g Kilo-code)/vibe-primer.yaml +213 -0
  112. package/VibeCode-Agents (e.g Kilo-code)/vibe-reviewer.yaml +233 -0
  113. package/VibeCode-Agents (e.g Kilo-code)/vibe-spawner.yaml +259 -0
  114. package/bin/vibesuite.js +2 -0
  115. package/package.json +43 -0
  116. package/src/cli.js +159 -0
  117. package/src/utils.js +76 -0
@@ -0,0 +1,321 @@
1
+ ---
2
+ description: The Orchestrator - Autonomously builds projects using sub-agents
3
+ ---
4
+
5
+ # /orchestrate - The VibeCode Brain
6
+
7
+ This is the **master workflow** that understands all other workflows and orchestrates them to build complete projects autonomously.
8
+
9
+ ## Prerequisites
10
+ - Kilo Code or similar multi-agent spawning capability
11
+ - Git repository initialized
12
+ - User has provided a high-level project goal
13
+
14
+ ---
15
+
16
+ ## Phase 0: Prime Self (Understand Available Tools)
17
+
18
+ **Objective:** Load knowledge of all available workflows.
19
+
20
+ 1. **Read the README workflow:**
21
+ ```
22
+ Read: .agent/workflows/README.md (or global workflows README)
23
+ ```
24
+
25
+ 2. **Parse user's goal** into:
26
+ - **Project Type:** Web App | CLI | API | Library | Desktop | Mobile
27
+ - **Stack:** Next.js | Python | Rust | Go | etc.
28
+ - **Scope:** MVP | Full Product | Feature Addition
29
+
30
+ 3. **Determine execution path:**
31
+ | Scenario | Path |
32
+ |----------|------|
33
+ | New project from scratch | Genesis → Design → Build → Features |
34
+ | Existing project, new feature | Reverse Genesis → Spawn Task → Build |
35
+ | Bug fix / refactor | Prime Agent → Review Code → Fix |
36
+
37
+ ---
38
+
39
+ ## Phase 1: Planning (Genesis)
40
+
41
+ **Objective:** Generate project blueprint.
42
+
43
+ ### For New Projects:
44
+ 1. **Spawn Sub-Agent** with workflow: `/init_vibecode_genesis`
45
+ 2. **Input:** User's goal description
46
+ 3. **Wait for outputs:**
47
+ - `docs/Project_Requirements.md`
48
+ - `docs/Coding_Guidelines.md`
49
+ - `docs/Builder_Prompt.md`
50
+ - GitHub Issues (if connected)
51
+ 4. **Parse PRD** to extract:
52
+ - MUS (Minimum Usable State) features list
53
+ - Tech stack decisions
54
+ - Data models
55
+
56
+ ### For Existing Projects:
57
+ 1. **Spawn Sub-Agent** with workflow: `/reverse_genesis`
58
+ 2. **Wait for:** `docs/autopsy_report.md`
59
+ 3. **Parse report** to understand current architecture
60
+
61
+ **Checkpoint:** Confirm planning artifacts exist before proceeding.
62
+
63
+ ---
64
+
65
+ ## Phase 2: Design (Optional, Parallel-Safe)
66
+
67
+ **Objective:** Create visual design system and mockups.
68
+
69
+ **Condition:** Only run if `Project Type` includes UI (Web App, Desktop, Mobile).
70
+
71
+ 1. **Spawn Sub-Agent** with workflow: `/init_vibecode_design`
72
+ 2. **Wait for outputs:**
73
+ - `docs/design/design-system.html`
74
+ - `docs/mockups/*.html`
75
+ 3. **Validate:** At least one mockup exists for each major feature
76
+
77
+ **Note:** This can run in parallel with Phase 3 scaffold if needed.
78
+
79
+ ---
80
+
81
+ ## Phase 3: Build Foundation
82
+
83
+ **Objective:** Scaffold project structure and core infrastructure.
84
+
85
+ 1. **Spawn Sub-Agent** with workflow: `/build_vibecode_project` (or `v2` for Windows/pnpm)
86
+ 2. **Input:** Builder Prompt from Phase 1
87
+ 3. **Wait for outputs:**
88
+ - Project structure created
89
+ - Core dependencies installed
90
+ - `docs/Builder_Handoff_Report.md`
91
+ 4. **Post-Build Setup:**
92
+ - Spawn `/spawn-jstar-code-review` to add code review tooling
93
+ - Spawn `/init_smart_ops` to set up GitHub automation
94
+
95
+ **Checkpoint:** Verify `src/` directory exists and project builds.
96
+
97
+ ---
98
+
99
+ ## Phase 4: Feature Wave (Parallel Execution)
100
+
101
+ **Objective:** Build all MUS features using parallel agents.
102
+
103
+ ### Step 1: Prepare Isolation Environments
104
+ 1. **Parse MUS features** from `docs/Project_Requirements.md`
105
+ 2. **Group features** into waves:
106
+ - **Wave 1:** Core/foundational features (run first)
107
+ - **Wave 2:** Independent features (run in parallel)
108
+ - **Wave 3:** Features with dependencies (run after Wave 2)
109
+
110
+ 3. **For each parallel feature:**
111
+ ```bash
112
+ # Use /git_worktree to isolate
113
+ git branch feat-[feature-name]
114
+ git worktree add ../[project]-feat-[feature-name] feat-[feature-name]
115
+ ```
116
+
117
+ ### Step 2: Spawn Feature Agents
118
+ For each feature in the current wave:
119
+
120
+ 1. **Spawn Sub-Agent** with workflow: `/spawn_task`
121
+ 2. **Input:**
122
+ - Feature name and description from PRD
123
+ - Relevant mockup (if exists)
124
+ - Coding guidelines
125
+ 3. **Wait for:** `docs/tasks/TASK-[feature].md`
126
+
127
+ 4. **Spawn Builder Sub-Agent** in the worktree:
128
+ - Workflow: `/build_vibecode_project` (feature mode)
129
+ - Input: Task prompt from above
130
+ - Working directory: The isolated worktree
131
+
132
+ 5. **Monitor for:**
133
+ - **Success:** Feature complete marker
134
+ - **Stuck:** `/escalate` report generated
135
+ - **Quality issue:** `/review_code` failures
136
+
137
+ ### Step 3: Handle Results
138
+ | Outcome | Action |
139
+ |---------|--------|
140
+ | ✅ Feature complete | Queue for merge |
141
+ | ⚠️ Review issues | Re-spawn with fix instructions |
142
+ | ❌ Agent stuck | Read escalation report, re-assign or ask user |
143
+
144
+ ### Step 4: Merge Wave
145
+ 1. For each completed worktree:
146
+ ```bash
147
+ cd ../[project]-feat-[feature]
148
+ git add . && git commit -m "feat: [feature-name]"
149
+ git checkout main
150
+ git merge feat-[feature-name]
151
+ ```
152
+ 2. Resolve any merge conflicts (or escalate to user)
153
+ 3. Clean up worktrees:
154
+ ```bash
155
+ git worktree remove ../[project]-feat-[feature]
156
+ git branch -d feat-[feature-name]
157
+ ```
158
+
159
+ **Repeat** for each wave until all features complete.
160
+
161
+ ---
162
+
163
+ ## Phase 5: Quality Gate
164
+
165
+ **Objective:** Ensure codebase is production-ready.
166
+
167
+ ### Step 1: Full Code Review
168
+ 1. **Spawn Sub-Agent** with workflow: `/review_code`
169
+ 2. **Scope:** `--pr` mode (full diff against initial state)
170
+ 3. **Wait for:** `.jstar/last-review.md`
171
+
172
+ ### Step 2: Deep Audit (If Critical Project)
173
+ 1. **Spawn Sub-Agent** with workflow: `/deep_code_audit`
174
+ 2. **Scope:** `FULL_SCAN`
175
+ 3. **Wait for:** `.jstar/audit_report.md`
176
+
177
+ ### Step 3: Handle Issues
178
+ | Severity | Action |
179
+ |----------|--------|
180
+ | P0_CRITICAL | Halt. Spawn fix agent immediately. |
181
+ | P1_HIGH | Spawn fix agent, continue other checks. |
182
+ | P2_MEDIUM | Log for later. Continue. |
183
+ | INFO | Ignore. |
184
+
185
+ ### Step 4: Fix Loop
186
+ If issues found:
187
+ 1. Spawn fix agent(s) for each issue
188
+ 2. Re-run review after fixes
189
+ 3. **Max loops:** 3. If still failing, escalate to user.
190
+
191
+ **Checkpoint:** All P0/P1 issues resolved.
192
+
193
+ ---
194
+
195
+ ## Phase 6: Documentation Sync
196
+
197
+ **Objective:** Ensure docs match final implementation.
198
+
199
+ 1. **Spawn Sub-Agent** with workflow: `/sync_docs`
200
+ 2. **Input:** List of all files changed
201
+ 3. **Wait for:** Updated `docs/features/*.md`
202
+
203
+ ---
204
+
205
+ ## Phase 7: Finalize & Report
206
+
207
+ **Objective:** Close out the project build.
208
+
209
+ 1. **Generate Handoff Report:**
210
+ ```markdown
211
+ # Project Build Complete
212
+
213
+ ## Summary
214
+ - **Features Built:** [count]
215
+ - **Total Agents Spawned:** [count]
216
+ - **Total Time:** [duration]
217
+
218
+ ## Features Delivered
219
+ - [x] Feature A
220
+ - [x] Feature B
221
+ - [x] Feature C
222
+
223
+ ## Quality Status
224
+ - Code Review: ✅ Passed
225
+ - Security Audit: ✅ Passed
226
+
227
+ ## Next Steps
228
+ - [ ] Deploy to staging
229
+ - [ ] User acceptance testing
230
+ ```
231
+
232
+ 2. **Notify User:** Project complete, ready for review.
233
+
234
+ ---
235
+
236
+ ## Error Handling
237
+
238
+ ### Agent Stuck
239
+ When a sub-agent generates an `/escalate` report:
240
+ 1. Read the escalation report
241
+ 2. Determine if it's:
242
+ - **Recoverable:** Re-spawn with additional context
243
+ - **Blocking:** Pause orchestration, notify user
244
+ - **Skip-able:** Mark feature as incomplete, continue
245
+
246
+ ### Merge Conflicts
247
+ When git merge fails:
248
+ 1. Attempt auto-resolution for simple conflicts
249
+ 2. If complex, spawn a dedicated "conflict resolver" agent
250
+ 3. If still failing, escalate to user with diff
251
+
252
+ ### Build Failures
253
+ When project fails to build:
254
+ 1. Capture error output
255
+ 2. Spawn diagnostic agent to analyze
256
+ 3. Apply fix and re-attempt build
257
+ 4. Max retries: 3
258
+
259
+ ---
260
+
261
+ ## Configuration
262
+
263
+ The orchestrator can be configured via `.orchestrator.json`:
264
+
265
+ ```json
266
+ {
267
+ "maxParallelAgents": 4,
268
+ "maxRetries": 3,
269
+ "qualityGate": "strict",
270
+ "autoMerge": true,
271
+ "notifyOnComplete": true,
272
+ "skipDesign": false,
273
+ "skipAudit": false
274
+ }
275
+ ```
276
+
277
+ | Option | Default | Description |
278
+ |--------|---------|-------------|
279
+ | `maxParallelAgents` | 4 | Max concurrent feature agents |
280
+ | `maxRetries` | 3 | Retry limit per failed operation |
281
+ | `qualityGate` | "strict" | "strict" = P0/P1 must pass, "relaxed" = P0 only |
282
+ | `autoMerge` | true | Auto-merge completed features |
283
+ | `notifyOnComplete` | true | Notify user when done |
284
+ | `skipDesign` | false | Skip Phase 2 even for UI projects |
285
+ | `skipAudit` | false | Skip deep audit in Phase 5 |
286
+
287
+ ---
288
+
289
+ ## Quick Reference
290
+
291
+ | Phase | Workflow Used | Parallel? |
292
+ |-------|---------------|-----------|
293
+ | 0. Prime | `/README` | — |
294
+ | 1. Planning | `/init_vibecode_genesis` or `/reverse_genesis` | No |
295
+ | 2. Design | `/init_vibecode_design` | Yes (with Phase 3) |
296
+ | 3. Build | `/build_vibecode_project` | No |
297
+ | 4. Features | `/git_worktree` + `/spawn_task` + `/build` | Yes |
298
+ | 5. Quality | `/review_code` + `/deep_code_audit` | No |
299
+ | 6. Docs | `/sync_docs` | No |
300
+ | 7. Finalize | — | No |
301
+
302
+ ---
303
+
304
+ ## Example Usage
305
+
306
+ **User Input:**
307
+ > "Build me a SaaS app for freelancers to track their projects and invoices. Use Next.js, Prisma, and Stripe."
308
+
309
+ **Orchestrator Execution:**
310
+ 1. ✅ Phase 0: Parsed as "Web App, Next.js, MVP"
311
+ 2. ✅ Phase 1: Genesis generated PRD with 6 MUS features
312
+ 3. ✅ Phase 2: Design created 4 mockups
313
+ 4. ✅ Phase 3: Scaffolded Next.js project
314
+ 5. ✅ Phase 4 Wave 1: Auth + Database (sequential)
315
+ 6. ✅ Phase 4 Wave 2: Projects, Invoices, Dashboard (parallel - 3 agents)
316
+ 7. ✅ Phase 4 Wave 3: Stripe Integration (depends on Invoices)
317
+ 8. ✅ Phase 5: Review passed, 2 P2 warnings logged
318
+ 9. ✅ Phase 6: Docs synced
319
+ 10. ✅ Phase 7: Handoff report generated
320
+
321
+ **Output:** Complete SaaS app ready for deployment.
@@ -0,0 +1,249 @@
1
+ ---
2
+ description: Make any Next.js page SEO-ready with metadata, structured data, and accessibility
3
+ ---
4
+
5
+ # SEO Ready Workflow
6
+
7
+ This workflow transforms any Next.js page into a fully SEO-optimized page.
8
+
9
+ ## Prerequisites
10
+ - A Next.js 13+ project using App Router
11
+ - Target page(s) to optimize
12
+
13
+ ---
14
+
15
+ ## Phase 1: Global SEO Setup (Run Once Per Project)
16
+
17
+ ### 1.1 Check for Root Layout Metadata
18
+ // turbo
19
+ ```bash
20
+ head -50 src/app/layout.tsx
21
+ ```
22
+
23
+ Verify the root `layout.tsx` has a comprehensive `metadata` export:
24
+
25
+ ```typescript
26
+ export const metadata: Metadata = {
27
+ title: {
28
+ default: "Site Name",
29
+ template: "%s | Site Name", // Allows per-page titles
30
+ },
31
+ description: "...",
32
+ keywords: ["..."],
33
+ authors: [{ name: "..." }],
34
+ creator: "...",
35
+ metadataBase: new URL("https://your-domain.com"),
36
+ openGraph: { /* ... */ },
37
+ twitter: { /* ... */ },
38
+ };
39
+ ```
40
+
41
+ **If missing**, add a full metadata block to `src/app/layout.tsx`.
42
+
43
+ ### 1.2 Check for Sitemap
44
+ // turbo
45
+ ```bash
46
+ ls src/app/sitemap.ts 2>/dev/null || echo "MISSING"
47
+ ```
48
+
49
+ **If missing**, create `src/app/sitemap.ts`:
50
+
51
+ ```typescript
52
+ import { MetadataRoute } from 'next'
53
+
54
+ export default function sitemap(): MetadataRoute.Sitemap {
55
+ const baseUrl = 'https://your-domain.com'
56
+ return [
57
+ { url: baseUrl, lastModified: new Date(), changeFrequency: 'yearly', priority: 1 },
58
+ { url: `${baseUrl}/login`, lastModified: new Date(), changeFrequency: 'monthly', priority: 0.8 },
59
+ // Add more routes...
60
+ ]
61
+ }
62
+ ```
63
+
64
+ ### 1.3 Check for Robots.txt
65
+ // turbo
66
+ ```bash
67
+ ls src/app/robots.ts 2>/dev/null || echo "MISSING"
68
+ ```
69
+
70
+ **If missing**, create `src/app/robots.ts`:
71
+
72
+ ```typescript
73
+ import { MetadataRoute } from 'next'
74
+
75
+ export default function robots(): MetadataRoute.Robots {
76
+ return {
77
+ rules: { userAgent: '*', allow: '/', disallow: '/private/' },
78
+ sitemap: 'https://your-domain.com/sitemap.xml',
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### 1.4 Check for Web Manifest (PWA)
84
+ // turbo
85
+ ```bash
86
+ ls src/app/manifest.ts 2>/dev/null || echo "MISSING"
87
+ ```
88
+
89
+ **If missing**, create `src/app/manifest.ts`:
90
+
91
+ ```typescript
92
+ import { MetadataRoute } from 'next'
93
+
94
+ export default function manifest(): MetadataRoute.Manifest {
95
+ return {
96
+ name: 'Your App Name',
97
+ short_name: 'AppName',
98
+ description: 'Your app description',
99
+ start_url: '/',
100
+ display: 'standalone',
101
+ background_color: '#000000',
102
+ theme_color: '#000000',
103
+ icons: [{ src: '/icon.png', sizes: 'any', type: 'image/png' }],
104
+ }
105
+ }
106
+ ```
107
+
108
+ ### 1.5 Check for Favicon/Icons
109
+ // turbo
110
+ ```bash
111
+ ls src/app/icon.png src/app/apple-icon.png 2>/dev/null || echo "MISSING ICONS"
112
+ ```
113
+
114
+ **If missing**:
115
+ 1. Find a logo file in `public/` (e.g., `public/logo.png`)
116
+ 2. Copy it to `src/app/icon.png` and `src/app/apple-icon.png`
117
+
118
+ ### 1.6 Check for OpenGraph Image
119
+ // turbo
120
+ ```bash
121
+ ls src/app/opengraph-image.* 2>/dev/null || echo "MISSING OG IMAGE"
122
+ ```
123
+
124
+ **Options**:
125
+ - **Static**: Copy a 1200x630px image to `src/app/opengraph-image.png`
126
+ - **Dynamic**: Create `src/app/opengraph-image.tsx` using `@vercel/og` or `next/og`
127
+
128
+ ### 1.7 Check for JSON-LD Structured Data
129
+ Search for existing JSON-LD in the layout:
130
+ // turbo
131
+ ```bash
132
+ grep -r "application/ld+json" src/app/layout.tsx || echo "MISSING JSON-LD"
133
+ ```
134
+
135
+ **If missing**, add to the `<body>` in `layout.tsx`:
136
+
137
+ ```tsx
138
+ <script
139
+ type="application/ld+json"
140
+ dangerouslySetInnerHTML={{
141
+ __html: JSON.stringify({
142
+ "@context": "https://schema.org",
143
+ "@type": "SoftwareApplication", // or Organization, LocalBusiness, etc.
144
+ "name": "Your App",
145
+ "applicationCategory": "...",
146
+ "operatingSystem": "Web",
147
+ "author": { "@type": "Organization", "name": "Your Org", "url": "https://..." }
148
+ })
149
+ }}
150
+ />
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Phase 2: Per-Page Optimization
156
+
157
+ For each page you want to optimize:
158
+
159
+ ### 2.1 Check if Page is a Server Component
160
+ View the page file:
161
+ // turbo
162
+ ```bash
163
+ head -5 <path-to-page.tsx>
164
+ ```
165
+
166
+ - **If it starts with `'use client'`**: The page cannot have static metadata.
167
+ - **Refactor**: Move client logic to a separate component in `src/features/<feature>/components/`.
168
+ - The page file should become a Server Component that imports the client component.
169
+
170
+ ### 2.2 Add Page-Specific Metadata
171
+ Add/update the `metadata` export in the page file:
172
+
173
+ ```typescript
174
+ import { Metadata } from 'next';
175
+
176
+ export const metadata: Metadata = {
177
+ title: "Page Title", // Will become "Page Title | Site Name" via template
178
+ description: "A specific description for this page.",
179
+ };
180
+
181
+ export default function Page() { /* ... */ }
182
+ ```
183
+
184
+ ### 2.3 Semantic HTML Audit
185
+ Verify the page uses:
186
+ - `<main>` for primary content
187
+ - `<section>` for distinct sections (with `id` attributes for anchor links)
188
+ - `<article>` for standalone content (blog posts, legal pages)
189
+ - `<header>` and `<footer>` if applicable
190
+ - `<nav aria-label="...">` for navigation
191
+ - Proper heading hierarchy (`<h1>`, `<h2>`, etc.)
192
+
193
+ ### 2.4 Image Optimization
194
+ Ensure all images use Next.js `<Image>` component:
195
+ - `alt` attribute is required and descriptive
196
+ - `width` and `height` are specified to prevent layout shift
197
+
198
+ ---
199
+
200
+ ## Phase 3: Accessibility (a11y) Pass
201
+
202
+ ### 3.1 ARIA Labels
203
+ Check interactive elements for `aria-label`:
204
+ // turbo
205
+ ```bash
206
+ grep -rE "(onClick|button|<a )" <path-to-page.tsx> | head -20
207
+ ```
208
+
209
+ Ensure buttons, links, and form elements have accessible names.
210
+
211
+ ### 3.2 Language Attribute
212
+ Verify `<html lang="en">` (or appropriate language) is set in `layout.tsx`.
213
+
214
+ ---
215
+
216
+ ## Phase 4: Verification
217
+
218
+ ### 4.1 Build Check
219
+ // turbo
220
+ ```bash
221
+ pnpm build
222
+ ```
223
+
224
+ Ensure no build errors related to metadata.
225
+
226
+ ### 4.2 Manual Verification
227
+ 1. Run `pnpm dev`
228
+ 2. Visit `http://localhost:3000/sitemap.xml` - should list routes
229
+ 3. Visit `http://localhost:3000/robots.txt` - should show rules
230
+ 4. Inspect page `<head>` in browser dev tools for meta tags
231
+ 5. Use Google's Rich Results Test on production URL
232
+
233
+ ---
234
+
235
+ ## Checklist Summary
236
+
237
+ | Item | Status |
238
+ |------|--------|
239
+ | Root `layout.tsx` has full `metadata` export | [ ] |
240
+ | `sitemap.ts` exists | [ ] |
241
+ | `robots.ts` exists | [ ] |
242
+ | `manifest.ts` exists | [ ] |
243
+ | `icon.png` and `apple-icon.png` exist | [ ] |
244
+ | OpenGraph image exists (static or dynamic) | [ ] |
245
+ | JSON-LD structured data in layout | [ ] |
246
+ | Target page has `export const metadata` | [ ] |
247
+ | Target page uses semantic HTML | [ ] |
248
+ | All images use `<Image>` with `alt` | [ ] |
249
+ | Build passes | [ ] |