[docs] dev credentials and CLI auth docs#2630
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a reusable SetupPaths UI and three Markdoc tags, updates markdoc tabbed-single to require a storageKey, and converts many auth docs to paired dashboard+terminal onboarding using npx instant-cli commands to add auth clients and register redirect origins; also adds CLI docs for auth client/origin commands. ChangesAuth documentation + CLI onboarding DAG
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 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 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 |
|
View Vercel preview at instant-www-js-docs-dev-credentials-and-cli-auth-jsv.vercel.app. |
- Add a "Quick start: dev credentials" section to the Google OAuth doc for the web-redirect and rn-web flows, with a callout in step 1 that points back to it. - Add an "OAuth clients and redirect origins" section to the CLI doc with a few example commands and a pointer to --help.
…uides - Add a setup-paths / dashboard-path / terminal-path markdoc tag trio so auth guides can render the dashboard and CLI options as stacked sub-sections. Encapsulated so we can redesign later (tabs, columns, etc.) without touching every guide. - Wire it into Google, GitHub, LinkedIn, Apple, Clerk, and Firebase auth guides everywhere we used to walk the user through dashboard-only steps for adding an OAuth client or a redirect origin.
ca12169 to
890b7aa
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
client/www/app/docs/auth/apple/[[...tab]]/page.md (1)
223-223:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winWrong flow label in section heading
This section is inside the
web-redirectbranch, but the heading says “Web Popup flow”.Proposed fix
-## Step 5: Add Sign In code to your app (Web Popup flow) +## Step 5: Add Sign In code to your app (Web Redirect flow)🤖 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 `@client/www/app/docs/auth/apple/`[[...tab]]/page.md at line 223, The heading "Step 5: Add Sign In code to your app (Web Popup flow)" is incorrect for the web-redirect branch; update that heading in page.md to read "Step 5: Add Sign In code to your app (Web Redirect flow)" (or similar "Web Redirect") so it matches the web-redirect branch context and avoids misleading users—look for the exact heading string "Step 5: Add Sign In code to your app (Web Popup flow)" and replace it accordingly.
🤖 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 `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md:
- Line 70: Update the insecure dashboard links that use http to use HTTPS:
replace the href value in the blank-link snippet 'From the {% blank-link
href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%}' (and the
similar occurrence at the second instance reported) so they read
'https://instantdb.com/...', ensuring both occurrences (line with the blank-link
and the occurrence around line 213) are changed to use https.
- Line 96: Replace the URL format on the docs page: update the sentence that
currently contains "http://localhost:3000" to use domain-only format
"localhost:3000" (keeping the rest of the sentence intact: "If you're testing
from localhost, add `localhost:3000` (replacing `3000` with the port you use).
For production, add your website's domain.") to match the CLI help and other
examples.
In `@client/www/app/docs/auth/google-oauth/`[[...tab]]/page.md:
- Line 95: Malformed nested bold markers around the link "straight to code"
cause broken markdown; update the line that reads 'And you're done. You can go
[**straight to code**](`#3-add-some-code`).' by removing the internal '**' inside
the link (or moving bold to wrap the whole link) so the link becomes either
'[straight to code](`#3-add-some-code`)' or '**[straight to
code](`#3-add-some-code`)**' to ensure valid emphasis and correct rendering.
---
Outside diff comments:
In `@client/www/app/docs/auth/apple/`[[...tab]]/page.md:
- Line 223: The heading "Step 5: Add Sign In code to your app (Web Popup flow)"
is incorrect for the web-redirect branch; update that heading in page.md to read
"Step 5: Add Sign In code to your app (Web Redirect flow)" (or similar "Web
Redirect") so it matches the web-redirect branch context and avoids misleading
users—look for the exact heading string "Step 5: Add Sign In code to your app
(Web Popup flow)" and replace it accordingly.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: afdd58b0-862c-4f00-b749-013393b9812c
📒 Files selected for processing (9)
client/www/app/docs/auth/apple/[[...tab]]/page.mdclient/www/app/docs/auth/clerk/page.mdclient/www/app/docs/auth/firebase/page.mdclient/www/app/docs/auth/github-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/google-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/linkedin-oauth/[[...tab]]/page.mdclient/www/app/docs/cli/page.mdclient/www/components/docs/SetupPaths.tsxclient/www/markdoc/tags.js
There was a problem hiding this comment.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
client/www/app/docs/auth/clerk/page.md (1)
56-56:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winMake client-name guidance dashboard/CLI neutral.
This line still implies dashboard-only setup, but Step 3 now supports CLI too. Update wording so it matches both paths.
Suggested doc fix
-Use Clerk's `getToken` helper to get a session JWT for your signed-in user. Then call Instant's `db.auth.signInWithIdToken` with the JWT and the client name you set on the Instant dashboard. +Use Clerk's `getToken` helper to get a session JWT for your signed-in user. Then call Instant's `db.auth.signInWithIdToken` with the JWT and the client name you configured for Instant (via dashboard or CLI).🤖 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 `@client/www/app/docs/auth/clerk/page.md` at line 56, Update the sentence that mentions "the Instant dashboard" to be neutral about how the client name was configured: instruct the user to call Clerk's getToken to obtain a session JWT, then call Instant's db.auth.signInWithIdToken with that JWT and the client name you configured for Instant (e.g., via the dashboard or CLI). Keep references to getToken and db.auth.signInWithIdToken unchanged so readers can locate the exact helpers.
♻️ Duplicate comments (3)
client/www/app/docs/auth/github-oauth/[[...tab]]/page.md (2)
96-96:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winNormalize localhost origin example to host:port format.
Line 96 uses
http://localhost:3000; update it tolocalhost:3000to match CLI/docs conventions in this page.Suggested fix
-If you're testing from localhost, add `http://localhost:3000` (replacing `3000` with the port you use). For production, add your website's domain. +If you're testing from localhost, add `localhost:3000` (replacing `3000` with the port you use). For production, add your website's domain.🤖 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 `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md at line 96, Replace the explicit URL example "http://localhost:3000" with the normalized host:port form "localhost:3000" in the docs content that currently reads "If you're testing from localhost, add `http://localhost:3000` (replacing `3000` with the port you use)." Update that string so the page uses "localhost:3000" to match CLI/docs conventions.
70-70:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse HTTPS for dashboard Auth links.
Line 70 and Line 213 still use
http://instantdb.com/...; these should behttps://instantdb.com/....Suggested fix
-From the {% blank-link href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard: +From the {% blank-link href="https://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard:-From the {% blank-link href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard, add a redirect origin of type "App scheme". +From the {% blank-link href="https://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard, add a redirect origin of type "App scheme".Also applies to: 213-213
🤖 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 `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md at line 70, Update the dashboard Auth URLs in the markdown to use HTTPS instead of HTTP: replace occurrences of "http://instantdb.com/dash?s=main&t=auth" (and any other "http://instantdb.com/..." instances found in this file, e.g., the one at the later occurrence around line 213) with "https://instantdb.com/dash?s=main&t=auth" so all Auth links in page.md use secure HTTPS URLs.client/www/app/docs/auth/linkedin-oauth/[[...tab]]/page.md (1)
218-218:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse HTTPS instead of HTTP for the dashboard link.
Same issue as line 73: the dashboard link uses
http://instead ofhttps://. This should be consistent with the HTTPS protocol used throughout the service.🔒 Proposed fix
-From the {% blank-link href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard, add a redirect origin of type "App scheme". +From the {% blank-link href="https://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard, add a redirect origin of type "App scheme".🤖 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 `@client/www/app/docs/auth/linkedin-oauth/`[[...tab]]/page.md at line 218, Update the dashboard link's href in the template tag so it uses HTTPS instead of HTTP: locate the tag {% blank-link href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} in page.md and change the URL to https://instantdb.com/dash?s=main&t=auth (mirror the same fix applied previously at the earlier occurrence).
🧹 Nitpick comments (1)
client/www/app/docs/auth/github-oauth/[[...tab]]/page.md (1)
102-102: ⚡ Quick winLink the Auth tab here for consistency with the new pattern.
Line 102 says
In the \Auth` tab...` but isn’t linked, while nearby sections use the linked Auth tab pattern.Suggested fix
-In the `Auth` tab, add your URL to the **Redirect Origins** list. +From the {% blank-link href="https://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tab on the Instant dashboard, add your URL to the **Redirect Origins** list.🤖 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 `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md at line 102, Replace the plain text "Auth" tab reference with the linked Auth tab pattern used elsewhere in this document so the sentence "In the `Auth` tab, add your URL to the **Redirect Origins** list." becomes the same linked form as nearby sections; update the inline backticked `Auth` reference in page.md to use the project's standard doc link component or markdown link for the Auth tab so it navigates to the Auth section consistently.
🤖 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 `@client/www/app/docs/auth/clerk/page.md`:
- Line 39: Update the dashboard link in client/www/app/docs/auth/clerk/page.md
by changing the href in the {% blank-link
href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} tag to use https
(https://instantdb.com/dash?s=main&t=auth) so the {% blank-link %} helper points
to a secure URL and avoids mixed-content navigation.
In `@client/www/app/docs/auth/firebase/page.md`:
- Line 22: Update the dashboard Auth link to use HTTPS by changing the href
value in the blank-link tag (the {% blank-link
href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} instance) to
"https://instantdb.com/dash?s=main&t=auth" so the generated link uses secure
HTTPS instead of HTTP.
In `@client/www/app/docs/auth/linkedin-oauth/`[[...tab]]/page.md:
- Line 73: Update the dashboard link to use HTTPS: change the {% blank-link
href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} to use https://
(i.e. href="https://instantdb.com/dash?s=main&t=auth") so it matches the OAuth
callback URL (https://api.instantdb.com) and avoids mixed-protocol/security
issues.
- Line 105: The text "Auth" at the location corresponding to line 105 should be
converted to the same clickable format used elsewhere by wrapping it with the {%
blank-link %} tag; update the occurrence in page.md (matching the pattern used
on lines 73 and 218) so the "Auth" tab is rendered as a navigable link using the
{% blank-link %} helper, ensuring the link text and target match the other
instances for consistency.
In `@client/www/app/docs/cli/page.md`:
- Around line 234-248: The docs claim auth client add supports "github,
linkedin, apple, clerk, firebase" but the CLI `--type` flag only accepts
`google|github|apple|linkedin`; update the examples and the prose around `npx
instant-cli@latest auth client add --type` to remove Clerk and Firebase (or
explicitly note they are not supported), and ensure the sentence listing
providers matches the CLI help (`google`, `github`, `apple`, `linkedin`) so the
`auth client add --type` usage is accurate.
---
Outside diff comments:
In `@client/www/app/docs/auth/clerk/page.md`:
- Line 56: Update the sentence that mentions "the Instant dashboard" to be
neutral about how the client name was configured: instruct the user to call
Clerk's getToken to obtain a session JWT, then call Instant's
db.auth.signInWithIdToken with that JWT and the client name you configured for
Instant (e.g., via the dashboard or CLI). Keep references to getToken and
db.auth.signInWithIdToken unchanged so readers can locate the exact helpers.
---
Duplicate comments:
In `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md:
- Line 96: Replace the explicit URL example "http://localhost:3000" with the
normalized host:port form "localhost:3000" in the docs content that currently
reads "If you're testing from localhost, add `http://localhost:3000` (replacing
`3000` with the port you use)." Update that string so the page uses
"localhost:3000" to match CLI/docs conventions.
- Line 70: Update the dashboard Auth URLs in the markdown to use HTTPS instead
of HTTP: replace occurrences of "http://instantdb.com/dash?s=main&t=auth" (and
any other "http://instantdb.com/..." instances found in this file, e.g., the one
at the later occurrence around line 213) with
"https://instantdb.com/dash?s=main&t=auth" so all Auth links in page.md use
secure HTTPS URLs.
In `@client/www/app/docs/auth/linkedin-oauth/`[[...tab]]/page.md:
- Line 218: Update the dashboard link's href in the template tag so it uses
HTTPS instead of HTTP: locate the tag {% blank-link
href="http://instantdb.com/dash?s=main&t=auth" label="Auth" /%} in page.md and
change the URL to https://instantdb.com/dash?s=main&t=auth (mirror the same fix
applied previously at the earlier occurrence).
---
Nitpick comments:
In `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md:
- Line 102: Replace the plain text "Auth" tab reference with the linked Auth tab
pattern used elsewhere in this document so the sentence "In the `Auth` tab, add
your URL to the **Redirect Origins** list." becomes the same linked form as
nearby sections; update the inline backticked `Auth` reference in page.md to use
the project's standard doc link component or markdown link for the Auth tab so
it navigates to the Auth section consistently.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: d0158dfd-bae5-4bc0-a220-570d27dbe554
📒 Files selected for processing (7)
client/www/app/docs/auth/apple/[[...tab]]/page.mdclient/www/app/docs/auth/clerk/page.mdclient/www/app/docs/auth/firebase/page.mdclient/www/app/docs/auth/github-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/google-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/linkedin-oauth/[[...tab]]/page.mdclient/www/app/docs/cli/page.md
✅ Files skipped from review due to trivial changes (1)
- client/www/app/docs/auth/google-oauth/[[...tab]]/page.md
- Switch all instantdb.com/dash links to https. - Link the Auth tab in the "Register your website" step for Google, GitHub, and LinkedIn (was unlinked text). - Fix malformed nested bold in the Google quick-start "straight to code" link.
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
client/www/app/docs/auth/apple/[[...tab]]/page.md (1)
223-223:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix incorrect heading text.
The heading says "Web Popup flow" but this section is within the
web-redirectconditional block. It should say "Web Redirect flow" instead.📝 Proposed fix
-## Step 5: Add Sign In code to your app (Web Popup flow) +## Step 5: Add Sign In code to your app (Web Redirect flow)🤖 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 `@client/www/app/docs/auth/apple/`[[...tab]]/page.md at line 223, The heading "Web Popup flow" is incorrect inside the web-redirect conditional — update the heading text to "Web Redirect flow" where the string "## Step 5: Add Sign In code to your app (Web Popup flow)" appears within the web-redirect block so it accurately reflects the redirect flow.
♻️ Duplicate comments (1)
client/www/app/docs/auth/github-oauth/[[...tab]]/page.md (1)
96-96:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate to domain-only format for consistency.
Line 96 still uses
http://localhost:3000, but the CLI and other documentation examples consistently use domain-only format (e.g.,example.com,localhost:3000). Change to: "If you're testing from localhost, addlocalhost:3000(replacing3000with the port you use). For production, add your website's domain."🤖 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 `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md at line 96, Replace the URI-style example "If you're testing from localhost, add `http://localhost:3000` (replacing `3000` with the port you use)." with the domain-only format "If you're testing from localhost, add `localhost:3000` (replacing `3000` with the port you use)." so the page's localhost example matches the CLI and other docs; update the exact text fragment that currently contains `http://localhost:3000`.
🤖 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 `@client/www/app/docs/auth/google-oauth/`[[...tab]]/page.md:
- Line 210: Update the localhost guidance text that currently says "If you're
testing from localhost, add `http://localhost:3000` (replacing `3000` with the
port you use). For production, add your website's domain." to also mention
`http://localhost` (and any other common localhost variants) so it mirrors the
earlier setup guidance; edit both occurrences (the sentence at the current
snippet and the similar line at 223) to read something like "If you're testing
from localhost, add `http://localhost` and `http://localhost:3000` (replace
`3000` with your port) to avoid origin mismatch, and for production add your
website's domain." Ensure both instances in page.md are updated consistently.
- Line 69: Fix the typo in the quick-start sentence that currently reads "You
don't need to go the Google Cloud Console, and you can log in within minutes." —
change "go the" to "go to" so the sentence becomes "You don't need to go to the
Google Cloud Console, and you can log in within minutes." Update the text in
page.md where that exact sentence appears.
In `@client/www/app/docs/auth/linkedin-oauth/`[[...tab]]/page.md:
- Around line 212-233: Update the wording in the LinkedIn OAuth docs so it's
explicit that two separate redirect origins must be added: replace the phrase
"add `exp://` and your scheme (e.g. `mycoolredirect://`) as redirect origins"
with something like "add two redirect origins: `exp://` and your custom scheme
(e.g. `mycoolredirect://`)". Also change the singular "add a redirect origin" in
the dashboard instructions to the plural "add redirect origins" (to match the
two CLI commands shown: `npx instant-cli@latest auth origin add --type
custom-scheme --scheme exp://` and `npx instant-cli@latest auth origin add
--type custom-scheme --scheme mycoolredirect://`).
---
Outside diff comments:
In `@client/www/app/docs/auth/apple/`[[...tab]]/page.md:
- Line 223: The heading "Web Popup flow" is incorrect inside the web-redirect
conditional — update the heading text to "Web Redirect flow" where the string
"## Step 5: Add Sign In code to your app (Web Popup flow)" appears within the
web-redirect block so it accurately reflects the redirect flow.
---
Duplicate comments:
In `@client/www/app/docs/auth/github-oauth/`[[...tab]]/page.md:
- Line 96: Replace the URI-style example "If you're testing from localhost, add
`http://localhost:3000` (replacing `3000` with the port you use)." with the
domain-only format "If you're testing from localhost, add `localhost:3000`
(replacing `3000` with the port you use)." so the page's localhost example
matches the CLI and other docs; update the exact text fragment that currently
contains `http://localhost:3000`.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: ad6894e0-9c11-412a-8446-d6b78d6ab49e
📒 Files selected for processing (6)
client/www/app/docs/auth/apple/[[...tab]]/page.mdclient/www/app/docs/auth/clerk/page.mdclient/www/app/docs/auth/firebase/page.mdclient/www/app/docs/auth/github-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/google-oauth/[[...tab]]/page.mdclient/www/app/docs/auth/linkedin-oauth/[[...tab]]/page.md
- Use relative /dash?s=main&t=auth links so they stay on whatever host the docs are served from (preview, prod, local). - Normalize Apple's dashboard instructions to use double-quoted UI labels like the other auth guides instead of italics/backticks. - Fix "go the Google Cloud Console" typo in the Google quick start.
The transformContent step in lib/markdoc.ts strips all `{% ... %}`
markdoc tags it doesn't know how to render. That dropped:
- The Auth dashboard link from {% blank-link %} (left an empty span).
- The "From the dashboard" / "From the terminal" headings introduced
by {% dashboard-path %} and {% terminal-path %}.
Now blank-link becomes a real markdown link, and the path tags emit
bold "From the …" headings.
nezaj
left a comment
There was a problem hiding this comment.
LGTM. Only nits is to add tests for the new logic for sanitizeMarkdown in markdoc.ts
Context
We added (1) support for updating auth clients and origins in the CLI, and (2) support for dev credentials.
This PR updates the docs. There's three changes:
a. In Google Oauth I added a section calling out dev credentials
a. Wherever we had dashboard instructions, we now also have terminal instructions
a. I also added a callout on auth methods if the user visits the CLI page
Note: You may wonder, why do we show both dashboard instructions and cli instructions at once? We could have made a tabbed picker. If we did, SSR would get annoying, since then we would have to dynamically render the docs pages. Right now we statically render them.
Preview Links
Take a gander at the changes in each doc section
exp://origin@dwwoelfel @nezaj @drew-harris