doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

doc: migrate more auth guide to v3 - #511

Merged
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide
Nov 18, 2025
Merged

doc: migrate more auth guide to v3#511
ymc9 merged 2 commits into
mainfrom
doc/more-auth-guide

Conversation

@ymc9

@ymc9ymc9 commented Nov 18, 2025

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Better-Auth guide updated with a sidebar label, clarified examples, and a recommended pattern to use an auth-enabled ORM client plus guidance on creating user-bound clients.
    • New Clerk authentication integration guide covering setup, model/configuration guidance, user sync, and creating user-bound ORM clients.
    • New custom authentication guide with required auth-field mapping, runtime user retrieval advice, and user-bound client examples.

@vercel

vercelBot commented Nov 18, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
zenstack-new-siteReadyReadyPreviewCommentNov 18, 2025 5:51pm

@coderabbitai

coderabbitaiBot commented Nov 18, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Adds/edits documentation in v3.x auth integration: updates Better-Auth examples to use an auth-enabled ORM client (authDb.$setAuth(...)) and adds two new recipe pages for Clerk and custom authentication, both showing how to create user-bound ORM clients via $setAuth().

Changes

Cohort / File(s)Change Summary
Better-Auth update
versioned_docs/version-3.x/recipe/auth-integration/better-auth.md
Added sidebar_label metadata, clarified import comments, and replaced db.$setAuth(...) usages with authDb.$setAuth(...), plus guidance line about creating user-bound ORM clients after obtaining session data.
Clerk integration guide (new)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md
New page describing Clerk setup with ZenStack, ZModel @@auth usage, Post model example, user sync guidance, and server-side examples that obtain Clerk session (auth()) and call $setAuth() on an auth-enabled ORM client.
Custom auth guide (new)
versioned_docs/version-3.x/recipe/auth-integration/custom.md
New page describing required auth fields (id, role, permissions), mapping auth() to a model/type, runtime user resolution (JWT/service), and example creating a user-bound ORM client via ZenStackClient.$setAuth(...).

Sequence Diagram(s)

sequenceDiagram
autonumber
actor Client
participant Server
participant AuthService as Auth Service
participant AuthDB as authDb (ORM w/ access policy)
Client->>Server: Request (authenticated)
Server->>AuthService: retrieve session / current user
AuthService-->>Server: user { id, role, ... }
note right of Server `#DDEBF7`: create user-bound ORM client
Server->>AuthDB: authDb.$setAuth({ userId, role, ... })
AuthDB-->>Server: auth-enabled client ready
Server->>AuthDB: perform DB operations (enforced by access policies)
AuthDB-->>Server: query/mutation results
Server-->>Client: response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Docs-only changes, consistent patterns across files.
  • Pay attention to:
    • Correctness of updated code snippets (imports and authDb usage).
    • Accurate explanation of @@auth mapping and required auth fields.
    • Consistency between Clerk examples and server helper usage.

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: migrating additional authentication guides to version 3. It directly matches the changeset which adds/updates three auth integration documentation files (Better-Auth, Clerk, and custom auth) for the v3 documentation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc/more-auth-guide

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0365a5c and c82bc0a.

📒 Files selected for processing (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md

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.

❤️ Share

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56847d8 and 0365a5c.

📒 Files selected for processing (3)
  • versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (5 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1 hunks)
  • versioned_docs/version-3.x/recipe/auth-integration/custom.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
versioned_docs/version-3.x/recipe/auth-integration/clerk.md

11-11: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (5)
versioned_docs/version-3.x/recipe/auth-integration/custom.md (1)

1-59: Custom auth guide is well-structured and complete.

versioned_docs/version-3.x/recipe/auth-integration/clerk.md (1)

1-9: Clerk integration guide is comprehensive and clear.

The documentation properly covers setup, schema configuration, and the user-bound ORM client creation pattern with clear code examples for Next.js.

versioned_docs/version-3.x/recipe/auth-integration/better-auth.md (3)

3-3: Metadata update is appropriate.


29-31: Import comment and pattern are clear.

The clarifying comment for the auth-enabled ORM client and the shift to authDb import align with the v3 migration pattern shown in the other auth integration guides.


85-89: Consistent migration to user-bound ORM pattern.

Both code examples properly switch from db.$setAuth() to authDb.$setAuth(), maintaining consistency with the new authentication integration approach across all guides.

Also applies to: 120-121

Comment threadversioned_docs/version-3.x/recipe/auth-integration/clerk.md Outdated
@ymc9
ymc9 merged commit 0449518 into mainNov 18, 2025
4 checks passed
@ymc9
ymc9 deleted the doc/more-auth-guide branch November 18, 2025 17:51
Sign up for freeto 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.

1 participant

@ymc9