-
Notifications
You must be signed in to change notification settings - Fork 4
Fix architecture diagrams #238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
80184d7
d71d02b
189e1be
b0d21da
6e852db
3441861
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,8 @@ title: Technical Requirements | |
| description: What you need to build and run ProofKit v2 apps. | ||
| --- | ||
|
|
||
| import { Tab, Tabs } from "fumadocs-ui/components/tabs"; | ||
|
|
||
| ProofKit v2 is designed for FileMaker developers using agentic coding tools to build Web Viewer apps. | ||
|
|
||
| ## FileMaker version | ||
|
|
@@ -16,11 +18,52 @@ Future ProofKit releases will track the next major FileMaker release cycle so Pr | |
| To build ProofKit apps, you need: | ||
|
|
||
| - **FileMaker Pro** with the target file open. | ||
| - **Node.js LTS** installed locally. | ||
| - **Node.js LTS** installed locally. Choose a release that is explicitly marked LTS. Today that means **Node.js 22**, **Node.js 24**, or **Node.js 26**. | ||
| - **An MCP-compatible coding agent**, such as Cursor, Claude Code, Codex, OpenCode, or another agent that supports MCP servers. | ||
|
Comment on lines
+21
to
22
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: The major Node.js versions currently marked as "LTS" on the official Node.js releases page (https://nodejs.org/en/about/previous-releases) are v24 (Krypton) and v22 (Jod).[1][2][3] Node.js 26 is currently in "Current" status, released on 2026-05-05, and is scheduled to enter LTS in October 2026.[1][4][5][6] Citations:
🏁 Script executed: # First, find and read the file
cat -n apps/docs/content/docs/ai/technical-requirements.mdx | head -100 | tail -80Repository: proofsh/proofkit Length of output: 3852 Update Node.js LTS status to reflect current release timeline. Lines 21 and 97 incorrectly identify Node.js 26 as LTS. As of May 5, 2026, only Node.js 22 and Node.js 24 are marked LTS; Node.js 26 is Current and will enter LTS in October 2026. This contradicts the guidance to choose explicitly LTS-marked releases. Proposed fixes-- **Node.js LTS** installed locally. Choose a release that is explicitly marked LTS. Today that means **Node.js 22**, **Node.js 24**, or **Node.js 26**.
+- **Node.js LTS** installed locally. Choose a release that is explicitly marked LTS. As of May 5, 2026, that means **Node.js 22** or **Node.js 24**. (**Node.js 26** is Current and will enter LTS in October 2026.)
@@
-| Development requirements | FileMaker Pro and Node.js 22, 24, or 26 LTS |
+| Development requirements | FileMaker Pro and Node.js 22 or 24 LTS (Node.js 26 becomes LTS in October 2026) |🤖 Prompt for AI Agents |
||
|
|
||
| FileMaker Server is not required for the development loop. ProofKit can work against a local or hosted file as long as it is open in FileMaker Pro. | ||
|
|
||
| ## Node.js | ||
|
|
||
| ProofKit projects use Node.js for the local development tools that scaffold, build, preview, and deploy Web Viewer apps. Pick an LTS release rather than the newest "Current" release. Node's odd-numbered releases are short-lived, and not every even-numbered release is the right choice forever; use a version that [nodejs.org marks as LTS](https://nodejs.org/en/download/). | ||
|
|
||
| If you are not already managing Node versions, the native installer from nodejs.org is the simplest option. | ||
|
|
||
| <Tabs items={["Native installer", "Homebrew", "Version manager"]}> | ||
| <Tab value="Native installer"> | ||
| Download the LTS installer for macOS or Windows from [nodejs.org/download](https://nodejs.org/en/download/). Choose Node.js 26 LTS when available, or Node.js 24 LTS or Node.js 22 LTS if your environment standardizes on one of those versions. | ||
|
|
||
| After installing, verify the version: | ||
|
|
||
| ```sh | ||
| node -v | ||
| npm -v | ||
| ``` | ||
| </Tab> | ||
|
|
||
| <Tab value="Homebrew"> | ||
| On macOS, Homebrew is convenient if you already use it. Install a versioned LTS formula instead of the unversioned `node` formula, which may track a newer non-LTS release. | ||
|
|
||
| ```sh | ||
| brew install node@24 | ||
| node -v | ||
| ``` | ||
|
|
||
| If `node` is not found after installation, run `brew info node@24` and follow Homebrew's PATH instructions. | ||
| </Tab> | ||
|
|
||
| <Tab value="Version manager"> | ||
| Use a version manager if you switch between projects with different Node requirements. | ||
|
|
||
| ```sh | ||
| nvm install --lts | ||
| nvm use --lts | ||
| ``` | ||
|
|
||
| `fnm` and Volta are good alternatives. The important part is pinning your project to an LTS line such as Node.js 26, Node.js 24, or Node.js 22. | ||
| </Tab> | ||
| </Tabs> | ||
|
|
||
| ## Developer background | ||
|
|
||
| You do not need to be a web developer to get started. Familiarity with React, TypeScript, a terminal, and Git will help, but the workflow is designed so the agent does much of the setup and implementation work. | ||
|
|
@@ -51,7 +94,7 @@ ProofKit v2 enables agentic coding of Web Viewer apps. It does not currently ena | |
| | --- | --- | | ||
| | FileMaker version | FileMaker 22 or greater | | ||
| | Agent environment | Any MCP-compatible agent | | ||
| | Development requirements | FileMaker Pro and Node.js LTS | | ||
| | Development requirements | FileMaker Pro and Node.js 22, 24, or 26 LTS | | ||
| | FileMaker Server | Not required for local development | | ||
| | Runtime platforms | FileMaker Pro, FileMaker Go, WebDirect | | ||
| | Agent writing scope | Web Viewer app code | | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,7 +10,7 @@ ProofKit has two related architectures: the development loop that lets an agent | |
| ## Development architecture | ||
|
|
||
| ```mermaid | ||
| flowchart LR | ||
| flowchart TD | ||
| agent["Coding agent"] <-->|"MCP"| mcp["ProofKit MCP server"] | ||
| mcp <-->|"Local API"| plugin["FileMaker plug-in"] | ||
| plugin <-->|"Script calls"| addon["ProofKit add-on"] | ||
|
|
@@ -20,30 +20,35 @@ flowchart LR | |
| bundle --> file | ||
| ``` | ||
|
|
||
| <Callout title="TODO: Diagram - Development architecture"> | ||
| Replace or polish this Mermaid diagram with the final branded architecture visual if needed. | ||
| <Callout title="Connection labels"> | ||
| - **MCP**: Model Context Protocol, the tool protocol the coding agent uses to talk to the ProofKit MCP server. | ||
| - **Local API**: The local bridge between the ProofKit MCP server and the FileMaker plug-in. | ||
| - **Script calls**: FileMaker script execution used by the plug-in and add-on to work with your FileMaker file. | ||
| </Callout> | ||
|
|
||
| ## Runtime architecture | ||
|
|
||
| ```mermaid | ||
| flowchart LR | ||
| user["User"] <--> webviewer["Web Viewer React app"] | ||
| webviewer <-->|"JSON through script bridge"| scripts["FileMaker scripts"] | ||
| scripts <--> database["FileMaker database"] | ||
| webviewer["Web Viewer app"] | ||
| webviewer -->|"ProofKit type safe<br/>client"| executeDataApi["Execute Data<br/>API Step"] | ||
| webviewer -->|"fmFetch()"| scripts["FileMaker scripts"] | ||
| executeDataApi --> database["FileMaker database"] | ||
| scripts --> database | ||
| scripts --> externalApis["External APIs"] | ||
| scripts --> fileSystem["File system"] | ||
| scripts --> printing["Printing and PDF"] | ||
| ``` | ||
|
|
||
| <Callout title="TODO: Diagram - Runtime architecture"> | ||
| Replace or polish this Mermaid diagram with the final runtime/data-flow visual. | ||
| <Callout title="Connection labels"> | ||
| - **ProofKit type safe client**: Generated client code that calls FileMaker's Data API through the Execute Data API script step. | ||
| - **fmFetch()**: A lightweight script bridge for calling FileMaker scripts from the Web Viewer app. | ||
|
Comment on lines
+44
to
+45
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use consistent terminology: Small docs wording cleanup for consistency with the diagram/callout terminology. Suggested patch- - **ProofKit type safe client**: Generated client code that calls FileMaker's Data API through the Execute Data API script step.
+ - **ProofKit type-safe client**: Generated client code that calls FileMaker's Data API through the Execute Data API script step.
@@
-- At runtime, the deployed web app talks to FileMaker through fmFetch scripts and the type-safe Data API path.
+- At runtime, the deployed web app talks to FileMaker through `fmFetch()` scripts and the type-safe Data API path.Also applies to: 51-51 🤖 Prompt for AI Agents |
||
| </Callout> | ||
|
|
||
| ## How to think about it | ||
|
|
||
| - During development, the agent uses ProofKit tools to understand the FileMaker file and deploy bundles. | ||
| - At runtime, the deployed web app talks to FileMaker scripts through the Web Viewer bridge. | ||
| - At runtime, the deployed web app talks to FileMaker through fmFetch scripts and the type-safe Data API path. | ||
| - FileMaker scripts remain the secure place for privileged operations, external API secrets, filesystem work, and print/PDF flows. | ||
|
|
||
| ## Related pages | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in user-facing instruction.
Line 30 uses “it's preview browser”; this should be “its preview browser”.
✏️ Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents