FM Dojo — User Guide
Everything you need to know about FM Dojo's tools and features.
1. Getting Started
FM Dojo is an AI-powered development assistant built specifically for FileMaker developers. It combines a FileMaker-specialized AI chat, a multi-language code editor, and a visual diagram tool — all in one place.
Quick start
- Create an account or sign in with Google.
- Choose a subscription plan on the Pricing page — your tokens are loaded instantly.
- Open Chat, Code Editor, or Diagram from the top navigation.
No installation required. FM Dojo runs entirely in your browser and works on desktop, tablet, and mobile.
2. AI Chat
The AI Chat is a FileMaker-specialized assistant that understands scripts, calculations, ExecuteSQL, relationships, and FileMaker best practices — far more accurately than general-purpose AI tools.
Conversations
- Start a new conversation from the sidebar or the New Chat button.
- Your full chat history is saved and searchable in the sidebar panel.
- Click any previous conversation to continue where you left off.
- Edit and resend your last message if you want to rephrase a question.
File uploads
Attach files directly to your message using the paperclip icon. Supported formats:
- Text files — up to 2 MB (.txt, .sql, .json, .xml, .js, .css, .html, .csv, .log)
- PDF files — up to 10 MB (text is extracted automatically)
- Up to 10 files per message.
- UTF-16 encoded files are auto-detected and converted.
Images
Attach or paste images directly into the chat — the AI can see and reason about screenshots, diagrams, and mockups. Supported formats: PNG, JPG, GIF, and WebP. Paste from the clipboard with Cmd+V (Mac) or Ctrl+V (Windows) without needing to save the file first.
FileMaker code in responses
The AI automatically detects FileMaker code in its responses and applies syntax highlighting — script steps, variables, field references, and functions are all color-coded. Every code block has a one-click copy button.
Sensitive data detection
Before sending, FM Dojo scans your message for common sensitive patterns — passwords, API keys, credit card numbers, private keys, and more. If something is detected, you'll be prompted to review and edit before the message is sent. You can also choose to send anyway if the flag is a false positive.
Context awareness
The AI knows about FM Dojo's built-in tools. When relevant, it will suggest using the Code Editor to test a calculation or the Diagram tool to visualize relationships.
Edit in Code Editor
When the AI's response contains code, an Edit in Code Editor button appears at the bottom of the conversation. Click it to send all code blocks from the chat directly to the Code Editor — the last code block's language is detected automatically.
3. Code Editor
A full-featured code editor with syntax highlighting, validation, autocomplete, and snippet management — purpose-built for FileMaker development.
Supported languages
- FM Calc — FileMaker calculations with function autocomplete
- FM Script — FileMaker script steps with autocomplete
- FM Schema — define tables, fields, and relationships in a readable plain-text format
- SQL — with syntax validation, formatting, and an in-browser SQL Fiddle
- JavaScript — with linting, formatting, and a Web Viewer Fiddle
- JSON — with validation and pretty-print
- YAML — with validation and formatting (supports multi-document files separated by
---) - XML — with validation and formatting
FM Schema
FM Schema is a plain-English format for defining your FileMaker database structure. Write table and field definitions in a simple, readable syntax — then use Review & Export to inspect your schema, adjust field types, and copy FileMaker XML ready to paste into FileMaker Pro.
Getting started quickly:
- Create a new snippet and choose FM Schema as the language.
- Open Code Chat and describe your data model — e.g. "Design a schema for a bicycle shop managing inventory, sales, repairs, and customers." The AI generates the full FM Schema code for you.
- Click Review & Export in the toolbar to see your tables and fields rendered as a structured list, adjust types and settings, and copy FileMaker XML.
In Review & Export, use Export as SQL to generate CREATE TABLE statements from your FM Schema. Choose a dialect — MySQL, PostgreSQL, or SQLite — and get a complete SQL script ready to use in another tool or the SQL Fiddle.
SQL Fiddle
The SQL Fiddle lets you run SQL queries entirely in-browser against a real SQLite database — perfect for prototyping and testing ExecuteSQL() logic before using it in FileMaker.
Getting started:
- Open (or create) a SQL snippet, then click the flask icon (⚗) in the toolbar.
- The editor splits into three panels: Schema Setup (top), Query (middle), and Results (bottom). Drag the dividers to resize them.
- In Schema Setup, write your CREATE TABLE and INSERT INTO statements to build sample data.
- In Query, write a SELECT statement.
- Click Run — results appear in the bottom panel immediately.
Tips:
- Use Code Chat → Schema to describe your tables in plain English and have the AI generate the CREATE TABLE statements for you. Or click Build Table and type something like "orders with line items, customers, and products."
- If you use FM-style ExecuteSQL syntax — where function arguments are separated by semicolons instead of commas — FM Dojo automatically converts them when you click Run, so you can test real FM calculations without rewriting them.
- Use → Schema and → Query insert buttons in Code Chat to push AI-generated SQL directly into the right panel.
JavaScript Fiddle
When the language is set to JavaScript, click the flask icon to open the JS Fiddle — a live preview environment for prototyping FileMaker Web Viewer content. Choose from five starter templates including a line chart, pie chart, calendar, Gantt chart, and progress bars. The preview updates as you type. Use Copy as FM Web Viewer to get a FileMaker-ready Set Web Viewer calculation.
Click Colors in the JS Fiddle toolbar to open a 100-swatch color palette. Click any swatch to insert its hex value directly into whichever editor panel (HTML, CSS, or JS) you were last typing in.
Split view & diff
Click the split view icon (two columns) in the toolbar to open two editors side by side. Load a different snippet in the right panel to compare them. Toggle Show diff highlighting to highlight lines that differ between the two — added lines appear in green, removed lines in red.
Validation
Click Validate to check your code for syntax errors. Available for SQL, JavaScript, JSON, YAML, and XML. The editor highlights the exact error line and shows a detailed message with line and column numbers. Valid code can also be auto-formatted.
For FileMaker languages, use Code Chat (see below) for AI-powered code review and validation.
Snippets
Creating a snippet:
- If no snippet is open, the editor shows a grid of language cards. Click one (e.g. FM Calc, SQL, JavaScript).
- Type a name for the snippet and press Enter or click Create.
- Start typing — the snippet auto-saves every 3 seconds. A "Saved" timestamp appears in the toolbar.
- To create another snippet when you already have one open, click the + New button at the top of the sidebar panel.
Managing snippets:
- Hover a snippet in the sidebar to reveal Duplicate, Rename, and Delete buttons.
- Click the pencil to rename inline — press Enter to confirm or Escape to cancel.
- The language is locked after creation to keep your library organized.
- Use the search box at the top of the sidebar to find snippets by name.
- FM Calc and FM Script snippets support tags for categorization (set in the toolbar).
Folders:
- Click the folder+ icon at the top of the sidebar to create a new folder.
- Assign a snippet to a folder using the folder selector in the toolbar (the folder icon next to the snippet name).
- Folders collapse and expand — click the folder name to toggle. Rename or delete folders with the icons that appear on hover.
Clip Manager
Organize snippets into folders and share them publicly — all from the Code Editor sidebar. Use the folder button to create folders, then assign any snippet to a folder using the folder selector on each snippet row. To share a snippet, click the share icon next to it: a public link is generated instantly and copied to your clipboard.
Each clip has a type that determines how it's shared and pasted into FileMaker. Available types:
- Script step(s)
- Custom function
- Plain text
- Layout object
- Table(s)
- Field(s)
Anyone with the link can view the code with full syntax highlighting and copy it. For FileMaker types, the shared page includes a Copy as FileMaker XML button — viewers can paste it directly into FileMaker Pro using the correct pasteboard format. Logged-in FM Dojo users can also click Save to my library to add a copy to their own snippets.
Editor themes
Choose from six themes: FM Dojo (light/dark auto), One Dark Pro, Dracula, GitHub Dark, Nord, and Solarized Dark.
Other features
- Copy — one-click copy to clipboard
- Download — save your code as a file
- Send to Chat — send your current code to the main AI Chat with full context, so you can ask questions without copy-pasting
- Line numbers, bracket matching, code folding, find & replace
- Auto-save with last-saved timestamp
Code Chat
Code Chat is a companion AI panel built into the code editor — click Code Chat in the toolbar to open it alongside your code. Your current code is automatically included as context with every message. Use it to validate logic, ask "what does this do?", get suggestions, or — when the language is FM Schema — ask the AI to design a database from a plain-English description.
4. XML Tools
FM Dojo includes two XML tools for working with FileMaker clipboard data.
Generate FileMaker XML from the code editor and paste it directly into FileMaker Pro. Supported types: scripts, calculations, tables, fields, and table occurrences. Relationships cannot be pasted via clipboard yet — they must be created manually in FileMaker for now.
Copy FileMaker XML from the clipboard (scripts, custom functions, schema) and paste it into the code editor. FM Dojo converts it to readable plain text.
macOS Sequoia and earlier
XML paste works natively — copy from FM Dojo and paste directly into FileMaker Pro's Script Workspace without any additional tools.
macOS Tahoe / FileMaker 21+
FileMaker 21 on macOS Tahoe no longer accepts plain-text XML paste. The clipboard must be formatted with the correct FileMaker pasteboard type before pasting. Two helpers are available from the info button in the editor toolbar:
- FM Clipboard Helper.fmp12 — a FileMaker file with a one-click button. Copy from FMDojo, click the button, then paste. Requires the BaseElements plugin to be installed and enabled.
- AppleScript helper — a standalone script you run from Finder after copying. No FileMaker file or plugins needed.
Windows users
Windows users should use the FM Clipboard Helper.fmp12 file (same as macOS Tahoe). It requires the BaseElements Plugin — download it using the BaseElements button in the editor toolbar, then open the helper file and follow the same workflow.
5. Diagram Tool
A visual relationship diagram builder for mapping out your FileMaker database structure.
Building diagrams
- Add Table — create table occurrences with custom fields
- Draw relationships — drag from one table to another to create connections
- Edit relationships — define field mappings and operators (=, ≠, <, >, ≤, ≥)
- Sticky notes — add annotations anywhere on the canvas
- Color coding — assign colors to tables and notes for visual organization
- Drag to reorder, resize, lock/unlock position
Diagram Chat
Click the Diagram Chat button to open an AI chat panel alongside your diagram. Describe what you want to build in plain English and the AI generates or refines a complete Anchor-Buoy relationship graph — table occurrences, fields, and relationships included. Continue the conversation to add tables, adjust relationships, or restructure your design.
Set a naming convention in the chat panel so the AI follows your client's conventions — for example, three-letter table prefixes like INV_, SAL_, REP_.
Export & save
- Export to PDF — download your diagram as a PDF document
- Save — diagrams are saved to your account and can be loaded later
- Share — generate a public link to share your diagram (see Sharing below)
Snapshots
Snapshots let you import your FileMaker database structure from a “Save a Copy As XML” export file — no live server connection needed. Once imported, the Snapshot becomes the active schema for AI context in Chat and Code Editor, and can be loaded directly into the Diagram.
How to export from FileMaker
- Open your database in FileMaker Pro.
- Go to File › Save a Copy As XML…
- Check “Include details for analysis tools” — this is required to include field and relationship data.
- Save the .xml file and upload it on the Snapshots page.
Versioning
Each upload of the same database creates a new version. Give each version a name (like 1.0 or pre-migration) to identify it at a glance — this label replaces the auto-increment number as the primary identifier. Only one version per database can be active at a time.
- Click any version name to rename it inline.
- Click ★ to set a version as the active AI schema context.
- Click ↕ Diff to compare two consecutive versions — added and removed tables, fields, scripts, layouts, and relationships are shown. Modified scripts (same name, different steps) appear with a pencil icon — click them to open a step-by-step diff showing exactly which script steps were added, removed, or unchanged.
- Click View to browse the full schema: tables & fields, TOs & relationships, layouts, scripts, and value lists.
Active schema
When a Snapshot is active, it feeds your real field names, layout names, and script names into the AI as context — in Chat, Code Chat, and Diagram Chat. The AI will use your actual table and field names instead of inventing generic ones. You can switch between a live database connection and a Snapshot at any time; activating one deactivates the other.
Loading into the Diagram
Each Snapshot can be loaded directly into the Diagram tool. In the Snapshot detail view (click View), the diagram data is pre-populated from the XML export — table occurrences, fields, and relationships are all included.
GitHub integration
Connect a GitHub account on the Connections page to automatically commit each Snapshot to your repo when it's uploaded. The commit stores one JSON file per table and one per script, so GitHub's native diff shows exactly what changed between versions.
- Only files that actually changed are uploaded — unchanged files are skipped to keep diffs clean.
- You can also push any version manually using the GitHub button on each version row, and customize the commit message before pushing.
- If a version was imported before you connected GitHub, use the manual push button to commit it retroactively.
Schema Analyzer
Click Analyze on any version row to open the Schema Analyzer — a live best-practice audit of your FileMaker schema. It scores your database against FileMaker-specific standards and flags issues with actionable details.
- Health score — overall percentage of checks that pass, shown in the header.
- Best Practices checklist — checks for primary keys (serial auto-enter), audit trail fields, anchor table occurrences (anchor-buoy pattern), orphaned TOs, cartesian joins, error capture coverage, empty scripts, oversized scripts (over 100 steps), and naming convention consistency. Click any failing check to expand it and see the full list of affected tables or scripts.
- Naming Conventions table — shows the dominant casing style (PascalCase, camelCase, SCREAMING_SNAKE, etc.) for tables, fields, scripts, and TOs, flagging categories that are inconsistent.
- Table Health Matrix — a row per base table showing primary key ✓/✗, audit field presence, anchor TO presence, field count, TO count, and layout count.
- Script stats — step distribution histogram plus totals for loops, sub-script calls, and error capture coverage.
- Share — click Share in the analyzer header to generate a public read-only link. Anyone with the link can view the full analysis — no login required.
6. Sharing
Share conversations, diagrams, and code snippets as live, read-only web pages — no login required for viewers.
Chat & diagrams
- Click the Share button in the chat or diagram toolbar.
- A unique URL is generated instantly.
- Shared pages include full syntax highlighting and formatting.
- Great for team reviews, client demos, and forum posts.
Shared chat pages include a call-to-action for viewers to try FM Dojo themselves.
Code snippets (Clip Manager)
- Click the share icon on any snippet in the Code Editor sidebar.
- A public link is generated — share it with anyone.
- The shared clip page shows the code with full syntax highlighting, a copy button, and for FileMaker types, a "Copy as FileMaker XML" button.
- Viewers can save a copy of the snippet to their own library if they're logged in.
- Revoke sharing at any time from the snippet options.
Sharing a folder of clips
Share an entire folder of snippets with a single link — useful for distributing script libraries, starter templates, or client-specific code collections.
- Hover any folder in the Clip Manager sidebar — a share icon appears alongside the rename and delete buttons.
- Click it to generate a public link. The URL is copied to your clipboard automatically.
- The shared folder page lists all clips in the folder with full syntax highlighting, copy buttons, and FileMaker XML export where applicable.
- Viewers can click Save folder to my library to add a copy of the entire folder — with all its clips — to their own account in one click. If a folder with that name already exists in their library, it's saved with a short random suffix (e.g. Demo_A3F9B).
- The share icon turns teal when a folder is shared. Click it again to copy the link without regenerating it.
7. FM Server Admin
The FM Admin panel (accessible from the top navigation) gives you a centralized console to monitor and manage all your FileMaker servers from inside FM Dojo. This feature is in Beta — use in production at your own risk.
Adding a server
- Go to FM Admin in the top nav.
- Click Add Server and enter the server URL, label, and admin credentials.
- FM Dojo verifies the connection and saves the server to your account.
Server overview
Each server card shows version, uptime, open file count, and connected client count. Expand any server to access four tabs:
- Overview — server version, platform, uptime, WebDirect status, security settings, and general configuration (editable). Includes a live event feed (see below).
- Files — all open databases with status and session counts. Toggle databases open or closed.
- Clients — all connected users with IP address, app type, version, and connection time. Send a message to any client or disconnect them with a configurable grace period and message.
- Schedules — view, enable/disable, and run server-side schedules.
Live monitoring
When you open a server, FM Dojo opens a real-time stream to the FM Admin API. A pulsing Live indicator appears in the server header when the stream is active.
- Client connections and disconnections appear instantly in the Live Events feed in the Overview tab — no manual refresh needed.
- Database status changes (e.g. a file going from NORMAL to CLOSED) are also surfaced in the feed.
- Events are color-coded: green for connections, red for disconnections, blue for database changes.
- The Clients and Files tabs reflect live data automatically — the manual Load buttons are hidden when the stream is active.
8. SSH Log Viewer
The SSH Log Viewer lets you read FileMaker Server log files directly from the FM Admin panel — no VPN, no server GUI, no manual SSH session required. Logs stream over an encrypted SSH connection; your private key is decrypted server-side and never sent to the browser.
Setting up SSH
- Open a server in FM Admin and switch to the Logs tab.
- Click SSH Setup to expand the configuration form.
- Enter your SSH host (the server's hostname or IP), port (default 22), and username.
- Paste your private key in PEM format (RSA, ECDSA, or Ed25519). The key is encrypted before being stored — it is never visible again after saving, but remains in the database until you replace it.
- Click Test Connection. FM Dojo connects to the server, locates the FileMaker log directory automatically (macOS and Linux paths are both supported), and saves the configuration.
/Library/FileMaker Server/Logs (macOS) or /opt/FileMaker/FileMaker Server/Logs (Linux). FM Dojo only reads logs — it never writes to the server.Reading logs
Once SSH is configured, the Logs tab shows a checklist of available log files:
- Event.log — server events, database opens/closes, schedule runs
- Access.log — client connection and authentication records
- Stats.log — performance metrics (connections, calls per minute, elapsed times)
- fmdapi.log — FileMaker Data API requests and errors
- fmshelper.log — FileMaker helper process activity
- fmodata.log — OData endpoint activity
- TopCallStats.log — the most expensive script and database calls
- wpe0.log / wpe_debug.log — Web Publishing Engine activity and debug output
Check one or more log files and click Load. Each file's last 500 lines are fetched in parallel and merged into a single time-ordered stream. Each line is prefixed with a color-coded tag — [EVENT], [ACCESS], [DAPI], etc. — so you can tell logs apart at a glance.
Use the Lines selector to load more (up to 2 000 lines per file) if you need deeper history.
AI log analysis
Click Analyze with AI to send the current log view to the AI for analysis. You get a structured report covering:
- Summary — what is happening overall on the server
- Errors & Warnings — a list of every error or warning with plain-English explanations
- Patterns — repeating issues, performance concerns, or unusual activity
- Recommendations — actionable steps to address the problems found
To ask a specific question about the logs instead of a full analysis, type your question in the input box next to the Analyze button (or press Enter). For example: "Why are clients getting disconnected at 3 AM?" or "Are there any authentication failures?"
9. Tokens & Pricing
FM Dojo uses a token-based system. Every AI interaction (chat messages, AI Generate, Code Chat) consumes tokens from your balance.
How tokens work
- Each subscription plan includes a monthly token allowance.
- Unused tokens roll over — they accumulate month to month, so nothing is wasted.
- Your token balance is shown in the header and updates in real time after each message.
Pricing
- Monthly subscription plans at different tiers.
- Multi-currency support — USD, EUR, GBP, AUD, CAD, JPY, NZD.
- Upgrade, downgrade, or cancel anytime from your dashboard.
- Payments are handled securely through Stripe.
10. Account & Security
- Email + password or Google OAuth login
- Two-factor authentication (2FA) — set up with any authenticator app (Google Authenticator, Authy, etc.)
- Backup codes — generated during 2FA setup for account recovery
- Session management — view all active sessions across devices and revoke any one
- Password change — update your password from the Account page
All sessions are encrypted and expire automatically. Rate limiting is applied to all API routes.
AI Preferences
Customize how the AI responds from the Account page:
- Response Style — a slider from Precise (lower temperature, more deterministic) to Creative (higher temperature, more varied). The default is 0.70.
- Concise mode — when enabled, the AI gives shorter, more direct answers with less preamble and explanation.
Changes take effect on the next message you send.
11. Roadmap & Feedback
FM Dojo is actively developed based on community feedback.
- Roadmap — see what's planned, what's being considered, and what's been launched.
- Feature requests — submit ideas and vote on requests from other developers.
- Filter by type: Chat, Code Editor, Diagram, or New Feature.
- Rate importance: Not Important, Nice-to-Have, Important, or Critical.
12. Accessibility
FM Dojo includes several features designed to make the interface more comfortable and usable for a wide range of users and preferences.
Text size
Use the A− A A+ controls in the header to increase or decrease text size across the entire interface. Your preference is saved and restored automatically on your next visit. Three steps are available — default, large, and extra-large.
Dark mode
Click the sun/moon icon in the header to switch between light mode, dark mode, and system mode. System mode follows your operating system's appearance setting and switches automatically when your system preference changes.
Collapsible sidebar panels
The Chat and Code Editor both have sidebar panels that can be hidden to maximize the main content area. Use the panel toggle icon in the header to show or hide them. This is especially useful on smaller screens or when you want a focused, distraction-free workspace.
Keyboard navigation
The code editor (powered by CodeMirror) is fully keyboard-accessible. Standard keyboard shortcuts apply throughout — see the Code editor shortcuts table in the Tips & Shortcuts section. Tab navigation works across all interactive elements in the app.
Reduced motion
FM Dojo respects the prefers-reduced-motion media query. When reduced motion is enabled in your operating system accessibility settings, animated transitions are minimized across the interface.
Semantic structure
Page headings, landmark regions, and ARIA labels are used throughout the app to support screen readers and other assistive technologies. Code blocks in AI responses include descriptive labels and one-click copy buttons accessible via keyboard.
13. Tips & Shortcuts
Text size
Use the A− A A+ controls in the header to adjust text size across all pages. The setting is remembered between sessions.
Dark mode
Toggle between light, dark, and system theme using the sun/moon icon in the header.
Sidebar panels
The Chat and Code Editor both have collapsible sidebar panels. Use the panel toggle icon in the header to show or hide them.
Code editor shortcuts
| Shortcut | Action |
|---|---|
| Tab | Accept autocomplete suggestion |
| Cmd/Ctrl + F | Find & replace |
| Cmd/Ctrl + Z | Undo |
| Cmd/Ctrl + Shift + Z | Redo |
General tips
- The AI is most helpful when you give it context — paste your code, describe what you're trying to do, and mention the FileMaker version if relevant.
- Upload your snapshots or script PDFs directly into the chat for analysis.
- Use Diagram Chat to quickly scaffold a relationship graph from a plain-English description, then refine it manually.
- Share chat links with colleagues instead of copying and pasting long conversations.