Skip to content

Generate object reference docs - #3286

Merged
alexisintech merged 45 commits into
mainfrom
aa/generate-object-docs
Jun 4, 2026
Merged

Generate object reference docs#3286
alexisintech merged 45 commits into
mainfrom
aa/generate-object-docs

Conversation

@alexisintech

@alexisintech alexisintech commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

⚠️ In conjunction with clerk/javascript#8276
⚠️ Pulled in Typedoc changes [ci] Update Typedoc (8e1bd48) - Core 3

To test:

What does this solve? What changed?

It's time to get our /objects reference docs generated using typedoc!

Related resources

clerk/javascript PR
https://linear.app/clerk/issue/DOCS-11789/generate-objects-docs

@vercel

vercel Bot commented Apr 13, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
clerk-docs Ready Ready Preview Jun 4, 2026 7:20pm

Request Review

@alexisintech alexisintech changed the title generate clerk object Generate object reference docs Apr 13, 2026
@SarahSoutoul

SarahSoutoul commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Okay, have pushed a minor docs review - clerk-options after reviewing the Typedoc output of the shared/clerk-options. Only does two things:

  • Adds a missing sentence which is present on the current docs.
  • Fixes the weird layout caused by wrapping.
Screenshot 2026-04-15 at 3 03 00 pm

Will continue reviewing and push a second docs review with the rest.

@SarahSoutoul

Copy link
Copy Markdown
Contributor

@alexisintech Here is a second docs review pt 2 to just add the Typedoc outputs for the intros of each object.

Noticed they were there, looked good, but weren't being used. Again, if you don't love it, feel free to revert. This is in conjunction with the docs review in javascript repo which documents the intro of the Clerk object better.

@alexisintech

Copy link
Copy Markdown
Contributor Author

@alexisintech Here is a second docs review pt 2 to just add the Typedoc outputs for the intros of each object.

Noticed they were there, looked good, but weren't being used. Again, if you don't love it, feel free to revert. This is in conjunction with the docs review in javascript repo which documents the intro of the Clerk object better.

me personally, I liked having the intro text in the mdx but your way of using typedoc for the intro text is fine too. I prefer the first way because if we ever want to update copy, we don't have to rely on a clerk/javascript PR (its fine for generated reference content because that's the point of it! but in the name of trying to minimize generating prose). however, either way we decide, I'm impartial ^~^

@SarahSoutoul

Copy link
Copy Markdown
Contributor

me personally, I liked having the intro text in the mdx but your way of using typedoc for the intro text is fine too. I prefer the first way because if we ever want to update copy, we don't have to rely on a clerk/javascript PR (its fine for generated reference content because that's the point of it! but in the name of trying to minimize generating prose). however, either way we decide, I'm impartial ^~^

@alexisintech Yeah that's very fair feedback. Reverted changes: Revert 2nd docs review.

… public-user-data intro

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@manovotny

Copy link
Copy Markdown
Contributor

Pushed some changes directly in fb691ec.

  • Fixed load() signature in clerk.mdx — was function load(...) => Promise<void>, which is invalid TS; now function load(...): Promise<void>. Dropped the {{ prettier: false }} directive since it's no longer needed.
  • Updated the inline SessionVerifyPrepareFirstFactorParams snippet in session.mdx to match source: PasskeyConfigPassKeyConfig (renamed at both the union site and the inline type definition), and the enterprise branch is now Omit<EnterpriseSSOConfig, 'actionCompleteRedirectUrl'> to mirror packages/shared/src/types/session.ts:539.
  • Swapped <Typedoc src=".../on" /> and <Typedoc src=".../off" /> in clerk.mdx so the order is alphabetical, matching the rest of the file.
  • Restored the intro sentence "Information about the user that's publicly available." to public-user-data.mdx, since handle-o-auth-callback-params.mdx sets that as the precedent among the newly-added type pages.

LMK if these look good to you. Leaveing a few comments for things I felt less confident on.

Comment thread docs/reference/objects/clerk.mdx
Comment thread docs/reference/objects/api-keys.mdx Outdated
Comment thread docs/reference/objects/user.mdx
Comment thread docs/reference/objects/session.mdx
Co-authored-by: Michael Novotny <manovotny@gmail.com>
@alexisintech
alexisintech changed the base branch from main to typedoc-8e1bd48 June 3, 2026 22:29
@alexisintech
alexisintech changed the base branch from typedoc-8e1bd48 to main June 3, 2026 23:50
Co-authored-by: Alexis Aguilar <98043211+alexisintech@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Novotny <manovotny@gmail.com>
Co-authored-by: Sarah Soutoul <sarah@clerk.dev>
Co-authored-by: Nicolas Angelo <nick.angelo.scott@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

⚠️ TypeDoc files detected in this PR

This PR modifies files in the 'clerk-typedoc/' folder. These files are auto-generated from the clerk/javascript repository and should not be edited directly.

To make changes to TypeDoc documentation:

  1. 🔄 Make your changes in the appropriate files in the clerk/javascript repository.
  2. 🚀 The TypeDoc documentation will be pulled through to this repository via a CI action.

Thanks for contributing! 🙏

@alexisintech

Copy link
Copy Markdown
Contributor Author

waiting on docs(shared): Fix Typedoc links to get merged
which will fix these build errors 🙏

Co-authored-by: Alexis Aguilar <98043211+alexisintech@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Novotny <manovotny@gmail.com>
Co-authored-by: Sarah Soutoul <sarah@clerk.dev>
Co-authored-by: Nicolas Angelo <nick.angelo.scott@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@manovotny

Copy link
Copy Markdown
Contributor

Pushed a small follow-up in b3803bb.

  • Tightened the APIKeys properties intro. The wording I'd suggested earlier ("Methods on the APIKeys object return APIKeyResource instances") was slightly off — getAll() returns a ClerkPaginatedResponse<APIKeyResource>, not a bare instance, and reload() is a method on APIKeyResource itself. Reworded to "The APIKeys methods create, list, and revoke APIKeyResource objects," which maps cleanly to the three namespace methods.

LMK if this looks good to you. Posting one more question.

| <a id="issignedin"></a> `isSignedIn` | `boolean` | Indicates whether the current user has a valid signed-in client session. |
| <a id="isstandardbrowser"></a> `isStandardBrowser` | <code>undefined \| boolean</code> | Indicates whether the instance is being loaded in a standard browser environment. Set to `false` on native platforms where cookies cannot be set. When `undefined`, Clerk assumes a standard browser. |
| <a id="loaded"></a> `loaded` | `boolean` | Indicates whether the `Clerk` object is ready for use. Set to `false` when the `status` is `"loading"`. Set to `true` when the `status` is `"ready"` or `"degraded"`. |
| <a id="oauthapplication"></a> `oauthApplication` | [`OAuthApplicationNamespace`](../o-auth-application-namespace.mdx) | OAuth application helpers (e.g. consent metadata for custom consent UIs). |

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.

The oauthApplication row renders as [OAuthApplicationNamespace](../o-auth-application-namespace.mdx) — a raw relative .mdx path that leaks into all 11 SDK-scoped rendered clerk.mdx pages (its table siblings organization/session/user resolve to real /docs/... routes via SDKLink).

Root cause is upstream: o-auth-application-namespace isn't in LINK_REPLACEMENTS in clerk/javascript's .typedoc/custom-plugin.mjs (siblings like o-auth-consent-info and organization-resource are).

Heads up that build:tsx doesn't catch this — the link validator skips relative .mdx links inside embedded Typedoc tables, so the clean build isn't proof here.

Fix would be adding the mapping there + likely a routed docs/reference/types/oauth-application-namespace.mdx page (parallel to the image-resource page this PR adds), then regenerate. Worth a ticket like the others?

@alexisintech alexisintech Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yes we can update this as a followup based on this PR: https://github.com/clerk/clerk-docs/pull/3315/changes#diff-4758545ec3ecda5309aeef6572743a8c3613c42b0f0e40128f2a93a6eb4c9bbc
if we update the link now, there's nothing to point it to because the oauth stuff doesn't exist yet.

I've created a ticket https://linear.app/clerk/issue/DOCS-11827/typedoc-oauthapplicationnamespace-needs-a-replacement

@alexisintech
alexisintech merged commit 63c5217 into main Jun 4, 2026
9 checks passed
@alexisintech
alexisintech deleted the aa/generate-object-docs branch June 4, 2026 19:31
@manovotny manovotny self-assigned this Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants