Skip to content

📝 docs(front-door): rewrite README and site copy for candidates, not testers#17

Merged
scttbnsn merged 2 commits into
mainfrom
docs/user-facing-copy
Jul 9, 2026
Merged

📝 docs(front-door): rewrite README and site copy for candidates, not testers#17
scttbnsn merged 2 commits into
mainfrom
docs/user-facing-copy

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

The README read like a QA script and the marketing site leaked internal jargon. This rewrites both for the person who wants a job, not the person smoke-testing a build. Copy only — no code, no behavior change.

README

The old one led with ## Test drive (start here), A 5-minute path to confirm the whole loop works, and If those five land, the whole stack — CLI plumbing, skills, agent reasoning, and the live dashboard — is working end to end. That is a test plan, not a front door.

  • Leads with what it does for you and why it is different (reads the whole posting; will not lie for you)
  • A 5-minute path to confirm the whole loop worksYour first hour, written as things you do, not assertions you verify
  • What's Built (a status report) → What it does
  • Kept the genuinely useful first-run note about rolester doctor complaining before onboarding, reworded as a gotcha instead of a bug triage step
  • Dropped the internal Product Notes / naming-decision section and the list of rejected names — that is changelog material, still in git history
  • Demoted the source-checkout instructions to the bottom

Website

Two real errors, not just tone:

  1. The gate jargon was factually wrong. Tells you to GATE, FIT, pass on COMP, or act treats the field names of the verdict block as if they were verdict values. The actual values are GATE: KEEP|CUT|REVIEW, a fit score, a comp check, and an action. Now reads tells you to go for it, skip it, or take a closer look.
  2. Clone it. Run it. Own it. told people to clone the repo, but the terminal right beside it shows npm install -g rolester. Now Install it. Run it. Own it.

Also de-jargoned Config-driven, not code-driven, guided onboarding phrasing, and the what you get checklist.

Docs site

GATE / FIT / COMP / ACTION is the literal output format, so it stays — but it is now glossed in plain English before the token appears, rather than dropped on the reader cold.

Checks

  • node --test tests/release-safety.test.mjs — 6/6 pass (no PII/comp sentinel leakage)
  • pre-commit structure guards — 32/32 pass
  • tsc --noEmit on website/ — clean

Notes

  • Branched off origin/main, not the in-flight electron-version branch, so this lands independently of the desktop/app-shell work.
  • Left the Node requirement at 18. electron-version bumps engines to >=24, but on main the runtime guard in bin/rolester.mjs, package.json#engines, and the published rolester@0.5.2 all say >=18. The site previously said 18 and was right; that bump should ride with the branch that actually needs it.
  • Restored the Tokyo Night / Gruvbox dashboard theme mention after confirming styles.mjs really does ship tokyonight-dark/light and gruvbox-dark/light.

✨ Added

  • README re-structured with candidate-focused sections: “Why it’s different,” “Getting started,” “Your first hour,” “What it does,” “Everyday commands,” and “How it works.”
  • Plain-English explanations for the GATE/FIT/COMP/ACTION verdict before showing the literal block format in the docs.

🔧 Changed

  • Reframed README from “testers” to “candidates,” replacing “test drive” with “Your first hour” and renaming “What’s Built” → “What it does.”
  • Kept the rolester doctor onboarding warning as a deliberate “looks broken but isn’t” gotcha.
  • Removed internal jargon/product framing from the site and docs while keeping the same overall loop description.
  • Updated README command docs (“Everyday commands”): rolester next, rolester doctor, rolester update, plus tracker/tracker-dev, and clarified start flags.
  • Corrected/clarified privacy wording to scope outbound data claims to what the user’s chosen AI CLI/provider sends (no overbroad “Rolester sends nothing” phrasing).
  • Restored the Tokyo Night / Gruvbox dashboard theme mention.
  • Updated the landing CTA from “Clone it. Run it. Own it.” → “Install it. Run it. Own it.”
  • Left the Node 18+ requirement unchanged.

🐛 Fixed

  • Corrected verdict wording across README/docs/site to match the real GATE / FIT / COMP / ACTION output behavior and semantics, including conditional extra lines (e.g., COMP ANCHOR, COMP ESTIMATE, LEGITIMACY).
  • Fixed docs-site/landing “evaluate this” and gate/next-step descriptions so they align with the actual keep/cut + fit + comp check + recommended next step behavior.

🗑️ Removed

  • Internal product notes and rejected-name history from README/site copy.

  • Verify candidate-facing tone stays consistent across README, docs, and landing page.

  • Double-check no remaining copy implies behavior changes beyond wording (especially gating/tailoring/apply claims and verdict/output formatting).

…testers

The README read like a QA script ("A 5-minute path to confirm the whole loop
works", "What's normal, not a bug") and the site leaked internal jargon. Rewrote
both for someone who wants a job, not someone smoke-testing a build.

- 📝 docs(readme): lead with what it does for you; replace the test-drive
  walkthrough with "Your first hour"; drop the internal naming-decision notes
- 🎨 style(website): "Tells you to GATE, FIT, pass on COMP, or act" was wrong —
  those are field names in the verdict block, not verdict values. Now reads
  "go for it, skip it, or take a closer look"
- 📝 docs(site): gloss the GATE / FIT / COMP / ACTION block in plain English
  before showing the literal token
- 🐛 fix(website): "Clone it. Run it. Own it." told people to clone, but the
  command shown is `npm install -g rolester`
@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rolester-website Ready Ready Preview, Comment Jul 9, 2026 8:20pm

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 03f562dc-6fa1-4d52-b55b-44d8b72501a0

📥 Commits

Reviewing files that changed from the base of the PR and between e5f80b1 and cb77265.

📒 Files selected for processing (3)
  • README.md
  • docs-site/content/docs/getting-started/what-is-rolester.mdx
  • docs-site/content/docs/index.mdx
✅ Files skipped from review due to trivial changes (2)
  • docs-site/content/docs/getting-started/what-is-rolester.mdx
  • docs-site/content/docs/index.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

📝 Walkthrough

Walkthrough

This PR revises documentation and landing-page copy across README.md, docs-site MDX pages, and website/src/app/page.tsx. README.md is reorganized into new sections for setup, first use, commands, and how it works. The docs-site pages reword the gate output description to cover keep/cut, fit, comp, and next-step output. The landing page copy updates the Gate pull-quote, onboarding and search steps, feature list, install section, and prerequisites.

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/user-facing-copy

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-site/content/docs/getting-started/what-is-rolester.mdx`:
- Around line 34-37: The Gate section currently describes `renderGateBlock` as a
fixed four-line `GATE / FIT / COMP / ACTION` block, but it can also include
optional `COMP ANCHOR` and `LEGITIMACY` lines. Update the Gate description in
`what-is-rolester.mdx` to explicitly mention those optional lines, and make the
same wording change in `docs-site/content/docs/index.mdx` so both docs match the
behavior of `renderGateBlock`.

In `@README.md`:
- Around line 15-16: The README privacy statement is too absolute for the
`rolester start` flow because it hands off to external AI CLI/provider tools.
Update the copy near the existing privacy sentence to scope the claim to
Rolester itself, or explicitly qualify that the Claude Code/Codex provider hop
may transmit data outside the laptop. Keep the wording aligned with the
user-facing description in README rather than implying an all-local guarantee.
🪄 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 Plus

Run ID: 19f71ccd-bdb6-49e9-8c74-851c356ba86e

📥 Commits

Reviewing files that changed from the base of the PR and between eb4d7c8 and e5f80b1.

📒 Files selected for processing (4)
  • README.md
  • docs-site/content/docs/getting-started/what-is-rolester.mdx
  • docs-site/content/docs/index.mdx
  • website/src/app/page.tsx

Comment thread docs-site/content/docs/getting-started/what-is-rolester.mdx Outdated
Comment thread README.md Outdated
…ate contract

Addresses CodeRabbit review on #17. Both findings verified against the code.

- 🐛 fix(readme): "Nothing you put in leaves your laptop" was false and
  contradicted our own docs/advanced/privacy.mdx — the agent CLI sends the work
  to its provider. Scoped the claim to Rolester and linked the privacy page
- 📝 docs(site): the gate block is not a fixed four lines. gate.mjs also pushes
  COMP ANCHOR, COMP ESTIMATE, and LEGITIMACY conditionally. Say so, in plain
  words rather than by listing the raw tokens

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy-only. Verified the two substantive fixes against the source: gate.mjs really does push COMP ANCHOR / COMP ESTIMATE / LEGITIMACY conditionally, and advanced/privacy.mdx already disclosed the provider hop the old README denied. Node stays at 18 to match bin/rolester.mjs and package.json#engines on this branch. LGTM.

@ALARGECOMPANY ALARGECOMPANY left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads much better. The GATE/FIT/COMP/ACTION line was actively confusing before.

@scttbnsn scttbnsn merged commit db381e4 into main Jul 9, 2026
7 checks passed
@scttbnsn scttbnsn deleted the docs/user-facing-copy branch July 9, 2026 20:22
scttbnsn added a commit that referenced this pull request Jul 9, 2026
…ipping a 404 (#18)

* 🐛 fix(deploy): anchor .vercelignore paths so main deploys stop shipping a 404

.vercelignore uses .gitignore semantics: a pattern with no leading slash matches
at every depth. The bare `src` entry — meant to drop the CLI source at the repo
root — also matched `website/src` and `docs-site/src`, so Vercel's git build
deleted both Next apps' source before building. `next build` then found no app
directory, emitted a lone `/404` route, and production served a 404.

This never surfaced because every deploy so far was `vercel deploy --prebuilt`,
which uploads the prebuilt output directory and never applies .vercelignore.
Merging #17 fired the first git-integration production deploy and took the site
down.

Anchors every product-internal path with a leading slash. Verified with
`git ls-files -i -c -X .vercelignore` (same semantics): 0 files removed from
website/ or docs-site/, 525 root internal files still excluded.

* 🧪 test(release-safety): require anchored .vercelignore paths

The privacy guard asserted the exact unanchored lines (`^candidate$`), which is
what forced the bug: anchoring the paths broke it. Assert the anchored form
instead — same privacy intent — and add a regression check that the
depth-matching bare forms never come back.

Verified the new assertion fails against the old .vercelignore.

---------

Co-authored-by: CodesWhat <219361182+CodesWhat@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants