docs: lean the site to six pages, lead with the coding-agent setup - #6
Conversation
Nine pages became six, 712 lines became 515. console-mode folded into quickstart; persona, providers and configuration became one Customize page. The env table lost the seven rows nobody edits: .env.example is the full list, it carries a comment per value, and it is already in the clone. The quickstart now opens on the flow that was buried under 'docker compose up': clone, open in a coding agent, type /setup. That command already existed and the docs never mentioned it. The manual path stays below for people not using an agent, and AGENTS.md is named as what the other agents read. The key-safety point is stated where it belongs and framed as the reason to trust the flow rather than as friction: the agent never handles your keys, because anything typed into a coding-agent conversation lands in that agent's transcript on disk. Discord and GitHub are in the navbar and the footer. Fixed before this shipped: - Navigation still listed the four deleted pages and never listed the new one, so the build would have shipped four dead entries and one unreachable page. That was mine: I took docs.json and only added links. - 'claude' sat in a bash fence beside 'git clone', so it read as a command the reader already had, and nothing said where /setup gets typed. - BUSINESS_NAME still claimed to be what the agent says it works for. It is reported with a call and never given to the model. An earlier pass meant to fix this and missed on the table row's column padding, which is the third exact-string replace to fail that way in this work. - Three cd commands shared one fenced block, so copying it ran the second and third from the wrong directory. - The quickstart restated troubleshooting's opening almost verbatim. - 'The agent greets you first' was dropped in the merge. It is the only thing telling a reader whether to speak first when the terminal is quiet. - .claude/commands/setup.md sent people to the Agents list for a control that is on the agent's own page.
WalkthroughThe PR reorganizes the documentation around ChangesSetup and local execution
Customization and operations
Site structure and product content
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/pro.mdx`:
- Around line 14-15: Update the ShipVoice Pro availability sentence to use
direct wording instead of “ships,” and retain only one link to shipvoice.dev
while preserving the lifetime-updates claim.
In `@docs/quickstart.mdx`:
- Around line 24-26: Update the quickstart wording around the setup flow so it
does not say the coding agent asks users for API keys. State that /setup
identifies the required credentials and waits while the user writes them
directly to .env, while preserving the existing provider and LiveKit credential
context.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: d3be3988-011d-4973-9f00-82e0b8f6fa7a
📒 Files selected for processing (12)
.claude/commands/setup.mddocs/configuration.mdxdocs/console-mode.mdxdocs/customize.mdxdocs/deploy.mdxdocs/docs.jsondocs/index.mdxdocs/persona.mdxdocs/pro.mdxdocs/providers.mdxdocs/quickstart.mdxdocs/troubleshooting.mdx
💤 Files with no reviewable changes (4)
- docs/configuration.mdx
- docs/persona.mdx
- docs/console-mode.mdx
- docs/providers.mdx
| [ShipVoice Pro](https://shipvoice.dev) ships, at | ||
| [shipvoice.dev](https://shipvoice.dev), with lifetime updates. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Clarify the Pro availability sentence.
Lines [14-15] use “ships” for product availability and link the same destination twice. Use direct wording and keep one link.
Suggested wording
-[ShipVoice Pro](https://shipvoice.dev) ships, at
-[shipvoice.dev](https://shipvoice.dev), with lifetime updates.
+[ShipVoice Pro](https://shipvoice.dev) is available at shipvoice.dev and
+includes lifetime updates.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [ShipVoice Pro](https://shipvoice.dev) ships, at | |
| [shipvoice.dev](https://shipvoice.dev), with lifetime updates. | |
| [ShipVoice Pro](https://shipvoice.dev) is available at shipvoice.dev and | |
| includes lifetime updates. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/pro.mdx` around lines 14 - 15, Update the ShipVoice Pro availability
sentence to use direct wording instead of “ships,” and retain only one link to
shipvoice.dev while preserving the lifetime-updates claim.
| It will ask you for a LiveKit project (URL, API key, API secret) and three | ||
| provider keys: Deepgram, Cerebras and Inworld. A free LiveKit Cloud project | ||
| works. |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Do not state that the coding agent asks for API keys.
Lines 24-26 conflict with the API-key safety rule below. This wording can cause users to paste secrets into the coding-agent conversation.
State that /setup identifies the required credentials and waits while the user writes them directly to .env.
Proposed fix
-It will ask you for a LiveKit project (URL, API key, API secret) and three
-provider keys: Deepgram, Cerebras and Inworld. A free LiveKit Cloud project
-works.
+It requires a LiveKit project (URL, API key, API secret) and three provider
+keys: Deepgram, Cerebras and Inworld. A free LiveKit Cloud project works.
+`/setup` identifies each required variable and waits while you write the values
+directly to `.env`.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| It will ask you for a LiveKit project (URL, API key, API secret) and three | |
| provider keys: Deepgram, Cerebras and Inworld. A free LiveKit Cloud project | |
| works. | |
| It requires a LiveKit project (URL, API key, API secret) and three provider | |
| keys: Deepgram, Cerebras and Inworld. A free LiveKit Cloud project works. | |
| `/setup` identifies each required variable and waits while you write the values | |
| directly to `.env`. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/quickstart.mdx` around lines 24 - 26, Update the quickstart wording
around the setup flow so it does not say the coding agent asks users for API
keys. State that /setup identifies the required credentials and waits while the
user writes them directly to .env, while preserving the existing provider and
LiveKit credential context.
Three things.
1. Discord and GitHub links
In the navbar and the footer. The Discord invite was verified live (Mahimai Labs, #welcome) before it went in.
2. Lead with the magic setup
git clone→ open in a coding agent →/setup. That command already existed at.claude/commands/setup.mdand the docs never mentioned it. It was buried underdocker compose up.The quickstart now opens on it. The manual path stays below for people not using an agent, and
AGENTS.mdis named as what agents other than Claude Code read.The key-safety point is framed as the reason to trust the flow, not as friction: the agent never handles your API keys, because anything typed into a coding-agent conversation lands in that agent's transcript on disk.
3. Lean
console-modefolded into quickstart.persona+providers+configurationbecame one Customize page. The env table dropped the seven rows nobody edits:.env.exampleis the full list, carries a comment per value, and is already in the clone.Review caught seven issues, all fixed
docs.jsonand only added the links.claudesat in a bash fence besidegit clone, so it read as a command the reader already had, and nothing said where/setupgets typed.BUSINESS_NAMEstill claimed to be "what the agent says it works for." It is reported with a call and never given to the model. An earlier pass meant to fix this and missed on the table row's column padding.cdcommands shared one fenced block, so copying it ran the second and third from the wrong directory..claude/commands/setup.mdsent people to the Agents list for a control that is on the agent's own page.npx mint broken-linkspasses. All six routes serve 200; the four removed ones 404 as they should.Summary by CodeRabbit