From 66eb384062fbb4c13a1a5797aa91cfa75fe0e40c Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 09:05:46 -0500
Subject: [PATCH 1/9] docs(fmodata): fix intent install command
---
apps/docs/content/docs/fmodata/index.mdx | 4 ++--
apps/docs/content/docs/fmodata/quick-start.mdx | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/apps/docs/content/docs/fmodata/index.mdx b/apps/docs/content/docs/fmodata/index.mdx
index 60d73341..4b493ad9 100644
--- a/apps/docs/content/docs/fmodata/index.mdx
+++ b/apps/docs/content/docs/fmodata/index.mdx
@@ -35,9 +35,9 @@ To use this library you need:
## AI Agent Integration
-If you use an AI coding agent, install ProofKit skills for better code generation after installing the package:
+If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
-
+
## When to Use OData vs Data API
diff --git a/apps/docs/content/docs/fmodata/quick-start.mdx b/apps/docs/content/docs/fmodata/quick-start.mdx
index dd19a5fd..adfcd5ee 100644
--- a/apps/docs/content/docs/fmodata/quick-start.mdx
+++ b/apps/docs/content/docs/fmodata/quick-start.mdx
@@ -25,9 +25,9 @@ Here's a minimal example to get you started with `@proofkit/fmodata`:
#### AI Agent Integration
- If you use an AI coding agent, install ProofKit skills for better code generation:
+ If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
-
+
From 34e97f0b312ab40d17b784abb17ecd07849c3cc5 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 09:12:45 -0500
Subject: [PATCH 2/9] docs(fmodata): remove premature AI agent command
---
apps/docs/content/docs/fmodata/index.mdx | 7 -------
1 file changed, 7 deletions(-)
diff --git a/apps/docs/content/docs/fmodata/index.mdx b/apps/docs/content/docs/fmodata/index.mdx
index 4b493ad9..13c05d2e 100644
--- a/apps/docs/content/docs/fmodata/index.mdx
+++ b/apps/docs/content/docs/fmodata/index.mdx
@@ -5,7 +5,6 @@ description: "@proofkit/fmodata"
import { Callout } from "fumadocs-ui/components/callout";
import { Card, Cards } from "fumadocs-ui/components/card";
-import { CliCommand } from "@/components/CliCommand";
This library is in beta status. We don't expect the method names or arguments to change further, but please submit feedback or report issues on the [community forum](https://community.ottomatic.cloud/c/proofkit/13) or on [GitHub](https://github.com/proofgeist/proofkit/issues).
@@ -33,12 +32,6 @@ To use this library you need:
- (if using OttoFMS) a Data API key setup for your FileMaker account with OData enabled
-## AI Agent Integration
-
-If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
-
-
-
## When to Use OData vs Data API
Claris has given signals that OData is the future of data access for FileMaker. It's much faster and more powerful than the Data API since it does not require the server to spin up a server-side client or maintain a session for each request. However, it's a new paradigm for thinking about how we can interact with the FileMaker server and may take some adjustment. You should not worry about continuing to use the Data API if needed, but we suggest trying OData for new projects.
From 7fcc33713cff00065f1a71c39879c855fa41c852 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 09:18:51 -0500
Subject: [PATCH 3/9] docs: add AI agent install to quick starts
---
apps/docs/content/docs/fmdapi/quick-start.mdx | 9 ++++++++-
apps/docs/content/docs/fmodata/quick-start.mdx | 2 +-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/apps/docs/content/docs/fmdapi/quick-start.mdx b/apps/docs/content/docs/fmdapi/quick-start.mdx
index b4d67a51..d6e5bf98 100644
--- a/apps/docs/content/docs/fmdapi/quick-start.mdx
+++ b/apps/docs/content/docs/fmdapi/quick-start.mdx
@@ -4,6 +4,7 @@ title: Quick Start - Typegen
import { Tabs, Tab } from "fumadocs-ui/components/tabs";
import { Steps, Step } from "fumadocs-ui/components/steps";
+import { CliCommand } from "@/components/CliCommand";
The typegen tool is the best way to interact with this library, as it will automatically generate layout-specific clients and get autocomplete hints in your IDE with your actual field names from your solution
@@ -19,6 +20,12 @@ The typegen tool is the best way to interact with this library, as it will autom
Zod is used by the typegen tool by default, but it can be excluded if you set `validator` to `false` in the typegen config.
+ #### AI Agent Integration
+
+ If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
+
+
+
@@ -122,4 +129,4 @@ If you run into any limitations from the generated code, there are many ways to
How to configure the typegen tool for your use case.Customize the shape of the data returned from your database.
-
\ No newline at end of file
+
diff --git a/apps/docs/content/docs/fmodata/quick-start.mdx b/apps/docs/content/docs/fmodata/quick-start.mdx
index adfcd5ee..1e35cb9b 100644
--- a/apps/docs/content/docs/fmodata/quick-start.mdx
+++ b/apps/docs/content/docs/fmodata/quick-start.mdx
@@ -27,7 +27,7 @@ Here's a minimal example to get you started with `@proofkit/fmodata`:
If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
-
+
From 230601b8528b4863152bd85a03ca44400c9215d9 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 09:36:07 -0500
Subject: [PATCH 4/9] docs: fix intent versioning and add beta tags in fmdapi
quick start
---
apps/docs/content/docs/fmdapi/quick-start.mdx | 8 ++++----
apps/docs/src/components/CliCommand.tsx | 10 +++++++++-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/apps/docs/content/docs/fmdapi/quick-start.mdx b/apps/docs/content/docs/fmdapi/quick-start.mdx
index d6e5bf98..d9f1daa3 100644
--- a/apps/docs/content/docs/fmdapi/quick-start.mdx
+++ b/apps/docs/content/docs/fmdapi/quick-start.mdx
@@ -13,7 +13,7 @@ The typegen tool is the best way to interact with this library, as it will autom
### Install the required packages
```package-install
- @proofkit/fmdapi zod
+ @proofkit/fmdapi@beta zod
```
@@ -31,7 +31,7 @@ The typegen tool is the best way to interact with this library, as it will autom
### Create a typegen config file in your project
```sh
- npx @proofkit/typegen
+ npx @proofkit/typegen@beta
```
@@ -80,7 +80,7 @@ The typegen tool is the best way to interact with this library, as it will autom
Run this command any time you make changes to your config file, any of the referenced FileMaker layouts, or any field names/types that are on the layouts.
```sh
- npx @proofkit/typegen
+ npx @proofkit/typegen@beta
```
@@ -90,7 +90,7 @@ The typegen tool is the best way to interact with this library, as it will autom
{
"scripts": {
// ...
- "typegen": "npx @proofkit/typegen"
+ "typegen": "npx @proofkit/typegen@beta"
}
}
```
diff --git a/apps/docs/src/components/CliCommand.tsx b/apps/docs/src/components/CliCommand.tsx
index 5cbe67f7..90976d54 100644
--- a/apps/docs/src/components/CliCommand.tsx
+++ b/apps/docs/src/components/CliCommand.tsx
@@ -42,7 +42,15 @@ export function CliCommand({
execPackage?: string;
packageName?: string;
}) {
- const pkg = execPackage ?? `${packageName}@${cliVersion}`;
+ const hasVersionSpecifier = (pkg: string) => {
+ if (pkg.startsWith("@")) {
+ const slash = pkg.indexOf("/");
+ return slash !== -1 && pkg.indexOf("@", slash + 1) !== -1;
+ }
+ return pkg.includes("@");
+ };
+ const shouldAppendVersion = packageName.startsWith("@proofkit/") && !hasVersionSpecifier(packageName);
+ const pkg = execPackage ?? (shouldAppendVersion ? `${packageName}@${cliVersion}` : packageName);
return (
m.label)} persist>
{MANAGERS.map((manager) => (
From 581f4cff7a7fb1187c7792639ab8e99448ba9513 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 10:25:06 -0500
Subject: [PATCH 5/9] docs: keep sidebar pinned by removing docs max width
---
apps/docs/src/app/docs/(docs)/layout.tsx | 3 +++
apps/docs/src/app/docs/templates/layout.tsx | 3 +++
2 files changed, 6 insertions(+)
diff --git a/apps/docs/src/app/docs/(docs)/layout.tsx b/apps/docs/src/app/docs/(docs)/layout.tsx
index 32198203..a82397a6 100644
--- a/apps/docs/src/app/docs/(docs)/layout.tsx
+++ b/apps/docs/src/app/docs/(docs)/layout.tsx
@@ -8,6 +8,9 @@ export default function Layout({ children }: { children: ReactNode }) {
diff --git a/apps/docs/src/app/docs/templates/layout.tsx b/apps/docs/src/app/docs/templates/layout.tsx
index ab2acfbd..b8f41e52 100644
--- a/apps/docs/src/app/docs/templates/layout.tsx
+++ b/apps/docs/src/app/docs/templates/layout.tsx
@@ -77,6 +77,9 @@ export default async function Layout({ children }: { children: ReactNode }) {
Date: Mon, 16 Mar 2026 10:27:38 -0500
Subject: [PATCH 6/9] docs(fmodata): remove single-item CLI sidebar section
---
apps/docs/content/docs/fmodata/meta.json | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/apps/docs/content/docs/fmodata/meta.json b/apps/docs/content/docs/fmodata/meta.json
index 4b79ab69..e063026d 100644
--- a/apps/docs/content/docs/fmodata/meta.json
+++ b/apps/docs/content/docs/fmodata/meta.json
@@ -7,6 +7,7 @@
"---Setup---",
"quick-start",
"schema",
+ "cli",
"---Guides---",
"queries",
"crud",
@@ -20,8 +21,6 @@
"entity-ids",
"extra-properties",
"custom-fetch-handlers",
- "---CLI---",
- "cli",
"---Reference---",
"errors",
"methods"
From 99a82ef6745fba919eeba40b9d66775ba42f00a3 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 10:48:38 -0500
Subject: [PATCH 7/9] docs: use agent-style command block for intent install
---
apps/docs/content/docs/fmdapi/quick-start.mdx | 6 ++---
.../docs/content/docs/fmodata/quick-start.mdx | 5 ++--
apps/docs/src/components/AgentCommand.tsx | 23 +++++++++++++++++++
3 files changed, 29 insertions(+), 5 deletions(-)
create mode 100644 apps/docs/src/components/AgentCommand.tsx
diff --git a/apps/docs/content/docs/fmdapi/quick-start.mdx b/apps/docs/content/docs/fmdapi/quick-start.mdx
index d9f1daa3..7b1d6f40 100644
--- a/apps/docs/content/docs/fmdapi/quick-start.mdx
+++ b/apps/docs/content/docs/fmdapi/quick-start.mdx
@@ -4,7 +4,7 @@ title: Quick Start - Typegen
import { Tabs, Tab } from "fumadocs-ui/components/tabs";
import { Steps, Step } from "fumadocs-ui/components/steps";
-import { CliCommand } from "@/components/CliCommand";
+import { AgentCommand } from "@/components/AgentCommand";
The typegen tool is the best way to interact with this library, as it will automatically generate layout-specific clients and get autocomplete hints in your IDE with your actual field names from your solution
@@ -22,9 +22,9 @@ The typegen tool is the best way to interact with this library, as it will autom
#### AI Agent Integration
- If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
+ If you use an AI coding agent, ask it to run this command after dependencies are installed to add ProofKit skills:
-
+
diff --git a/apps/docs/content/docs/fmodata/quick-start.mdx b/apps/docs/content/docs/fmodata/quick-start.mdx
index 1e35cb9b..810b6d4b 100644
--- a/apps/docs/content/docs/fmodata/quick-start.mdx
+++ b/apps/docs/content/docs/fmodata/quick-start.mdx
@@ -12,6 +12,7 @@ import {
import { Callout } from "fumadocs-ui/components/callout";
import { Card } from "fumadocs-ui/components/card";
import { CliCommand } from "@/components/CliCommand";
+import { AgentCommand } from "@/components/AgentCommand";
import { PackageInstall } from "@/components/PackageInstall";
import { Badge } from "@/components/ui/badge";
@@ -25,9 +26,9 @@ Here's a minimal example to get you started with `@proofkit/fmodata`:
#### AI Agent Integration
- If you use an AI coding agent, run this after installing dependencies to add ProofKit skills for better code generation:
+ If you use an AI coding agent, ask it to run this command after dependencies are installed to add ProofKit skills:
-
+
diff --git a/apps/docs/src/components/AgentCommand.tsx b/apps/docs/src/components/AgentCommand.tsx
new file mode 100644
index 00000000..e6d45034
--- /dev/null
+++ b/apps/docs/src/components/AgentCommand.tsx
@@ -0,0 +1,23 @@
+interface AgentCommandProps {
+ command?: string;
+ agent?: string;
+}
+
+export function AgentCommand({
+ command = "pnpm dlx @tanstack/intent@latest install",
+ agent = "Claude Code",
+}: AgentCommandProps) {
+ return (
+
+
+ {agent}
+ Run inside your coding agent
+
+
+ {`$ ${command}`}
+
+
+ );
+}
+
+export default AgentCommand;
From 195ba3793b6bc5dd699b8105243029c443637f8b Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 11:00:29 -0500
Subject: [PATCH 8/9] docs: terminal-style AgentCommand with orange border,
copy button, intent docs link
Co-Authored-By: Claude Opus 4.6 (1M context)
---
apps/docs/content/docs/fmdapi/quick-start.mdx | 2 +-
.../docs/content/docs/fmodata/quick-start.mdx | 2 +-
apps/docs/src/components/AgentCommand.tsx | 47 +++++++++++++++----
3 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/apps/docs/content/docs/fmdapi/quick-start.mdx b/apps/docs/content/docs/fmdapi/quick-start.mdx
index 7b1d6f40..9aca62bb 100644
--- a/apps/docs/content/docs/fmdapi/quick-start.mdx
+++ b/apps/docs/content/docs/fmdapi/quick-start.mdx
@@ -22,7 +22,7 @@ The typegen tool is the best way to interact with this library, as it will autom
#### AI Agent Integration
- If you use an AI coding agent, ask it to run this command after dependencies are installed to add ProofKit skills:
+ If you use an AI coding agent, run this command to map ProofKit's built-in skills to your project. See the [TanStack Intent docs](https://tanstack.com/intent/latest/docs/getting-started/quick-start-consumers) for more details.
diff --git a/apps/docs/content/docs/fmodata/quick-start.mdx b/apps/docs/content/docs/fmodata/quick-start.mdx
index 810b6d4b..758398a5 100644
--- a/apps/docs/content/docs/fmodata/quick-start.mdx
+++ b/apps/docs/content/docs/fmodata/quick-start.mdx
@@ -26,7 +26,7 @@ Here's a minimal example to get you started with `@proofkit/fmodata`:
#### AI Agent Integration
- If you use an AI coding agent, ask it to run this command after dependencies are installed to add ProofKit skills:
+ If you use an AI coding agent, run this command to map ProofKit's built-in skills to your project. See the [TanStack Intent docs](https://tanstack.com/intent/latest/docs/getting-started/quick-start-consumers) for more details.
diff --git a/apps/docs/src/components/AgentCommand.tsx b/apps/docs/src/components/AgentCommand.tsx
index e6d45034..007703fb 100644
--- a/apps/docs/src/components/AgentCommand.tsx
+++ b/apps/docs/src/components/AgentCommand.tsx
@@ -1,21 +1,48 @@
+"use client";
+
+import { CheckIcon, CopyIcon } from "lucide-react";
+import { useCallback, useState } from "react";
+
interface AgentCommandProps {
command?: string;
- agent?: string;
+ label?: string;
}
export function AgentCommand({
- command = "pnpm dlx @tanstack/intent@latest install",
- agent = "Claude Code",
+ command = "npx @tanstack/intent@latest install",
+ label = "Tell your agent to run",
}: AgentCommandProps) {
+ const [copied, setCopied] = useState(false);
+
+ const copy = useCallback(() => {
+ navigator.clipboard.writeText(command);
+ setCopied(true);
+ setTimeout(() => setCopied(false), 2000);
+ }, [command]);
+
return (
-
-
- {agent}
- Run inside your coding agent
+
+
+
+ {label}
+
+
+
+ ❯
+ {command}
+
-
- {`$ ${command}`}
-
);
}
From 8c60071bf923a782a2544a7f64a45d7c86af1523 Mon Sep 17 00:00:00 2001
From: Eric Luce <37158449+eluce2@users.noreply.github.com>
Date: Mon, 16 Mar 2026 11:05:14 -0500
Subject: [PATCH 9/9] docs: move CLI to Reference, use PackageInstall with
global flag
Co-Authored-By: Claude Opus 4.6 (1M context)
---
apps/docs/content/docs/fmodata/cli.mdx | 11 +++--------
apps/docs/content/docs/fmodata/meta.json | 2 +-
apps/docs/src/components/PackageInstall.tsx | 12 ++++++------
3 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/apps/docs/content/docs/fmodata/cli.mdx b/apps/docs/content/docs/fmodata/cli.mdx
index 6dd61817..38b1f749 100644
--- a/apps/docs/content/docs/fmodata/cli.mdx
+++ b/apps/docs/content/docs/fmodata/cli.mdx
@@ -5,6 +5,7 @@ description: Run fmodata operations from the command line — queries, scripts,
import { Callout } from "fumadocs-ui/components/callout";
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
+import { PackageInstall } from "@/components/PackageInstall";
The `@proofkit/fmodata` package ships a built-in CLI binary called **`fmodata`**. It exposes every library operation — querying records, running scripts, managing webhooks, inspecting metadata, and modifying schema — as a non-interactive command suitable for scripting, CI pipelines, and quick one-off database operations.
@@ -12,17 +13,11 @@ The `@proofkit/fmodata` package ships a built-in CLI binary called **`fmodata`**
The binary is included automatically when you install the package:
-```bash
-pnpm add @proofkit/fmodata
-# or
-npm install @proofkit/fmodata
-```
+
If you want it available globally:
-```bash
-pnpm add -g @proofkit/fmodata
-```
+
## Connection Configuration
diff --git a/apps/docs/content/docs/fmodata/meta.json b/apps/docs/content/docs/fmodata/meta.json
index e063026d..7491b9bd 100644
--- a/apps/docs/content/docs/fmodata/meta.json
+++ b/apps/docs/content/docs/fmodata/meta.json
@@ -7,7 +7,6 @@
"---Setup---",
"quick-start",
"schema",
- "cli",
"---Guides---",
"queries",
"crud",
@@ -22,6 +21,7 @@
"extra-properties",
"custom-fetch-handlers",
"---Reference---",
+ "cli",
"errors",
"methods"
],
diff --git a/apps/docs/src/components/PackageInstall.tsx b/apps/docs/src/components/PackageInstall.tsx
index a72401f0..293e5cc1 100644
--- a/apps/docs/src/components/PackageInstall.tsx
+++ b/apps/docs/src/components/PackageInstall.tsx
@@ -4,10 +4,10 @@ import { Tab, Tabs } from "fumadocs-ui/components/tabs";
import { cliVersion } from "@/lib/constants";
const MANAGERS = [
- { key: "npm", label: "npm", prefix: "npm install" },
- { key: "pnpm", label: "pnpm", prefix: "pnpm add" },
- { key: "yarn", label: "yarn", prefix: "yarn add" },
- { key: "bun", label: "bun", prefix: "bun add" },
+ { key: "npm", label: "npm", prefix: "npm install", globalPrefix: "npm install -g" },
+ { key: "pnpm", label: "pnpm", prefix: "pnpm add", globalPrefix: "pnpm add -g" },
+ { key: "yarn", label: "yarn", prefix: "yarn add", globalPrefix: "yarn global add" },
+ { key: "bun", label: "bun", prefix: "bun add", globalPrefix: "bun add -g" },
];
const WHITESPACE_RE = /\s+/;
@@ -16,7 +16,7 @@ const WHITESPACE_RE = /\s+/;
* Renders a tabbed package install command.
* Automatically appends @{cliVersion} to @proofkit/* packages unless version is already specified.
*/
-export function PackageInstall({ packages }: { packages: string }) {
+export function PackageInstall({ packages, global: isGlobal }: { packages: string; global?: boolean }) {
const pkgs = packages
.trim()
.split(WHITESPACE_RE)
@@ -33,7 +33,7 @@ export function PackageInstall({ packages }: { packages: string }) {
m.label)} persist>
{MANAGERS.map((manager) => (
-
+
))}