docs: rewrite quickstart for the user/account model - #1
Conversation
The previous version pre-dated signup invites, hooksctl login, and user-owned `me sub` push subscriptions. Updated to reflect the current CLI surface, including the bootstrap signup URL, password policy, and the device-pairing flow (CLI prints `Visit:`/`Code:` rather than auto-opening a browser).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughUpdated ChangesDeveloper Environment Quickstart
Test Timeout Tuning
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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/quickstart.md`:
- Around line 77-79: The fenced code block containing the webhook URL
`https://webhooks.example.com/ingest/render` in the quickstart example is
missing a language specifier; update the triple-backtick fence to include a
language (e.g., change ``` to ```text) so the block is annotated as plain text
and renders correctly.
- Around line 30-34: The fenced code block showing the hooks init output is
missing a language specifier; update the triple-backtick fence around the block
that contains "admin token (shown ONCE): <long base64 string>" and the "signup:
https://webhooks.example.com/signup?code=ABCDEFGH..." line to use a language
specifier such as ```text so the markdown linter renders it correctly.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 0cb2dcc5-e7ee-4bbb-b10e-bcf83a34c667
📒 Files selected for processing (1)
docs/quickstart.md
The 2s registration deadline (and 3s per-request context, 5s client timeout) is too tight for 25 goroutines under -race on slow CI runners. Local runs pass 10/10; CI hit `only 12/25 subscribers registered` because the runner couldn't schedule all goroutines within 2s. Bump deadline to 15s and per-request timeouts to 20s/30s so they outlive the registration wait. Doesn't change what the test asserts.
Per CodeRabbit, two unmarked fenced blocks (the `hooks init` example output and the Render ingest URL) are pure plain text. Tagging them as `text` so markdown renderers/linters annotate them correctly.
Summary
docs/quickstart.mdto match the current CLI surface — pre-dated the user/account model (signup invites,hooksctl login, user-ownedme subpush subscriptions).hooks init(with--server-url/HOOKS_PUBLIC_URLfor a usable link), the device-pairing login flow, and theaccount-only default scope on approval.hooksctl push addto user-ownedhooksctl me sub add, and notes the secret-only-in-memory restart caveat withme sub rotate-secret.accounts.md,security.md,sources.md,operations.md.Test plan
hooks init --server-url https://webhooks.example.comin a tempdir — output and generatedhooks.yamlmatch the doc verbatim (modulo the cosmetic24hvs24h0m0sdifference on the TTL line).cmd/hooks/main.goandcmd/hooksctl/{login,forward,me,push,whoami}.go./healthzvs/readyz, and the password policy againstinternal/{push,users,server,devicepair}andCLAUDE.md.#power-user-long-lived-listener-tokenanchor resolves.make buildis green.Review notes
Comment-analyzer + code-reviewer found two issues, both fixed in this PR:
hooksctl loginopens the/deviceURL in your browser; it doesn't — the CLI prints aVisit:URL and aCode:line. Updated.internal/users/policy.go) also rejects passwords containing the full email. Tightened to "your email or its local-part."Out of scope, but worth a follow-up:
README.mdanddocs/accounts.mdmake the same incorrect "opens in your browser" claim abouthooksctl login. Worth a one-line fix in each.Summary by CodeRabbit