Skip to content

update domain#225

Open
eluce2 wants to merge 3 commits intomainfrom
feature/docs-proofsh-domain
Open

update domain#225
eluce2 wants to merge 3 commits intomainfrom
feature/docs-proofsh-domain

Conversation

@eluce2
Copy link
Copy Markdown
Collaborator

@eluce2 eluce2 commented Apr 26, 2026

Swaps all proofkit.dev refs to proofkit.proof.sh.

  • docs, metadata, templates, generated assets
  • added changeset for published packages
  • CI passed

Summary by CodeRabbit

  • Chores
    • Applied patch version bumps via a changeset; updated documentation/asset/config links from proofkit.dev to proofkit.proof.sh across READMEs, package metadata, CLI messaging, templates, email assets, sitemaps, demo manifest URLs, and typegen $schema references.
  • Documentation
    • Added a CLI flow audit documenting command routing, legacy branches, gaps, and a remediation checklist.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 26, 2026

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

Project Deployment Actions Updated (UTC)
proofkit-docs Ready Ready Preview Apr 26, 2026 4:41pm

Request Review

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 26, 2026

🦋 Changeset detected

Latest commit: 6a98233

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@proofkit/cli Patch
@proofkit/better-auth Patch
@proofkit/fmdapi Patch
@proofkit/typegen Patch
@proofkit/webviewer Patch
create-proofkit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@eluce2 eluce2 changed the title [codex] docs domain swap update domain Apr 26, 2026
@eluce2 eluce2 marked this pull request as ready for review April 26, 2026 16:22
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 26, 2026

Open in StackBlitz

@proofkit/better-auth

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/better-auth@225

@proofkit/cli

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/cli@225

create-proofkit

pnpm add https://pkg.pr.new/proofsh/proofkit/create-proofkit@225

@proofkit/fmdapi

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/fmdapi@225

@proofkit/fmodata

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/fmodata@225

@proofkit/typegen

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/typegen@225

@proofkit/webviewer

pnpm add https://pkg.pr.new/proofsh/proofkit/@proofkit/webviewer@225

commit: 6a98233

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 26, 2026

📝 Walkthrough

Walkthrough

Migrates documentation and asset domain references from proofkit.dev to proofkit.proof.sh across docs, package metadata, CLI constants, templates, localization strings, typegen schema refs, generated headers, and one new CLI audit doc. No runtime logic or public API signatures were meaningfully changed.

Changes

Cohort / File(s) Summary
Changesets & Release Docs
\.changeset/brown-owls-bake.md, Auto Run Docs/Initiation/.../RELEASE-READINESS-*.md
Adds changeset and updates release-readiness checklists to the new documentation domain.
Docs App Config & Metadata
apps/docs/src/app/layout.tsx, apps/docs/src/app/robots.ts, apps/docs/src/app/sitemap.ts, apps/docs/src/app/.../page.tsx, apps/docs/src/app/llms.txt/route.ts, apps/docs/src/lib/get-llm-text.ts
Switches Next metadataBase, sitemap/robots/base URLs, and generated/plain-text links to proofkit.proof.sh.
Documentation Content & Examples
apps/docs/content/docs/fmdapi/quick-start.mdx, apps/docs/content/docs/typegen/config*.mdx, README.md, packages/*/README.md, packages/*/SKILL.md
Replaces proofkit.dev with proofkit.proof.sh in docs, examples, and README links (including $schema references).
CLI Packages (current & legacy)
packages/cli/src/consts.ts, packages/cli/src/generators/fmdapi.ts, packages/cli/src/installers/*, packages/cli/src/services/live.ts, packages/cli/src/utils/projectFiles.ts, packages/cli-old/..., packages/cli/README.md, packages/cli-old/README.md
Updates DOCS_URL, DEFAULT_REGISTRY_URL fallback, AGENT_INSTRUCTIONS, schema URIs, installer/help/manifests, demo manifest URLs, and related placeholders to new domain.
Templates & Email Assets
packages/cli/template/extras/emailTemplates/*, packages/cli-old/template/extras/emailTemplates/*, packages/registry/templates/email/*/*
Swapped logo image URLs and preview CTA/docs links to proofkit.proof.sh.
Auth Form Placeholders & Comments
packages/cli/template/extras/fmaddon-auth/app/auth/*/*.tsx, packages/cli-old/template/extras/fmaddon-auth/...
Updated example email placeholders and inline TODO links to the new domain.
FM Addon Localization & Metadata
packages/cli/template/fm-addon/ProofKitAuth/*.xml, packages/cli-old/template/fm-addon/ProofKitAuth/*.xml, packages/cli/template/fm-addon/ProofKitWV/info.json, packages/cli-old/template/fm-addon/ProofKitWV/info.json
Replaced proofkit.dev with proofkit.proof.sh across localized XML strings and addon info JSON files.
Typegen Configs & Stubs
packages/typegen/proofkit-typegen*.jsonc, packages/cli/template/vite-wv/proofkit-typegen.config.jsonc, packages/registry/templates/fmdapi/proofkit-typegen.config.jsonc, packages/typegen/stubs/*
Updated $schema URIs in typegen config files and stubs to the new domain.
Typegen Server & Generated Files
packages/typegen/src/server/api.ts, packages/typegen/src/server/app.ts, packages/typegen/src/constants.ts, packages/typegen/live-fm-mcp-output/client/contacts.ts, packages/typegen/tests/__snapshots__/*
Changed injected $schema values and generated-file/snapshot header links to proofkit.proof.sh.
Registry & Template READMEs
packages/registry/templates/better-auth/auth.hbs, packages/registry/templates/table/basic/README.hbs
Updated example/docs links in registry templates and README templates.
Misc Package Metadata
packages/*/package.json (homepage fields), e.g., packages/better-auth/package.json, packages/webviewer/package.json, packages/typegen/package.json
Updated homepage and package README links to point to proofkit.proof.sh.
New Audit Doc
packages/cli/CLI_FLOW_AUDIT.md
Adds a CLI flow audit (Mermaid diagrams and remediation notes); content documents command flow and legacy branches (not part of the domain migration).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Remove registry-backed add flow #224 — Modifies CLI registry-related constants/URLs; touches the same symbols (DOCS_URL / DEFAULT_REGISTRY_URL) and may conflict or overlap with registry URL logic changes.
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.41% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'update domain' is vague and generic; it does not clearly convey that the change swaps the documentation domain from proofkit.dev to proofkit.proof.sh across the entire repository. Use a more descriptive title such as 'Swap documentation domain from proofkit.dev to proofkit.proof.sh' to clearly communicate the scope and purpose of the change.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/docs-proofsh-domain

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🧹 Nitpick comments (8)
apps/docs/src/lib/get-llm-text.ts (1)

31-33: Centralize the docs origin to avoid future drift.

Line 32 hardcodes the docs origin inline. Consider extracting it to a single constant (or shared config) so future domain updates don’t require touching multiple files.

💡 Suggested refactor
+const DOCS_ORIGIN = "https://proofkit.proof.sh";

 export async function getLLMText(page: InferPageType<typeof source>): Promise<string> {
@@
   return `# ${page.data.title}
-URL: https://proofkit.proof.sh${page.url}
+URL: ${DOCS_ORIGIN}${page.url}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/docs/src/lib/get-llm-text.ts` around lines 31 - 33, The template in
get-llm-text.ts hardcodes the docs origin ("https://proofkit.proof.sh"); extract
that value into a single constant (e.g., DOCS_ORIGIN) or import a shared config
value and use it in the returned template (the string that currently uses
page.url), replacing the inline literal so all references use DOCS_ORIGIN;
update the return template to reference DOCS_ORIGIN when building the URL and
add an exported/centralized constant or import so future domain changes only
require updating one place.
packages/cli/src/installers/nextAuth.ts (1)

186-188: Avoid hardcoding the docs base URL in installer output.

Use the existing DOCS_URL constant (packages/cli/src/consts.ts) so future domain changes only require one update.

♻️ Suggested refactor
-import { PKG_ROOT } from "~/consts.js";
+import { DOCS_URL, PKG_ROOT } from "~/consts.js";
@@
   console.log(
     `${chalk.yellowBright("You must now install the NextAuth addon in your FileMaker file.")}
-Learn more: https://proofkit.proof.sh/auth/next-auth\n`,
+Learn more: ${DOCS_URL}/auth/next-auth\n`,
   );

As per coding guidelines, "Use meaningful variable names instead of magic numbers - extract constants with descriptive names".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/src/installers/nextAuth.ts` around lines 186 - 188, Replace the
hardcoded docs URL in the NextAuth installer output with the shared DOCS_URL
constant: import DOCS_URL from the existing consts module
(packages/cli/src/consts.ts) and use it in the template string inside the
function that prints the message (the string currently containing
"https://proofkit.proof.sh/auth/next-auth\n"). Update the message construction
in the NextAuth installer (nextAuth.ts) to reference DOCS_URL so future domain
changes are centralized.
apps/docs/src/app/sitemap.ts (1)

4-4: Consider centralizing the docs base URL constant.

Line [4] is correct, but the same domain is duplicated in apps/docs/src/app/robots.ts and apps/docs/src/app/layout.tsx. A shared constant would reduce drift in future domain changes.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/docs/src/app/sitemap.ts` at line 4, The BASE_URL string is duplicated
across BASE_URL in sitemap.ts and also used in robots.ts and layout.tsx; create
a single exported constant (e.g., export const DOCS_BASE_URL) in a shared module
(e.g., apps/docs/src/constants or config) and replace the inline string usages
in sitemap.ts (BASE_URL), robots.ts, and layout.tsx to import and use that
constant so future domain changes are made in one place.
packages/typegen/src/server/api.ts (1)

115-115: Centralize the typegen schema URL constant.

Line [115] is correct, but this URL should live in one shared constant (used by both API and app config writers) to avoid future divergence.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/typegen/src/server/api.ts` at line 115, Centralize the hardcoded
schema URL by extracting the string used for the "$schema" key into a single
exported constant (e.g., TYPEGEN_SCHEMA_URL) in a shared module (like a
new/typegen constants file) and replace the inline string in the API writer (the
location that currently sets $schema:
"https://proofkit.proof.sh/typegen-config-schema.json") with an import of that
constant; also update the app config writer to import and use the same constant
so both writers reference the single source of truth.
packages/cli/src/installers/install-fm-addon.ts (1)

219-219: Deduplicate add-on docs URLs to one source of truth.

The same docs URLs are repeated in multiple places. A small Record<FmAddonName, string> constant would avoid future mismatches.

♻️ Suggested refactor
+const ADDON_DOCS_URL: Record<FmAddonName, string> = {
+  auth: "https://proofkit.proof.sh/auth/fm-addon",
+  wv: "https://proofkit.proof.sh/webviewer",
+};

 export function getFmAddonInstallInstructions(addonName: FmAddonName) {
@@
-    docsUrl: addonName === "auth" ? "https://proofkit.proof.sh/auth/fm-addon" : "https://proofkit.proof.sh/webviewer",
+    docsUrl: ADDON_DOCS_URL[addonName],
@@
-      )} ${chalk.dim("(Learn more: https://proofkit.proof.sh/auth/fm-addon)")}`,
+      )} ${chalk.dim(`(Learn more: ${ADDON_DOCS_URL.auth})`)}`,
@@
-      )} ${chalk.dim("(Learn more: https://proofkit.proof.sh/webviewer)")}`,
+      )} ${chalk.dim(`(Learn more: ${ADDON_DOCS_URL.wv})`)}`,

Also applies to: 251-257

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/src/installers/install-fm-addon.ts` at line 219, Create a single
source-of-truth mapping for add-on docs by defining a constant
Record<FmAddonName, string> (e.g., ADDON_DOCS_URLS) and use it wherever docsUrl
is set; replace the inline ternary at docsUrl (currently using addonName ===
"auth" ? ...) and the other repeated blocks (lines around 251-257) to reference
ADDON_DOCS_URLS[addonName]; ensure the mapping keys match the FmAddonName union
and import or declare FmAddonName where needed so all references (docsUrl,
addonName, any helper functions in install-fm-addon.ts) use the central
constant.
packages/cli-old/src/installers/install-fm-addon.ts (2)

42-42: Refactor to use DOCS_URL constant instead of hardcoding.

Same issue as line 36—the URL should use the DOCS_URL constant from ~/consts.js.

♻️ Proposed refactor
       `${chalk.yellowBright(
         "You must install the ProofKit WebViewer addon in your FileMaker file to continue.",
-      )} ${chalk.dim("(Learn more: https://proofkit.proof.sh/webviewer)")}`,
+      )} ${chalk.dim(`(Learn more: ${DOCS_URL}/webviewer)`)}`,

As per coding guidelines: "Use meaningful variable names instead of magic numbers - extract constants with descriptive names."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli-old/src/installers/install-fm-addon.ts` at line 42, Replace the
hardcoded "https://proofkit.proof.sh/webviewer" URL in the template literal
inside install-fm-addon.ts with the DOCS_URL constant from ~/consts.js: import
DOCS_URL and use it to build the path (e.g., `${DOCS_URL}/webviewer`) where the
current string has "(Learn more: https://proofkit.proof.sh/webviewer)"; update
the template literal and add the import for DOCS_URL so the message uses the
constant instead of a magic string.

36-36: Refactor to use DOCS_URL constant instead of hardcoding.

The URL is hardcoded when a DOCS_URL constant is already exported from ~/consts.js. Using the constant improves maintainability and follows DRY principles.

♻️ Proposed refactor

Import the constant at the top of the file:

 import { PKG_ROOT } from "~/consts.js";
+import { DOCS_URL } from "~/consts.js";
 import { logger } from "~/utils/logger.js";

Then use it in the message:

       `${chalk.yellowBright(
         "You must install the FM Auth addon in your FileMaker file to continue.",
-      )} ${chalk.dim("(Learn more: https://proofkit.proof.sh/auth/fm-addon)")}`,
+      )} ${chalk.dim(`(Learn more: ${DOCS_URL}/auth/fm-addon)`)}`,

As per coding guidelines: "Use meaningful variable names instead of magic numbers - extract constants with descriptive names."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli-old/src/installers/install-fm-addon.ts` at line 36, Replace the
hardcoded docs link in install-fm-addon.ts with the exported DOCS_URL constant:
add an import for DOCS_URL from '~/consts.js' at the top of the file, then
update the template string that currently contains "(Learn more:
https://proofkit.proof.sh/auth/fm-addon)" to use DOCS_URL (e.g., interpolate or
concatenate DOCS_URL with "/auth/fm-addon") so the message uses DOCS_URL instead
of the literal URL.
packages/cli/src/generators/fmdapi.ts (1)

75-76: Extract the schema URL into a shared constant.

The same schema string is repeated in multiple places, which makes future domain/schema updates easy to miss.

♻️ Proposed refactor
 interface FullProofkitTypegenJsonFile {
   $schema?: string;
   config: AnyDataSourceConfig | AnyDataSourceConfig[];
 }
 
 const typegenConfigFileName = "proofkit-typegen.config.jsonc";
+const TYPEGEN_CONFIG_SCHEMA_URL = "https://proofkit.proof.sh/typegen-config-schema.json" as const;
...
     return {
-      $schema: "https://proofkit.proof.sh/typegen-config-schema.json",
+      $schema: TYPEGEN_CONFIG_SCHEMA_URL,
       config: [],
     };
...
     fileContent = {
-      $schema: "https://proofkit.proof.sh/typegen-config-schema.json",
+      $schema: TYPEGEN_CONFIG_SCHEMA_URL,
       config: [],
     };
...
     fileContent = {
-      $schema: "https://proofkit.proof.sh/typegen-config-schema.json",
+      $schema: TYPEGEN_CONFIG_SCHEMA_URL,
       config: configsToAdd,
     };
...
     fileContent = {
-      $schema: "https://proofkit.proof.sh/typegen-config-schema.json",
+      $schema: TYPEGEN_CONFIG_SCHEMA_URL,
       config: [newConfig],
     };
...
     fileContent = {
-      $schema: "https://proofkit.proof.sh/typegen-config-schema.json",
+      $schema: TYPEGEN_CONFIG_SCHEMA_URL,
       config: [newDataSource],
     };

As per coding guidelines, **/*.{js,jsx,ts,tsx}: Use meaningful variable names instead of magic numbers - extract constants with descriptive names.

Also applies to: 117-118, 192-193, 235-236, 405-406

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/src/generators/fmdapi.ts` around lines 75 - 76, Replace the
repeated literal "https://proofkit.proof.sh/typegen-config-schema.json" with a
single descriptive constant (e.g. TYPEGEN_CONFIG_SCHEMA_URL) and use that
constant wherever the $schema string is currently inlined (including the
occurrences referenced around lines 75-76, 117-118, 192-193, 235-236, 405-406);
define and export the constant from a shared location (or from the top of this
module if intended for local reuse) and update the object literals that
currently set $schema to the raw string to instead reference
TYPEGEN_CONFIG_SCHEMA_URL so future updates require changing one symbol only.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Auto` Run
Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-02.md:
- Around line 30-33: The instruction is ambiguous about whether SKILL.md
`sources` should be repository path references or public doc URLs; update
RELEASE-READINESS-02.md to state a single canonical expectation (either
repo-style references like "proofsh/proofkit:packages/typegen/src/cli.ts" or
full proofkit.proof.sh URLs), then update examples and guidance accordingly:
reference the SKILL.md `sources` frontmatter (e.g.,
packages/fmdapi/skills/typegen-fmdapi/SKILL.md) to show the preferred format,
add a note for maintainers on how to convert repo paths to public URLs (or vice
versa), and ensure the cross-linking checklist items for
apps/docs/content/docs/{package}/index.mdx and CLI help text in
packages/cli/src/ reflect that chosen format.

In `@packages/cli-old/template/extras/emailTemplates/generic.tsx`:
- Line 19: Update the broken logo URL used in the email template by replacing
the hardcoded src value
"https://proofkit.proof.sh/_astro/proofkit.DNcFg0_B_1JN3Dz.webp" with the
correct asset path on the new domain in the generic email template; locate both
occurrences referenced in the file (the img src at the top and the duplicate at
the bottom around the CTA) and update them to the verified working CDN/hosted
URL so the logo no longer 404s while leaving the CTA href
("https://proofkit.proof.sh") unchanged.

In `@packages/cli-old/template/nextjs-mantine/src/app/`(main)/page.tsx:
- Around line 45-47: The external anchor element with href
"https://proofkit.proof.sh" uses target="_blank" but its rel attribute
("proofkit-app") does not include "noopener"; update the anchor (the link
element in page.tsx that sets href="https://proofkit.proof.sh" and
target="_blank") to include "noopener" in the rel value (e.g., add or append
noopener to the existing rel string) so the link uses rel="noopener" (or
"proofkit-app noopener") to prevent the opened page from accessing
window.opener.

In `@packages/cli/template/extras/emailTemplates/auth-code.tsx`:
- Line 17: The auth-code email template (auth-code.tsx) is using an unstable
Astro build artifact URL
("https://proofkit.proof.sh/_astro/proofkit.DNcFg0_B_1JN3Dz.webp"); update the
image src in that template to the stable path used by registry templates
("https://proofkit.proof.sh/proofkit.png") so email templates don’t break after
site rebuilds—locate the src attribute in
packages/cli/template/extras/emailTemplates/auth-code.tsx and replace the hashed
_astro URL with /proofkit.png.

In `@packages/cli/template/extras/emailTemplates/generic.tsx`:
- Line 19: The logo image URL in generic.tsx (the <img
src="...proofkit.DNcFg0_B_1JN3Dz.webp"> occurrences) is 404; locate the two
img/logo usages in packages/cli/template/extras/emailTemplates/generic.tsx (the
logo image tags around the header and footer) and either update their src
attributes to a valid, deployed URL on proofkit.proof.sh or replace them with
the correct relative/CDN path for the deployed asset; alternatively ensure the
missing asset is uploaded to the new domain so the existing src resolves
successfully.

In `@packages/cli/template/extras/fmaddon-auth/emails/auth-code.tsx`:
- Line 17: The img src in the email template (auth-code.tsx) is pointing to a
broken URL "https://proofkit.proof.sh/_astro/proofkit.DNcFg0_B_1JN3Dz.webp"
which 404s; update the src value to a reachable logo asset (e.g., the project's
public/static logo or a stable CDN URL) so the <img> in auth-code.tsx loads
correctly, ensuring the new URL is absolute and accessible from email clients.

In `@packages/cli/template/nextjs-shadcn/src/app/`(main)/page.tsx:
- Line 81: The external anchor tag <a href="https://proofkit.proof.sh"
rel="noreferrer" target="_blank"> should include rel="noopener" as well to
prevent the opened page from accessing the window.opener; update the anchor in
page.tsx (the anchor element linking to https://proofkit.proof.sh) to add
"noopener" to its rel attribute (e.g., rel="noreferrer noopener").

---

Nitpick comments:
In `@apps/docs/src/app/sitemap.ts`:
- Line 4: The BASE_URL string is duplicated across BASE_URL in sitemap.ts and
also used in robots.ts and layout.tsx; create a single exported constant (e.g.,
export const DOCS_BASE_URL) in a shared module (e.g., apps/docs/src/constants or
config) and replace the inline string usages in sitemap.ts (BASE_URL),
robots.ts, and layout.tsx to import and use that constant so future domain
changes are made in one place.

In `@apps/docs/src/lib/get-llm-text.ts`:
- Around line 31-33: The template in get-llm-text.ts hardcodes the docs origin
("https://proofkit.proof.sh"); extract that value into a single constant (e.g.,
DOCS_ORIGIN) or import a shared config value and use it in the returned template
(the string that currently uses page.url), replacing the inline literal so all
references use DOCS_ORIGIN; update the return template to reference DOCS_ORIGIN
when building the URL and add an exported/centralized constant or import so
future domain changes only require updating one place.

In `@packages/cli-old/src/installers/install-fm-addon.ts`:
- Line 42: Replace the hardcoded "https://proofkit.proof.sh/webviewer" URL in
the template literal inside install-fm-addon.ts with the DOCS_URL constant from
~/consts.js: import DOCS_URL and use it to build the path (e.g.,
`${DOCS_URL}/webviewer`) where the current string has "(Learn more:
https://proofkit.proof.sh/webviewer)"; update the template literal and add the
import for DOCS_URL so the message uses the constant instead of a magic string.
- Line 36: Replace the hardcoded docs link in install-fm-addon.ts with the
exported DOCS_URL constant: add an import for DOCS_URL from '~/consts.js' at the
top of the file, then update the template string that currently contains "(Learn
more: https://proofkit.proof.sh/auth/fm-addon)" to use DOCS_URL (e.g.,
interpolate or concatenate DOCS_URL with "/auth/fm-addon") so the message uses
DOCS_URL instead of the literal URL.

In `@packages/cli/src/generators/fmdapi.ts`:
- Around line 75-76: Replace the repeated literal
"https://proofkit.proof.sh/typegen-config-schema.json" with a single descriptive
constant (e.g. TYPEGEN_CONFIG_SCHEMA_URL) and use that constant wherever the
$schema string is currently inlined (including the occurrences referenced around
lines 75-76, 117-118, 192-193, 235-236, 405-406); define and export the constant
from a shared location (or from the top of this module if intended for local
reuse) and update the object literals that currently set $schema to the raw
string to instead reference TYPEGEN_CONFIG_SCHEMA_URL so future updates require
changing one symbol only.

In `@packages/cli/src/installers/install-fm-addon.ts`:
- Line 219: Create a single source-of-truth mapping for add-on docs by defining
a constant Record<FmAddonName, string> (e.g., ADDON_DOCS_URLS) and use it
wherever docsUrl is set; replace the inline ternary at docsUrl (currently using
addonName === "auth" ? ...) and the other repeated blocks (lines around 251-257)
to reference ADDON_DOCS_URLS[addonName]; ensure the mapping keys match the
FmAddonName union and import or declare FmAddonName where needed so all
references (docsUrl, addonName, any helper functions in install-fm-addon.ts) use
the central constant.

In `@packages/cli/src/installers/nextAuth.ts`:
- Around line 186-188: Replace the hardcoded docs URL in the NextAuth installer
output with the shared DOCS_URL constant: import DOCS_URL from the existing
consts module (packages/cli/src/consts.ts) and use it in the template string
inside the function that prints the message (the string currently containing
"https://proofkit.proof.sh/auth/next-auth\n"). Update the message construction
in the NextAuth installer (nextAuth.ts) to reference DOCS_URL so future domain
changes are centralized.

In `@packages/typegen/src/server/api.ts`:
- Line 115: Centralize the hardcoded schema URL by extracting the string used
for the "$schema" key into a single exported constant (e.g., TYPEGEN_SCHEMA_URL)
in a shared module (like a new/typegen constants file) and replace the inline
string in the API writer (the location that currently sets $schema:
"https://proofkit.proof.sh/typegen-config-schema.json") with an import of that
constant; also update the app config writer to import and use the same constant
so both writers reference the single source of truth.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1fb06d2e-6a5d-4470-a89e-daec9736dc7f

📥 Commits

Reviewing files that changed from the base of the PR and between bf9fc95 and 0a302db.

📒 Files selected for processing (115)
  • .changeset/brown-owls-bake.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-01.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-02.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-03.md
  • README.md
  • apps/docs/content/docs/fmdapi/quick-start.mdx
  • apps/docs/content/docs/typegen/config-odata.mdx
  • apps/docs/content/docs/typegen/config.mdx
  • apps/docs/src/app/docs/(docs)/[[...slug]]/page.tsx
  • apps/docs/src/app/layout.tsx
  • apps/docs/src/app/llms.txt/route.ts
  • apps/docs/src/app/robots.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/src/lib/get-llm-text.ts
  • packages/better-auth/README.md
  • packages/better-auth/package.json
  • packages/cli-old/README.md
  • packages/cli-old/src/cli/add/data-source/deploy-demo-file.ts
  • packages/cli-old/src/consts.ts
  • packages/cli-old/src/generators/fmdapi.ts
  • packages/cli-old/src/installers/install-fm-addon.ts
  • packages/cli-old/src/installers/nextAuth.ts
  • packages/cli-old/template/extras/emailProviders/none/email.tsx
  • packages/cli-old/template/extras/emailTemplates/auth-code.tsx
  • packages/cli-old/template/extras/emailTemplates/generic.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/cli-old/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/info.json
  • packages/cli-old/template/fm-addon/ProofKitAuth/it.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ko.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/nl.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/template.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli-old/template/fm-addon/ProofKitWV/info.json
  • packages/cli-old/template/nextjs-mantine/README.md
  • packages/cli-old/template/nextjs-mantine/src/app/(main)/page.tsx
  • packages/cli-old/template/nextjs-shadcn/README.md
  • packages/cli-old/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli-old/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/cli-old/tsdown.config.ts
  • packages/cli/README.md
  • packages/cli/src/cli/add/data-source/deploy-demo-file.ts
  • packages/cli/src/consts.ts
  • packages/cli/src/generators/fmdapi.ts
  • packages/cli/src/installers/install-fm-addon.ts
  • packages/cli/src/installers/nextAuth.ts
  • packages/cli/src/services/live.ts
  • packages/cli/src/utils/projectFiles.ts
  • packages/cli/template/extras/emailProviders/none/email.tsx
  • packages/cli/template/extras/emailTemplates/auth-code.tsx
  • packages/cli/template/extras/emailTemplates/generic.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/cli/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli/template/fm-addon/ProofKitAuth/info.json
  • packages/cli/template/fm-addon/ProofKitAuth/it.xml
  • packages/cli/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli/template/fm-addon/ProofKitAuth/ko.xml
  • packages/cli/template/fm-addon/ProofKitAuth/nl.xml
  • packages/cli/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli/template/fm-addon/ProofKitAuth/template.xml
  • packages/cli/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli/template/fm-addon/ProofKitWV/info.json
  • packages/cli/template/fm-addon/ProofKitWV/records_de.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_en.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_es.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_fr.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_it.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_ja.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_ko.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_nl.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_pt.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_sv.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_zh.xml
  • packages/cli/template/nextjs-shadcn/README.md
  • packages/cli/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/create-proofkit/README.md
  • packages/fmdapi/README.md
  • packages/fmdapi/skills/typegen-fmdapi/SKILL.md
  • packages/fmodata/README.md
  • packages/fmodata/skills/typegen-fmodata/SKILL.md
  • packages/registry/templates/better-auth/auth.hbs
  • packages/registry/templates/email/auth-code/auth-code.tsx
  • packages/registry/templates/email/generic/generic.tsx
  • packages/registry/templates/fmdapi/proofkit-typegen.config.jsonc
  • packages/registry/templates/table/basic/README.hbs
  • packages/typegen/README.md
  • packages/typegen/live-fm-mcp-output/client/contacts.ts
  • packages/typegen/package.json
  • packages/typegen/proofkit-typegen.config.jsonc
  • packages/typegen/proofkit-typegen.fm-mcp.local.jsonc
  • packages/typegen/src/constants.ts
  • packages/typegen/src/server/api.ts
  • packages/typegen/src/server/app.ts
  • packages/typegen/stubs/proofkit-typegen.config.jsonc
  • packages/typegen/tests/__snapshots__/strict-numbers.snap.ts
  • packages/typegen/tests/__snapshots__/zod-layout-client.snap.ts
  • packages/webviewer/README.md
  • packages/webviewer/package.json

Comment on lines 30 to +33
- [ ] Improve cross-linking between docs, skills, and CLI output:
- In each package's main doc page (`apps/docs/content/docs/{package}/index.mdx`), add a "For AI Agents" callout or section at the bottom that points to the package's SKILL.md file location and the llms.txt per-package endpoint. Use a Fumadocs `Callout` component if available, or a simple blockquote.
- In each SKILL.md file's `sources` frontmatter field, verify the doc URLs point to the correct pages on proofkit.dev. Update any that are wrong or missing.
- In the CLI's help output (check `packages/cli/src/` for the main command definitions), ensure the `--help` text mentions `https://proofkit.dev/docs/cli` for full documentation.
- In each SKILL.md file's `sources` frontmatter field, verify the doc URLs point to the correct pages on proofkit.proof.sh. Update any that are wrong or missing.
- In the CLI's help output (check `packages/cli/src/` for the main command definitions), ensure the `--help` text mentions `https://proofkit.proof.sh/docs/cli` for full documentation.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Clarify SKILL.md sources format expectation.

Line 32 instructs verifying that SKILL.md sources frontmatter URLs "point to the correct pages on proofkit.proof.sh." However, the actual SKILL.md files (e.g., packages/fmdapi/skills/typegen-fmdapi/SKILL.md) use repository path references like "proofsh/proofkit:packages/typegen/src/cli.ts" rather than direct proofkit.proof.sh URLs. This task requirement may need clarification about whether sources should contain repo paths or documentation URLs.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Auto` Run
Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-02.md
around lines 30 - 33, The instruction is ambiguous about whether SKILL.md
`sources` should be repository path references or public doc URLs; update
RELEASE-READINESS-02.md to state a single canonical expectation (either
repo-style references like "proofsh/proofkit:packages/typegen/src/cli.ts" or
full proofkit.proof.sh URLs), then update examples and guidance accordingly:
reference the SKILL.md `sources` frontmatter (e.g.,
packages/fmdapi/skills/typegen-fmdapi/SKILL.md) to show the preferred format,
add a note for maintainers on how to convert repo paths to public URLs (or vice
versa), and ensure the cross-linking checklist items for
apps/docs/content/docs/{package}/index.mdx and CLI help text in
packages/cli/src/ reflect that chosen format.

Comment thread packages/cli-old/template/extras/emailTemplates/generic.tsx Outdated
Comment on lines +45 to 47
href="https://proofkit.proof.sh"
target="_blank"
rel="proofkit-app"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add noopener for the external docs link opened in a new tab.

On Line 47, rel is missing noopener while using target="_blank" (Line 46).

Suggested fix
-              rel="proofkit-app"
+              rel="proofkit-app noopener noreferrer"

As per coding guidelines, "Add rel="noopener" when using target="_blank" on links".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli-old/template/nextjs-mantine/src/app/`(main)/page.tsx around
lines 45 - 47, The external anchor element with href "https://proofkit.proof.sh"
uses target="_blank" but its rel attribute ("proofkit-app") does not include
"noopener"; update the anchor (the link element in page.tsx that sets
href="https://proofkit.proof.sh" and target="_blank") to include "noopener" in
the rel value (e.g., add or append noopener to the existing rel string) so the
link uses rel="noopener" (or "proofkit-app noopener") to prevent the opened page
from accessing window.opener.

Comment thread packages/cli/template/extras/emailTemplates/auth-code.tsx Outdated
Comment thread packages/cli/template/extras/emailTemplates/generic.tsx Outdated
Comment thread packages/cli/template/extras/fmaddon-auth/emails/auth-code.tsx Outdated
<div>
<Button asChild variant="outline">
<a href="https://proofkit.dev" rel="noreferrer" target="_blank">
<a href="https://proofkit.proof.sh" rel="noreferrer" target="_blank">
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add noopener to the external docs link rel attribute.

Please include noopener explicitly when using target="_blank".

Suggested fix
-              <a href="https://proofkit.proof.sh" rel="noreferrer" target="_blank">
+              <a href="https://proofkit.proof.sh" rel="noopener noreferrer" target="_blank">

As per coding guidelines, "Don't use target="_blank" without rel="noopener"".

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<a href="https://proofkit.proof.sh" rel="noreferrer" target="_blank">
<a href="https://proofkit.proof.sh" rel="noopener noreferrer" target="_blank">
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/template/nextjs-shadcn/src/app/`(main)/page.tsx at line 81, The
external anchor tag <a href="https://proofkit.proof.sh" rel="noreferrer"
target="_blank"> should include rel="noopener" as well to prevent the opened
page from accessing the window.opener; update the anchor in page.tsx (the anchor
element linking to https://proofkit.proof.sh) to add "noopener" to its rel
attribute (e.g., rel="noreferrer noopener").

eluce2 added 3 commits April 26, 2026 11:38
- update docs, CLI, templates, and metadata links
- add changeset for published packages
- Document current ProofKit CLI runtime flow
- Call out stranded legacy branches and dead ends
- Note root docs/runtime surface drift
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/cli/src/consts.ts (1)

14-17: Derive the docs link from DOCS_URL to prevent drift.

Line 15 duplicates the domain as a hardcoded literal instead of reusing Line 12, so future domain edits can silently diverge.

♻️ Proposed refactor
 export const AGENT_INSTRUCTIONS = [
-  "Use the ProofKit docs as the primary reference for this project: https://proofkit.proof.sh/docs",
+  `Use the ProofKit docs as the primary reference for this project: ${DOCS_URL}/docs`,
   "Before doing any AI-assisted development here, run `npx `@tanstack/intent`@latest install` in the project root to load skills relevant to this project",
 ].join("\n");
As per coding guidelines, "Use meaningful variable names instead of magic numbers - extract constants with descriptive names."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/src/consts.ts` around lines 14 - 17, AGENT_INSTRUCTIONS
currently hardcodes the docs URL; update it to derive the link from the existing
DOCS_URL constant so the domain isn't duplicated. Replace the literal
"https://proofkit.proof.sh/docs" inside AGENT_INSTRUCTIONS with a template or
string concatenation that uses DOCS_URL (e.g., `${DOCS_URL}/docs`) so future
changes to DOCS_URL automatically propagate; modify the AGENT_INSTRUCTIONS
declaration to reference DOCS_URL accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/cli/src/consts.ts`:
- Around line 19-22: The build never replaces the compile-time constant
__REGISTRY_URL__, so DEFAULT_REGISTRY_URL in packages/cli/src/consts.ts always
falls back to the production URL; fix packages/cli/tsdown.config.ts by restoring
the replace plugin configuration to inject __REGISTRY_URL__ (use replace({
__REGISTRY_URL__: JSON.stringify(isDev ? "http://localhost:3005" :
"https://proofkit.proof.sh") })) so the runtime check in DEFAULT_REGISTRY_URL
works as intended.

---

Nitpick comments:
In `@packages/cli/src/consts.ts`:
- Around line 14-17: AGENT_INSTRUCTIONS currently hardcodes the docs URL; update
it to derive the link from the existing DOCS_URL constant so the domain isn't
duplicated. Replace the literal "https://proofkit.proof.sh/docs" inside
AGENT_INSTRUCTIONS with a template or string concatenation that uses DOCS_URL
(e.g., `${DOCS_URL}/docs`) so future changes to DOCS_URL automatically
propagate; modify the AGENT_INSTRUCTIONS declaration to reference DOCS_URL
accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ba88e7c9-f809-47b6-9b48-412adc1609c1

📥 Commits

Reviewing files that changed from the base of the PR and between 90521d3 and 6a98233.

📒 Files selected for processing (116)
  • .changeset/brown-owls-bake.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-01.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-02.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-03.md
  • README.md
  • apps/docs/content/docs/fmdapi/quick-start.mdx
  • apps/docs/content/docs/typegen/config-odata.mdx
  • apps/docs/content/docs/typegen/config.mdx
  • apps/docs/src/app/docs/(docs)/[[...slug]]/page.tsx
  • apps/docs/src/app/layout.tsx
  • apps/docs/src/app/llms.txt/route.ts
  • apps/docs/src/app/robots.ts
  • apps/docs/src/app/sitemap.ts
  • apps/docs/src/lib/get-llm-text.ts
  • packages/better-auth/README.md
  • packages/better-auth/package.json
  • packages/cli-old/README.md
  • packages/cli-old/src/cli/add/data-source/deploy-demo-file.ts
  • packages/cli-old/src/consts.ts
  • packages/cli-old/src/generators/fmdapi.ts
  • packages/cli-old/src/installers/install-fm-addon.ts
  • packages/cli-old/src/installers/nextAuth.ts
  • packages/cli-old/template/extras/emailProviders/none/email.tsx
  • packages/cli-old/template/extras/emailTemplates/auth-code.tsx
  • packages/cli-old/template/extras/emailTemplates/generic.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/cli-old/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/info.json
  • packages/cli-old/template/fm-addon/ProofKitAuth/it.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ko.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/nl.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/template.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli-old/template/fm-addon/ProofKitWV/info.json
  • packages/cli-old/template/nextjs-mantine/README.md
  • packages/cli-old/template/nextjs-mantine/src/app/(main)/page.tsx
  • packages/cli-old/template/nextjs-shadcn/README.md
  • packages/cli-old/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli-old/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/cli-old/tsdown.config.ts
  • packages/cli/CLI_FLOW_AUDIT.md
  • packages/cli/README.md
  • packages/cli/src/cli/add/data-source/deploy-demo-file.ts
  • packages/cli/src/consts.ts
  • packages/cli/src/generators/fmdapi.ts
  • packages/cli/src/installers/install-fm-addon.ts
  • packages/cli/src/installers/nextAuth.ts
  • packages/cli/src/services/live.ts
  • packages/cli/src/utils/projectFiles.ts
  • packages/cli/template/extras/emailProviders/none/email.tsx
  • packages/cli/template/extras/emailTemplates/auth-code.tsx
  • packages/cli/template/extras/emailTemplates/generic.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/cli/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli/template/fm-addon/ProofKitAuth/info.json
  • packages/cli/template/fm-addon/ProofKitAuth/it.xml
  • packages/cli/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli/template/fm-addon/ProofKitAuth/ko.xml
  • packages/cli/template/fm-addon/ProofKitAuth/nl.xml
  • packages/cli/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli/template/fm-addon/ProofKitAuth/template.xml
  • packages/cli/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli/template/fm-addon/ProofKitWV/info.json
  • packages/cli/template/fm-addon/ProofKitWV/records_de.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_en.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_es.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_fr.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_it.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_ja.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_ko.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_nl.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_pt.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_sv.xml
  • packages/cli/template/fm-addon/ProofKitWV/records_zh.xml
  • packages/cli/template/nextjs-shadcn/README.md
  • packages/cli/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/create-proofkit/README.md
  • packages/fmdapi/README.md
  • packages/fmdapi/skills/typegen-fmdapi/SKILL.md
  • packages/fmodata/README.md
  • packages/fmodata/skills/typegen-fmodata/SKILL.md
  • packages/registry/templates/better-auth/auth.hbs
  • packages/registry/templates/email/auth-code/auth-code.tsx
  • packages/registry/templates/email/generic/generic.tsx
  • packages/registry/templates/fmdapi/proofkit-typegen.config.jsonc
  • packages/registry/templates/table/basic/README.hbs
  • packages/typegen/README.md
  • packages/typegen/live-fm-mcp-output/client/contacts.ts
  • packages/typegen/package.json
  • packages/typegen/proofkit-typegen.config.jsonc
  • packages/typegen/proofkit-typegen.fm-mcp.local.jsonc
  • packages/typegen/src/constants.ts
  • packages/typegen/src/server/api.ts
  • packages/typegen/src/server/app.ts
  • packages/typegen/stubs/proofkit-typegen.config.jsonc
  • packages/typegen/tests/__snapshots__/strict-numbers.snap.ts
  • packages/typegen/tests/__snapshots__/zod-layout-client.snap.ts
  • packages/webviewer/README.md
  • packages/webviewer/package.json
✅ Files skipped from review due to trivial changes (98)
  • packages/registry/templates/fmdapi/proofkit-typegen.config.jsonc
  • packages/cli-old/README.md
  • packages/typegen/README.md
  • packages/registry/templates/email/auth-code/auth-code.tsx
  • packages/create-proofkit/README.md
  • packages/fmodata/README.md
  • packages/better-auth/README.md
  • apps/docs/src/app/sitemap.ts
  • packages/typegen/package.json
  • packages/typegen/live-fm-mcp-output/client/contacts.ts
  • packages/fmdapi/README.md
  • packages/cli/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/cli/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/webviewer/README.md
  • packages/typegen/tests/snapshots/strict-numbers.snap.ts
  • packages/cli/README.md
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/forgot-password/forgot-form.tsx
  • packages/cli/template/fm-addon/ProofKitWV/info.json
  • packages/registry/templates/table/basic/README.hbs
  • packages/registry/templates/better-auth/auth.hbs
  • packages/cli-old/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli-old/src/installers/nextAuth.ts
  • packages/cli/template/extras/fmaddon-auth/app/auth/login/login-form.tsx
  • packages/cli-old/template/fm-addon/ProofKitAuth/info.json
  • packages/webviewer/package.json
  • packages/typegen/src/constants.ts
  • packages/cli-old/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli-old/template/nextjs-mantine/src/app/(main)/page.tsx
  • packages/cli/src/installers/nextAuth.ts
  • packages/typegen/stubs/proofkit-typegen.config.jsonc
  • packages/cli/template/extras/emailProviders/none/email.tsx
  • apps/docs/src/app/layout.tsx
  • packages/cli/template/extras/fmaddon-auth/app/auth/signup/signup-form.tsx
  • packages/cli/template/extras/emailTemplates/auth-code.tsx
  • packages/fmodata/skills/typegen-fmodata/SKILL.md
  • packages/cli-old/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/typegen/proofkit-typegen.fm-mcp.local.jsonc
  • packages/cli/template/fm-addon/ProofKitAuth/info.json
  • apps/docs/src/app/docs/(docs)/[[...slug]]/page.tsx
  • apps/docs/src/app/robots.ts
  • packages/cli-old/template/nextjs-shadcn/README.md
  • packages/cli-old/template/vite-wv/proofkit-typegen.config.jsonc
  • packages/typegen/src/server/api.ts
  • packages/cli/src/utils/projectFiles.ts
  • packages/cli-old/template/fm-addon/ProofKitWV/info.json
  • packages/better-auth/package.json
  • apps/docs/content/docs/fmdapi/quick-start.mdx
  • packages/cli-old/template/extras/emailProviders/none/email.tsx
  • packages/cli-old/template/extras/emailTemplates/auth-code.tsx
  • packages/cli/template/nextjs-shadcn/src/app/(main)/page.tsx
  • packages/cli-old/template/nextjs-mantine/README.md
  • packages/typegen/src/server/app.ts
  • packages/cli/template/extras/fmaddon-auth/emails/auth-code.tsx
  • packages/cli-old/src/cli/add/data-source/deploy-demo-file.ts
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-03.md
  • packages/typegen/proofkit-typegen.config.jsonc
  • packages/cli-old/tsdown.config.ts
  • apps/docs/content/docs/typegen/config.mdx
  • packages/cli-old/src/installers/install-fm-addon.ts
  • packages/cli/template/nextjs-shadcn/README.md
  • packages/cli/template/extras/emailTemplates/generic.tsx
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-02.md
  • packages/registry/templates/email/generic/generic.tsx
  • README.md
  • Auto Run Docs/Initiation/2026-03-19-ProofKit-Release-Readiness/RELEASE-READINESS-01.md
  • apps/docs/content/docs/typegen/config-odata.mdx
  • packages/cli-old/src/consts.ts
  • packages/fmdapi/skills/typegen-fmdapi/SKILL.md
  • packages/cli/src/installers/install-fm-addon.ts
  • packages/cli/CLI_FLOW_AUDIT.md
  • packages/cli/src/services/live.ts
  • packages/cli/template/fm-addon/ProofKitAuth/ko.xml
  • packages/typegen/tests/snapshots/zod-layout-client.snap.ts
  • packages/cli-old/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/nl.xml
  • apps/docs/src/app/llms.txt/route.ts
  • packages/cli/src/generators/fmdapi.ts
  • packages/cli-old/template/extras/emailTemplates/generic.tsx
  • packages/cli/template/fm-addon/ProofKitAuth/es.xml
  • packages/cli/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/sv.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli/template/fm-addon/ProofKitAuth/it.xml
  • packages/cli/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli/template/fm-addon/ProofKitAuth/nl.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/zh.xml
  • packages/cli/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ja.xml
  • packages/cli/template/fm-addon/ProofKitAuth/en.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/ko.xml
  • packages/cli/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/fr.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/de.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/pt.xml
  • packages/cli-old/template/fm-addon/ProofKitAuth/it.xml
🚧 Files skipped from review as they are similar to previous changes (4)
  • apps/docs/src/lib/get-llm-text.ts
  • .changeset/brown-owls-bake.md
  • packages/cli/src/cli/add/data-source/deploy-demo-file.ts
  • packages/cli-old/src/generators/fmdapi.ts

Comment on lines +19 to +22
// Registry URL is injected at build time via tsdown define.
declare const __REGISTRY_URL__: string;
export const DEFAULT_REGISTRY_URL =
typeof __REGISTRY_URL__ !== "undefined" && __REGISTRY_URL__ ? __REGISTRY_URL__ : "https://proofkit.proof.sh";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Locate tsdown config files =="
fd -i 'tsdown.config.ts' packages

echo
echo "== Find __REGISTRY_URL__ define/replace usage =="
rg -n --type=ts '__REGISTRY_URL__|define|replace\(' packages/cli packages/cli-old

echo
echo "== Confirm consts declaration/use =="
rg -n --type=ts 'declare const __REGISTRY_URL__|DEFAULT_REGISTRY_URL' packages/cli/src/consts.ts

Repository: proofsh/proofkit

Length of output: 43940


🏁 Script executed:

cat -n packages/cli/tsdown.config.ts

Repository: proofsh/proofkit

Length of output: 423


Add __REGISTRY_URL__ replacement to packages/cli/tsdown.config.ts build config.

The bundler does not currently replace __REGISTRY_URL__, so the override path at line 22 of packages/cli/src/consts.ts is inert. The check typeof __REGISTRY_URL__ !== "undefined" will always be false, and the constant will always fall back to the production domain. Restore the replace plugin configuration from packages/cli-old/tsdown.config.ts:

Expected configuration in `packages/cli/tsdown.config.ts`
replace({
  __REGISTRY_URL__: JSON.stringify(isDev ? "http://localhost:3005" : "https://proofkit.proof.sh"),
})
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/cli/src/consts.ts` around lines 19 - 22, The build never replaces
the compile-time constant __REGISTRY_URL__, so DEFAULT_REGISTRY_URL in
packages/cli/src/consts.ts always falls back to the production URL; fix
packages/cli/tsdown.config.ts by restoring the replace plugin configuration to
inject __REGISTRY_URL__ (use replace({ __REGISTRY_URL__: JSON.stringify(isDev ?
"http://localhost:3005" : "https://proofkit.proof.sh") })) so the runtime check
in DEFAULT_REGISTRY_URL works as intended.

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.

1 participant