-
Notifications
You must be signed in to change notification settings - Fork 491
[Docs][Content] Github install, UI changes, platform selection #1098
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
Older cmux preview screenshots (latest comment is below)Preview Screenshots⏳ Preview screenshots are being captured... Workspace and dev browser links will appear here once the preview environment is ready. Generated by cmux preview system |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (3)
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughAdds Shell platform and self-hosting code examples, replaces inline shell snippets with PlatformCodeblock usage across docs, updates GitHub guide to prefer GitHub App, enhances Info component with a danger variant, and surfaces page last-modified near the top. Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant Page as Docs Page
participant Indicator as PlatformIndicator
participant CodeBlock as PlatformCodeblock
participant Registry as Examples Registry
User->>Page: open doc with PlatformCodeblock
Page->>Registry: request examples (docId, exampleKey)
Registry-->>Page: return example variants (including Shell)
Page->>Indicator: render available platforms (PLATFORMS filtered)
Indicator-->>User: show platform selector (Shell omitted)
User->>Indicator: select platform/framework
Indicator->>CodeBlock: update selected platform/framework
CodeBlock->>Page: render code for selection (may hide selector if hidePlatformSelector)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
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. 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 |
Greptile OverviewGreptile SummaryThis PR enhances the Stack Auth documentation by improving GitHub authentication setup instructions and self-hosting documentation. Key changes include: GitHub OAuth Documentation: Updated Self-Hosting Improvements: Added a prominent danger warning about self-hosting responsibilities and migrated inline shell commands to structured code examples. The commands are now organized using the new Component Enhancements:
The PR maintains backward compatibility while improving documentation clarity and visual consistency. Confidence Score: 4/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant MDX as MDX Documentation
participant PC as PlatformCodeblock
participant PI as PlatformIndicator
participant SC as SelfHostExamples
participant Info as Info Component
User->>MDX: Views self-host.mdx
MDX->>Info: Render danger warning
Info-->>User: Display red accent warning
MDX->>PC: Request code example (hidePlatformSelector=true)
PC->>SC: getExample("others/self-host", "git-clone")
SC-->>PC: Return Shell/Git example
PC->>PC: Filter platformNames (exclude Shell)
PC->>PC: Check hidePlatformSelector || single platform
PC-->>User: Display code without selector
User->>PI: Click platform selector in header
PI->>PI: Filter PLATFORMS (exclude Shell)
PI-->>User: Show JavaScript/Python only
User->>PI: Select platform/framework
PI->>PI: Broadcast via CustomEvent
PI->>PI: Update sessionStorage
PC->>PC: Listen to stack-platform-change
PC->>PC: Update selected platform
PC-->>User: Display updated code examples
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 files reviewed, 2 comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)
docs/lib/platform-config.ts (1)
48-50: Consider removinggetAllPlatformNames()or adding a filter parameter if it's intended for external use.The function is currently unused in the codebase. Shell filtering is already properly implemented at the places where platforms are actually used (platform-codeblock.tsx and platform-indicator.tsx both explicitly filter Shell). However,
getAllPlatformNames()returns all platforms including Shell without any way to exclude it. If this is dead code, remove it; if it's intended for external consumption, either exclude Shell by default or add a parameter to control its inclusion.
🤖 Fix all issues with AI agents
In @docs/code-examples/self-host.ts:
- Around line 25-34: The code example in the 'git-clone' entry of the
CodeExample array uses the wrong directory name after cloning; update the code
string in that object (the entry keyed 'git-clone') so the second line reads "cd
stack-auth" instead of "cd stack" to match the cloned repo name.
In @docs/content/docs/(guides)/concepts/auth-providers/github.mdx:
- Line 47: Update the heading string "Create a OAuth App" to use the correct
article and casing: change it to "Create an OAuth App" in the docs file so it
reads with the correct grammar and standard "OAuth" capitalization (look for the
heading text "Create a OAuth App" in the markdown).
- Line 5: Update the phrase "Stack Auth enabled application" to the hyphenated
compound adjective "Stack Auth-enabled application" in the sentence describing
GitHub sign-in; locate the sentence starting "This guide explains how to set up
GitHub as an authentication provider..." and replace the phrase accordingly to
use the hyphenated form.
- Around line 43-44: Replace the typoged horizontal rule and fix the
capitalization in the Accordion title: change the stray `-- -` to a proper `---`
horizontal rule and update the Accordion title string from "Github OAuth App
installation" to "GitHub OAuth App installation" (look for the Accordion
component with title="Github OAuth App installation" and correct both the rule
and the brand capitalization).
In @docs/src/components/mdx/platform-codeblock.tsx:
- Around line 267-271: The early return checks platformNames.length === 0 which
bails out when all examples are Shell-only; instead base the "no platforms"
check on allPlatformNames (or allow rendering when firstPlatform is defined even
if platformNames is empty). Update the logic around platformNames,
allPlatformNames and firstPlatform so that if allPlatformNames has entries
(e.g., only "Shell") the component proceeds to render using firstPlatform
(fallback to allPlatformNames[0]) rather than returning "No platforms
configured".
🧹 Nitpick comments (2)
docs/src/components/mdx/info.tsx (1)
85-89: The danger icon is identical to the warning icon.Both the
dangerandwarningtypes use the same SVG path (triangle with exclamation mark). Consider using a distinct icon fordanger(e.g., a stop sign, X in circle, or shield with exclamation) to help users visually differentiate between warnings and critical danger messages.docs/src/components/layouts/platform-indicator.tsx (1)
40-42: Silent catch block may hide parsing errors.While ignoring parsing errors for session storage is reasonable for resilience, the empty catch block could benefit from a brief inline comment explaining why errors are intentionally ignored, or you could log at debug level for troubleshooting.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
docs/code-examples/index.tsdocs/code-examples/self-host.tsdocs/content/docs/(guides)/concepts/auth-providers/github.mdxdocs/content/docs/(guides)/others/self-host.mdxdocs/lib/platform-config.tsdocs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/info.tsxdocs/src/components/mdx/platform-codeblock.tsx
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{tsx,ts,jsx,js}
📄 CodeRabbit inference engine (AGENTS.md)
For blocking alerts and errors, never use
toast; instead, use alerts as toasts are easily missed by the user
Files:
docs/lib/platform-config.tsdocs/code-examples/self-host.tsdocs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/platform-codeblock.tsxdocs/code-examples/index.tsdocs/src/components/mdx/info.tsx
**/*.{tsx,ts}
📄 CodeRabbit inference engine (AGENTS.md)
NEVER use Next.js dynamic functions if avoidable; prefer using client components instead to keep pages static (e.g., use
usePathnameinstead ofawait params)
Files:
docs/lib/platform-config.tsdocs/code-examples/self-host.tsdocs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/platform-codeblock.tsxdocs/code-examples/index.tsdocs/src/components/mdx/info.tsx
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx,js,jsx}: NEVER try-catch-all, NEVER void a promise, and NEVER use .catch(console.error) or similar; use loading indicators instead; if asynchronous handling is necessary, userunAsynchronouslyorrunAsynchronouslyWithAlertinstead
Use ES6 maps instead of records wherever possible
Files:
docs/lib/platform-config.tsdocs/code-examples/self-host.tsdocs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/platform-codeblock.tsxdocs/code-examples/index.tsdocs/src/components/mdx/info.tsx
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Code defensively; prefer?? throwErr(...)over non-null assertions with good error messages explicitly stating violated assumptions
Avoid theanytype; when necessary, leave a comment explaining why it's used, why the type system fails, and how errors would be caught at compile-, test-, or runtime
Files:
docs/lib/platform-config.tsdocs/code-examples/self-host.tsdocs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/platform-codeblock.tsxdocs/code-examples/index.tsdocs/src/components/mdx/info.tsx
**/*.{tsx,css}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{tsx,css}: Keep hover/click animations snappy and fast; don't delay actions with pre-transitions (e.g., no fade-in on button hover) as it makes UI feel sluggish; instead apply transitions after the action like smooth fade-out when hover ends
When creating hover transitions, avoid hover-enter transitions and use only hover-exit transitions (e.g.,transition-colors hover:transition-none)
Files:
docs/src/components/layouts/platform-indicator.tsxdocs/src/components/mdx/platform-codeblock.tsxdocs/src/components/mdx/info.tsx
🧠 Learnings (2)
📚 Learning: 2026-01-07T00:55:19.871Z
Learnt from: CR
Repo: stack-auth/stack-auth PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-07T00:55:19.871Z
Learning: Applies to {packages/stack,packages/js}/**/*.{ts,tsx,js,jsx} : NEVER UPDATE packages/stack OR packages/js; instead, update packages/template as those packages are copies of it
Applied to files:
docs/content/docs/(guides)/others/self-host.mdx
📚 Learning: 2026-01-07T00:55:19.871Z
Learnt from: CR
Repo: stack-auth/stack-auth PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-07T00:55:19.871Z
Learning: The project uses Next.js with App Router framework for the backend, dashboard, and dev-launchpad apps
Applied to files:
docs/content/docs/(guides)/others/self-host.mdx
🧬 Code graph analysis (3)
docs/code-examples/self-host.ts (1)
docs/lib/code-examples.ts (1)
CodeExample(15-23)
docs/src/components/layouts/platform-indicator.tsx (1)
docs/lib/platform-config.ts (1)
PLATFORMS(21-37)
docs/src/components/mdx/platform-codeblock.tsx (1)
docs/src/components/icons.tsx (1)
ChevronDown(67-69)
🪛 LanguageTool
docs/content/docs/(guides)/concepts/auth-providers/github.mdx
[grammar] ~5-~5: Use a hyphen to join words.
Context: ...lows users to sign in to your Stack Auth enabled application using their GitHub a...
(QB_NEW_EN_HYPHEN)
docs/content/docs/(guides)/others/self-host.mdx
[style] ~42-~42: Consider a more concise word here.
Context: ...also supply a STACK_FREESTYLE_API_KEY in order to send emails with Stack Auth (can be gen...
(IN_ORDER_TO_PREMIUM)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: Vercel Agent Review
- GitHub Check: restart-dev-and-test-with-custom-base-port
- GitHub Check: all-good
- GitHub Check: lint_and_build (latest)
- GitHub Check: check_prisma_migrations (22.x)
- GitHub Check: E2E Tests (Node 22.x, Freestyle mock)
- GitHub Check: build (22.x)
- GitHub Check: E2E Tests (Node 22.x, Freestyle prod)
- GitHub Check: setup-tests
- GitHub Check: docker
- GitHub Check: build (22.x)
- GitHub Check: restart-dev-and-test
- GitHub Check: setup-tests-with-custom-base-port
🔇 Additional comments (11)
docs/src/components/mdx/info.tsx (2)
32-37: LGTM: Danger variant styling is well-defined.The color scheme for the danger variant uses appropriate red tones with proper light/dark mode support. The gradient styling is consistent with other variants.
63-67: Nice addition: Left accent bar enhances visual hierarchy.The left accent bar provides a clear visual indicator for the info type, improving scannability of documentation.
docs/content/docs/(guides)/concepts/auth-providers/github.mdx (1)
14-17: LGTM: Clear guidance on GitHub App vs OAuth App.The info block provides helpful context for users deciding between the two authentication options, with a link to GitHub's official documentation.
docs/src/components/layouts/platform-indicator.tsx (1)
166-167: LGTM: Shell platform correctly filtered from user-facing selector.The filter ensures Shell platform (used internally for terminal commands) is not exposed in the user-selectable dropdown. The inline comment clearly explains the rationale.
docs/code-examples/index.ts (1)
4-4: LGTM: Self-host examples integrated correctly.The import and registry addition follow the established pattern for code examples. The 'others' section key aligns with the document path structure.
Also applies to: 12-12
docs/lib/platform-config.ts (1)
32-36: LGTM: Shell platform configuration is well-structured.The Shell platform with Docker, Git, and pnpm frameworks is correctly added to the platform configuration. The internal-only usage pattern (filtered from UI selectors) is properly implemented in consuming components.
docs/code-examples/self-host.ts (1)
1-106: Well-structured code examples file.The examples follow the
CodeExampletype contract correctly and provide clear, organized shell commands for all self-hosting scenarios.docs/content/docs/(guides)/others/self-host.mdx (2)
6-8: Good use of danger Info component for critical warning.The prominent warning about self-hosting responsibilities is appropriate and helps set user expectations upfront.
39-46: Consistent use of PlatformCodeblock for shell examples.The migration from inline code to
PlatformCodeblockcomponents withhidePlatformSelectorprovides a cleaner, more maintainable approach for shell command documentation.docs/src/components/mdx/platform-codeblock.tsx (2)
127-131: Clean prop addition with appropriate JSDoc.The
hidePlatformSelectorprop is well-documented and the default value offalsemaintains backward compatibility.Also applies to: 247-248
552-640: Well-structured dropdown rendering logic.The conditional rendering based on
hidePlatformSelectorand the single-platform optimization (platformNames.length === 1 && currentFrameworks.length === 1) are sensible improvements. The two-step platform/framework selection UI with back navigation is intuitive.
Preview Screenshots⏳ Preview screenshots are being captured... Workspace and dev browser links will appear here once the preview environment is ready. Generated by cmux preview system |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/content/docs/(guides)/customization/page-examples/sign-up.mdx (1)
39-39: Broken link: inconsistent path spelling.This link uses
signin(no hyphen) while line 28 usessign-in(hyphenated). Given the file naming convention uses hyphens (e.g.,sign-up.mdx), this link is likely broken.🔗 Proposed fix
-Magic link sign-in and sign-up shares the same function. Check out the [Sign In example](/customization/page-examples/signin#custom-magic-link-sign-in) for more information. +Magic link sign-in and sign-up shares the same function. Check out the [Sign In example](/customization/page-examples/sign-in#custom-magic-link-sign-in) for more information.
🤖 Fix all issues with AI agents
In @docs/content/docs/(guides)/concepts/auth-providers/github.mdx:
- Around line 15-18: Replace incorrect capitalization of the brand name in the
Info block: change any instance of "Github" (e.g., "Github OAuth App") to the
correct "GitHub" so the text reads consistently (e.g., "GitHub OAuth App");
update all occurrences in the shown Info block and any nearby lines to use
"GitHub".
- Around line 45-48: Update the accordion section title and step heading to
correct capitalization and grammar: change the Accordion title string from
"Github OAuth App installation" to "GitHub OAuth App installation" and change
the Step heading text from "Create a OAuth App" to "Create an OAuth App" (locate
the strings in the Accordion/Step components shown in the diff).
🧹 Nitpick comments (2)
docs/src/app/docs/[[...slug]]/page.tsx (1)
27-37: Add input validation for defensive coding.If
dateStringdoesn't match the expected "YYYY-MM-DD" format (e.g., malformed frontmatter), this will silently produce garbage output like "undefined NaNth, NaN" rather than failing clearly.Per coding guidelines on defensive coding, consider validating the format:
Suggested defensive implementation
function formatDate(dateString: string): string { // Parse date parts directly to avoid timezone issues // (new Date("2026-01-12") is interpreted as UTC, which can shift the day in local time) - const [year, month, day] = dateString.split('-').map(Number); + const parts = dateString.split('-').map(Number); + if (parts.length !== 3 || parts.some(isNaN)) { + console.warn(`Invalid date format: "${dateString}", expected "YYYY-MM-DD"`); + return dateString; // Fallback to raw string + } + const [year, month, day] = parts; const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + if (month < 1 || month > 12) { + return dateString; + } const suffix = day === 1 || day === 21 || day === 31 ? 'st' : day === 2 || day === 22 ? 'nd' : day === 3 || day === 23 ? 'rd' : 'th'; return `${months[month - 1]} ${day}${suffix}, ${year}`; }docs/code-examples/customization.ts (1)
78-86: Consider awaiting the asynconSubmitcall in form handlers.The form submission pattern
onSubmit={(e) => { e.preventDefault(); onSubmit(); }}doesn't await the async function, effectively voiding the returned promise. While these are documentation examples, users will copy this pattern. Consider using an async arrow function for better practice:✨ Suggested pattern for form handlers
- <form onSubmit={(e) => { e.preventDefault(); onSubmit(); } }> + <form onSubmit={async (e) => { e.preventDefault(); await onSubmit(); }}>This pattern should be applied consistently in lines 80, 127, and 194.
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
docs/code-examples/customization.tsdocs/code-examples/index.tsdocs/content/docs/(guides)/concepts/auth-providers/github.mdxdocs/content/docs/(guides)/customization/page-examples/sign-in.mdxdocs/content/docs/(guides)/customization/page-examples/sign-up.mdxdocs/content/docs/(guides)/others/self-host.mdxdocs/src/app/docs/[[...slug]]/page.tsx
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{tsx,ts,jsx,js}
📄 CodeRabbit inference engine (AGENTS.md)
For blocking alerts and errors, never use
toast; instead, use alerts as toasts are easily missed by the user
Files:
docs/src/app/docs/[[...slug]]/page.tsxdocs/code-examples/index.tsdocs/code-examples/customization.ts
**/*.{tsx,css}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{tsx,css}: Keep hover/click animations snappy and fast; don't delay actions with pre-transitions (e.g., no fade-in on button hover) as it makes UI feel sluggish; instead apply transitions after the action like smooth fade-out when hover ends
When creating hover transitions, avoid hover-enter transitions and use only hover-exit transitions (e.g.,transition-colors hover:transition-none)
Files:
docs/src/app/docs/[[...slug]]/page.tsx
**/*.{tsx,ts}
📄 CodeRabbit inference engine (AGENTS.md)
NEVER use Next.js dynamic functions if avoidable; prefer using client components instead to keep pages static (e.g., use
usePathnameinstead ofawait params)
Files:
docs/src/app/docs/[[...slug]]/page.tsxdocs/code-examples/index.tsdocs/code-examples/customization.ts
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx,js,jsx}: NEVER try-catch-all, NEVER void a promise, and NEVER use .catch(console.error) or similar; use loading indicators instead; if asynchronous handling is necessary, userunAsynchronouslyorrunAsynchronouslyWithAlertinstead
Use ES6 maps instead of records wherever possible
Files:
docs/src/app/docs/[[...slug]]/page.tsxdocs/code-examples/index.tsdocs/code-examples/customization.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Code defensively; prefer?? throwErr(...)over non-null assertions with good error messages explicitly stating violated assumptions
Avoid theanytype; when necessary, leave a comment explaining why it's used, why the type system fails, and how errors would be caught at compile-, test-, or runtime
Files:
docs/src/app/docs/[[...slug]]/page.tsxdocs/code-examples/index.tsdocs/code-examples/customization.ts
🧠 Learnings (3)
📚 Learning: 2026-01-07T00:55:19.871Z
Learnt from: CR
Repo: stack-auth/stack-auth PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-07T00:55:19.871Z
Learning: Applies to {packages/stack,packages/js}/**/*.{ts,tsx,js,jsx} : NEVER UPDATE packages/stack OR packages/js; instead, update packages/template as those packages are copies of it
Applied to files:
docs/content/docs/(guides)/others/self-host.mdx
📚 Learning: 2026-01-07T00:55:19.871Z
Learnt from: CR
Repo: stack-auth/stack-auth PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-07T00:55:19.871Z
Learning: The project uses Next.js with App Router framework for the backend, dashboard, and dev-launchpad apps
Applied to files:
docs/content/docs/(guides)/others/self-host.mdx
📚 Learning: 2025-12-03T07:19:44.433Z
Learnt from: madster456
Repo: stack-auth/stack-auth PR: 1040
File: packages/stack-shared/src/interface/crud/oauth-providers.ts:62-87
Timestamp: 2025-12-03T07:19:44.433Z
Learning: In packages/stack-shared/src/interface/crud/oauth-providers.ts and similar CRUD files, the tag "Oauth" (not "OAuth") is the correct capitalization format as it's used by the documentation generation system and follows OpenAPI conventions.
Applied to files:
docs/content/docs/(guides)/concepts/auth-providers/github.mdx
🧬 Code graph analysis (2)
docs/code-examples/index.ts (3)
docs/lib/code-examples.ts (1)
CodeExample(15-23)docs/code-examples/self-host.ts (1)
selfHostExamples(3-106)docs/code-examples/customization.ts (1)
customizationExamples(3-207)
docs/code-examples/customization.ts (1)
docs/lib/code-examples.ts (1)
CodeExample(15-23)
🪛 LanguageTool
docs/content/docs/(guides)/others/self-host.mdx
[style] ~42-~42: Consider a more concise word here.
Context: ...also supply a STACK_FREESTYLE_API_KEY in order to send emails with Stack Auth (can be gen...
(IN_ORDER_TO_PREMIUM)
docs/content/docs/(guides)/customization/page-examples/sign-in.mdx
[grammar] ~34-~34: Use a hyphen to join words.
Context: ...m-oauth"]} /> ## Custom Credential Sign In <PlatformCodeblock document="cust...
(QB_NEW_EN_HYPHEN)
docs/content/docs/(guides)/concepts/auth-providers/github.mdx
[grammar] ~6-~6: Use a hyphen to join words.
Context: ...lows users to sign in to your Stack Auth enabled application using their GitHub a...
(QB_NEW_EN_HYPHEN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: Vercel Agent Review
- GitHub Check: restart-dev-and-test
- GitHub Check: build (22.x)
- GitHub Check: setup-tests-with-custom-base-port
- GitHub Check: lint_and_build (latest)
- GitHub Check: E2E Tests (Node 22.x, Freestyle prod)
- GitHub Check: restart-dev-and-test-with-custom-base-port
- GitHub Check: docker
- GitHub Check: E2E Tests (Node 22.x, Freestyle mock)
- GitHub Check: all-good
- GitHub Check: build (22.x)
- GitHub Check: check_prisma_migrations (22.x)
- GitHub Check: setup-tests
🔇 Additional comments (10)
docs/content/docs/(guides)/customization/page-examples/sign-up.mdx (3)
1-4: LGTM!The
lastModifiedmetadata follows the expected ISO 8601 date format.
11-14: LGTM!The migration to
PlatformCodeblockwith centralized code examples improves maintainability and consistency across documentation.
32-35: LGTM!The
PlatformCodeblockusage for the custom credential example is consistent with the pattern established above.docs/src/app/docs/[[...slug]]/page.tsx (1)
70-74: LGTM!Good conditional rendering and appropriate muted styling for the metadata. The placement between title and description provides clear visual hierarchy.
docs/content/docs/(guides)/customization/page-examples/sign-in.mdx (1)
10-46: LGTM! Clean migration to PlatformCodeblock components.The refactoring from inline code blocks to
PlatformCodeblockcomponents is well-structured. The document path (customization/sign-in) and example names (default,custom-oauth,custom-credential,custom-magic-link) align correctly with the newcustomizationExamplesstructure indocs/code-examples/customization.ts.docs/content/docs/(guides)/others/self-host.mdx (2)
6-8: Good addition of the danger warning.The prominent danger block effectively communicates self-hosting responsibilities upfront, which is important for setting user expectations before they proceed with the setup.
40-115: Consistent use of PlatformCodeblock with hidePlatformSelector.The migration to
PlatformCodeblockcomponents withhidePlatformSelectoris appropriate for shell-only examples where platform selection isn't needed. The document paths and example names correctly reference theselfHostExamplesstructure.docs/code-examples/customization.ts (1)
1-207: Well-structured code examples conforming to CodeExample type.The examples are well-organized by section (
sign-in,sign-up) and variant, with consistent structure includinglanguage,framework,code,highlightLanguage, andfilenamefields. The'use client'directive is correctly included for client components using hooks.docs/code-examples/index.ts (1)
3-14: LGTM! Registry correctly extended with new example collections.The new imports and entries correctly integrate
selfHostExamplesunder the'others'section andcustomizationExamplesunder'customization'. The nested structure aligns with howgetExample()parses document paths (e.g.,"others/self-host"→allExamples['others']['self-host']).docs/content/docs/(guides)/concepts/auth-providers/github.mdx (1)
21-42: Good restructuring to prioritize GitHub App flow.The updated documentation correctly prioritizes GitHub App over OAuth App, with clear step-by-step instructions including the important note about minimum permissions (Email Addresses read-only). The OAuth App flow is appropriately preserved in an accordion for users who specifically need it.
Summary
This PR improves the documentation for GitHub authentication setup and self-hosting.
Changes
GitHub OAuth/App Setup Guide
Self-Hosting Documentation
Info Component
dangertype for critical warnings with red accent stylingPlatformCodeblock Component
hidePlatformSelectorprop to hide platform dropdown for single-platform code examplesPlatform Config
Summary by CodeRabbit
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.