Repository navigation
docs: restructure README for onboarding-first experience - #70
Conversation
Rewrite the README to optimize for new users going from "never heard of it" to "ran my first test" quickly. Move reference material to docs/. - Rewrite hero section with concrete description of what happens during a test - Replace vague Quick Start with copy-paste "Zero to First Test" walkthrough - Move prerequisites before Quick Start with platform-specific install commands - Document --app flag, --debug flag, and all common CLI flags in tables - Group CLI commands by tier (Getting Started / Running Tests / Reports) - Add "Using with AI Coding Agents" section explaining shipped skills - Add Troubleshooting section covering 6 common errors - Extract full environment/secrets guide to docs/environment.md - Add .env.example template for easy onboarding - Add !.env.example to .gitignore so the template is tracked - Move social links from top to bottom of README - Remove stale "report serve" removal note (already in CHANGELOG) - Add API cost note for transparency Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughAdded a tracked Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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
🧹 Nitpick comments (1)
docs/environment.md (1)
49-50: Clarify where${secrets.*}is actually definedOn Line 49, wording implies
${secrets.*}appears in.finalrun/env/*.yaml. It doesn’t—those files definesecretsmappings from${ENV_VAR}placeholders, and${secrets.*}is used in test spec files. This can confuse onboarding.Proposed doc fix
-- Resolving **`${secrets.*}`** references defined in `.finalrun/env/*.yaml`. +- Resolving `secrets` mappings declared in `.finalrun/env/*.yaml` (from `${ENV_VAR}` placeholders), which are then referenced as `${secrets.*}` in test specs.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/environment.md` around lines 49 - 50, The docs currently imply `${secrets.*}` is defined inside `.finalrun/env/*.yaml`; update the wording to clarify that `.finalrun/env/*.yaml` files instead define `secrets` mappings that point to environment variables (e.g., `${ENV_VAR}`), and that `${secrets.*}` placeholders are used in test spec files (e.g., references inside test manifests) and resolved at runtime by `finalrun test` and `finalrun suite`; mention both the mapping role of `.finalrun/env/*.yaml` and where `${secrets.*}` is actually used to avoid confusion.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.env.example:
- Line 6: Update the inaccurate template comment that mentions "${secrets.*}"
for .finalrun/env/*.yaml: replace the line that reads "# Test Secrets
(referenced via ${secrets.*} in .finalrun/env/*.yaml)" with a corrected comment
stating that .finalrun/env/*.yaml uses ${TEST_*}-style env placeholders (e.g.,
${TEST_USER_EMAIL}), and note that ${secrets.*} is only used in test YAML step
references; edit the comment text accordingly to reflect these two distinct
placeholder usages.
In `@README.md`:
- Around line 111-114: The README assumes a local .env.example file exists (the
`cp .env.example .env` step), which breaks onboarding for fresh app repos;
update the instructions to handle both cases by: instructing users to copy from
the template only if .env.example exists (mention `.env.example`) and otherwise
provide the fallback `echo "GOOGLE_API_KEY=your-key-here" > .env` or a one‑liner
to create .env manually; ensure the README text around the `cp .env.example
.env` step and the shown alternative command are updated so new users can create
.env without relying on a preexisting .env.example.
---
Nitpick comments:
In `@docs/environment.md`:
- Around line 49-50: The docs currently imply `${secrets.*}` is defined inside
`.finalrun/env/*.yaml`; update the wording to clarify that
`.finalrun/env/*.yaml` files instead define `secrets` mappings that point to
environment variables (e.g., `${ENV_VAR}`), and that `${secrets.*}` placeholders
are used in test spec files (e.g., references inside test manifests) and
resolved at runtime by `finalrun test` and `finalrun suite`; mention both the
mapping role of `.finalrun/env/*.yaml` and where `${secrets.*}` is actually used
to avoid confusion.
🪄 Autofix (Beta)
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
Run ID: 4c7e37af-74e7-4f82-8874-9f1d1d462383
📒 Files selected for processing (4)
.env.example.gitignoreREADME.mddocs/environment.md
Update OpenAI model references from gpt-4o to gpt-5.4-mini in docs, source comments, and test fixtures across all packages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match what the install script actually checks for — Android Studio and Xcode — instead of just listing individual CLI tools. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…est generation - Rename misleading "All platforms" to "Required" - Add ANDROID_HOME and PATH export snippet for adb/emulator - Reference skills as the primary way to generate tests in Zero to First Test Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Skills are the primary onboarding path — present them before the manual walkthrough so users see the AI-assisted flow first. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ate providers Replace the manual walkthrough with a focused API Keys section covering provider keys, .env setup, and billing. Remove the now-redundant Supported AI Providers section. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add the missing setup and expected_state fields to the YAML Test Specs section with a field table and updated example. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show the full /finalrun-generate-test workflow (source analysis, app identity inference, test plan, YAML generation, validation) and link /finalrun-use-cli as the follow-up to run generated tests. Link to Vercel skills registry for other agent support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Line 257: The troubleshooting anchor link "[Supported AI
Providers](`#supported-ai-providers`)" is broken; update the README entry to point
to an existing heading (for example change the fragment to "#api-keys") or add a
matching heading "Supported AI Providers" to the document so the anchor
resolves; make this change in the README.md line that contains the link text so
navigation works.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
Remove Claude Code-specific language from the skills section — keep it agent-agnostic with a link to the skills registry. Remove the manual install snippet. Rename API Keys section to include BYOK branding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ated docs Move detailed reference material from README into focused docs: - docs/yaml-tests.md — test format, fields, suites, placeholders - docs/cli-reference.md — all commands, flags, report tools - docs/configuration.md — config.yaml, --app flag, per-env overrides README now has a slim "Running Tests" section with one test and one suite example, linking to each doc for details. Down from ~280 to ~208 lines. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix inaccurate ${secrets.*} comment in .env.example
- Fix broken #supported-ai-providers anchor → #api-keys-byok--bring-your-own-key
- Remove cp .env.example assumption from API Keys and Environment sections
- Clarify secrets mapping wording in docs/environment.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
README.md (1)
57-57: Consider removing specific agent branding to maintain agent-agnostic positioning.Line 57 mentions "adds FinalRun skills for Claude Code / Codex," but the PR objectives state that commits "removed Claude Code–specific language" to be "agent-agnostic." Consider revising to:
adds FinalRun skills for AI coding agents🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 57, The README line still references vendor-specific agents ("FinalRun skills for Claude Code / Codex"); update the sentence to be agent-agnostic by replacing that phrase with a neutral term such as "FinalRun skills for AI coding agents" (edit the sentence containing "adds FinalRun skills for Claude Code / Codex" to the suggested wording) and ensure surrounding wording remains consistent with the PR's removed Claude-specific language.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/environment.md`:
- Around line 84-86: Fix the ambiguous bullet list by splitting the combined
sentence into two clear bullets: one stating that `scrcpy` must be on PATH and
is required by FinalRun for Android screen recording, and a separate bullet
stating that FinalRun bundles Android driver assets which the published CLI
installs automatically; update the lines mentioning `scrcpy` and "Bundled
FinalRun Android driver assets" so they are distinct list items with parallel
phrasing.
---
Nitpick comments:
In `@README.md`:
- Line 57: The README line still references vendor-specific agents ("FinalRun
skills for Claude Code / Codex"); update the sentence to be agent-agnostic by
replacing that phrase with a neutral term such as "FinalRun skills for AI coding
agents" (edit the sentence containing "adds FinalRun skills for Claude Code /
Codex" to the suggested wording) and ensure surrounding wording remains
consistent with the PR's removed Claude-specific language.
🪄 Autofix (Beta)
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
Run ID: b39e1372-9bb3-4afa-bcd0-3383861f6ffb
📒 Files selected for processing (6)
.env.exampleREADME.mddocs/cli-reference.mddocs/configuration.mddocs/environment.mddocs/yaml-tests.md
✅ Files skipped from review due to trivial changes (4)
- .env.example
- docs/cli-reference.md
- docs/yaml-tests.md
- docs/configuration.md
Remove Prerequisites, Environment & Secrets, and Troubleshooting from README — all now live in dedicated docs. README is now a landing page: what it is → demo → install → write tests → API keys → run → docs links. - Move troubleshooting to docs/troubleshooting.md - Replace Prerequisites with one-liner referencing finalrun doctor - Add Documentation section linking all 5 docs - Trim Install and Development sections - Down from ~200 to ~120 lines Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use parallel phrasing for the two distinct Android requirements. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
README.md (1)
85-85: Consider mentioning.env.examplealongside direct creation.Since this PR adds
.env.exampleto the repository, you might optionally reference it here for users who clone the FinalRun repo (vs adding FinalRun to their own app):-echo "GOOGLE_API_KEY=your-key-here" > .env +# If you cloned this repo: +cp .env.example .env +# Or create directly: +echo "GOOGLE_API_KEY=your-key-here" > .envThis keeps the simple onboarding path while acknowledging the new template file.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 85, Update the README instruction that currently shows creating a .env with echo so it also references the new .env.example template: keep the existing echo example (echo "GOOGLE_API_KEY=your-key-here" > .env) but add an alternative sentence like "Or copy the provided .env.example: cp .env.example .env and then set GOOGLE_API_KEY" so users cloning the repo can use the template; mention both options in the same paragraph for clarity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@README.md`:
- Line 85: Update the README instruction that currently shows creating a .env
with echo so it also references the new .env.example template: keep the existing
echo example (echo "GOOGLE_API_KEY=your-key-here" > .env) but add an alternative
sentence like "Or copy the provided .env.example: cp .env.example .env and then
set GOOGLE_API_KEY" so users cloning the repo can use the template; mention both
options in the same paragraph for clarity.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 4f07e6aa-a15f-4d87-a5bc-2d9878068cfb
📒 Files selected for processing (3)
README.mddocs/environment.mddocs/troubleshooting.md
✅ Files skipped from review due to trivial changes (2)
- docs/troubleshooting.md
- docs/environment.md
Add inline autoplaying video (2.7MB) for seamless demo experience without requiring a click-through to YouTube. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub READMEs don't support <video> tags. Use a compressed GIF instead for inline autoplay. 720px wide, 10fps, 256 colors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
docs/environment.md(was ~40% of the README).env.exampletemplate for easy onboarding--app/--debugflags, moves social links to bottomChanges
README.mddocs/environment.md.env.example.gitignore!.env.exampleso the template is tracked by gitTest plan
docs/environment.mdlink from README works.env.exampleappears in git (not ignored by.env.*pattern)finalrun report serveremains in README🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Configuration