Skip to content

Repository files navigation

ClaudeFM-Starter

A FileMaker brain for your AI coding agent — in one folder you copy.

Out of the box, Claude knows JavaScript and CSS but nothing about FileMaker — it will happily invent script steps and hand you XML that won't paste. This folder fixes that. Duplicate it, point Claude Code at it, and the agent already speaks FileMaker: your conventions, the paste-ready XML format, the gotchas, and how to read your actual solution.

📊 Watch the walkthrough / get set up: claude-code-filemaker.vercel.app The companion deck — Claude Code & FileMaker — covers the why, the five-piece stack, and a live demo, and ends with scan-and-go QR codes for everything below.


Quick start

  1. Duplicate this folder and rename it for your project — no spaces (use_underscores or-dashes).
  2. Open Claude Desktop → Code tab → Select folder → pick your copy. (Or open it with the Claude Code CLI.)
  3. Say hello, ask it to explain the folder, then: "write me a script that…" — you'll get a paste-ready snippet.
  4. Paste it into a dev copy of your file (Script Workspace). With the MBS plugin installed, the clipboard format is handled for you.

You are always the gate: the agent generates, you paste. Dev copies only, never production.


What's inside

your-project/                 ← your renamed copy
├── CLAUDE.md                 ← the agent reads this first: the rules + what lives where
├── PROJECT_NOTES.md          ← the project's memory (the agent updates it; you read it)
├── quirks.md                 ← gotchas, pre-seeded; grows as you hit your own
├── connection.example.json   ← template for hosted-server credentials (copy → connection.json)
├── .claude/skills/filemaker/ ← the expertise:
│   ├── SKILL.md              ←   calc syntax, script patterns, AI steps, MBS round-trip
│   └── references/           ←   calc-patterns · script-patterns · xml-snippets ·
│                                 step-catalog · server-connection · linting
├── scripts/                  ← tools the AGENT runs (you never touch these):
│   ├── fmlint/               ←   lints generated snippets before you paste them
│   ├── validate_snippet.py   ←   the canonical lint entry point
│   ├── fmsavexml/            ←   parses Save-a-Copy-as-XML / DDR exports
│   └── fmserver/             ←   reads a hosted file's data over the Data API
├── schema/                   ← the standing map of YOUR solution
│   ├── xml/                  ←   drop your Save-a-Copy-as-XML exports here
│   └── parsed/               ←   the agent splits them into greppable per-object files
├── resources/                ← things YOU bring in (incl. the Claris markdown-docs reference)
└── documents/                ← things CLAUDE makes for you (plans, summaries, drafts)

How it works

The core loop: describe → the agent writes a snippet → fmlint checks it → you paste → you verify.

  • The clipboard (MBS). FileMaker's clipboard holds XML sealed in a private format, which is why a copied script won't paste into a text editor and raw XML won't paste back into FileMaker. The free MBS plugin (SyntaxColoring component, one checkbox, macOS + Windows) translates both ways automatically, so the agent's snippet just pastes.
  • The self-check (fmlint). Before handing you a snippet, the agent runs it through fmlint — catching malformed XML, unbalanced If/Loop blocks, unknown steps, and broken calculations. Stdlib-only Python, no install:
    python3 scripts/validate_snippet.py path/to/snippet.xml
  • Know your solution (the snapshot). Do File → Save a Copy as XML (or export a DDR), drop it in schema/xml/, and ask the agent to parse it. From then on it writes against your real table-occurrence and field names, and calls your existing scripts instead of duplicating them — including reading script contents (which a live MCP can't see).
  • Connect to a hosted file. Given a server, database, and a key or username/password, the agent can read live data over the Data API — no MCP, no open file. Paste the details and say "connect to this database."

Everything else, Claude will explain — ask it.


Requirements

Need For
A paid Claude plan (Pro or up) + Claude Desktop or Claude Code the agent itself (free tier has no Code)
MBS FileMaker Plugin 15.4+ (free SyntaxColoring component) the clipboard round-trip
Python 3.9+ the agent's scripts — fmlint is stdlib-only; fmsavexml needs lxml (the agent installs it)
macOS recommended the smoothest "golden path"; Windows works with caveats

Credits

Built on the community's work:

  • fmlint is vendored from John Petrowsky's agentic-fm (Apache-2.0 — see scripts/fmlint/LICENSE).
  • The XML exploder approach and the patch-tool walkthroughs come from Soliant Consulting (Mislav Kos).
  • The MBS Clipboard Converter is by Monkey Bread Software (Christian Schmitz).
  • The paste/clipboard tooling ecosystem includes work from Codence and the BaseElements plugin.
  • The stepping-away / what's-next session pattern came from Full City.
  • ProofKit (live MCP eyes) is by Proof + Geist.

Part of the agentic-fm framework — the on-ramp from FileMaker developer to agentic developer: agentic-fm-framework.vercel.app

About

A FileMaker brain for your AI coding agent — copy the folder, point Claude at it, and it speaks FileMaker.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages