Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(fmodata): add fmodata CLI binary
Adds a non-interactive CLI (
fmodata) to the @proofkit/fmodata package,making every OData operation available from the shell for use in scripts,
CI pipelines, and one-off database tasks.
New
fmodatabinary entry in package.json →dist/cli/index.jstsdown.config.tsfor bundling the CLI separately from the libraryBuild script updated:
tsc && vite build && tsdown && publint --strictquery list/insert/update/delete— CRUD via raw OData requests with--top,--skip,--select,--where,--order-byoptionsscript run <name>— execute FileMaker scripts with optional--paramwebhook list/get/add/remove— full webhook lifecycle managementmetadata get/tables— retrieve OData metadata (JSON or XML)schema list-tables/create-table/add-fields— DDL operations with a--confirmflag; without it the command is a safe dry-runAll commands accept
--server,--database,--username,--password,--api-keyflags with automatic env var fallbacks(
FM_SERVER,FM_DATABASE,FM_USERNAME,FM_PASSWORD,OTTO_API_KEY)API key takes precedence over username/password when both are set
JSON by default;
--tableflag renders results as ASCII table via cli-table3Errors go to stderr; non-zero exit code on failure
tests/cli/unit/— connection env-var resolution and output formattingtests/cli/commands/— per-command happy-path and error teststests/cli/integration/— verifies built binary and--helpoutputtests/cli/e2e/excluded from default runs; run withtest:cli:e2eNew
apps/docs/content/docs/fmodata/cli.mdxwith full command reference,connection options table, CI integration examples, and dry-run guidance
Added to fmodata nav under a new
---CLI---sectionCo-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
refactor(fmodata/cli): rename --table→--pretty, --table-name→--table
--table-name back to --table (no longer conflicts with output flag)
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
docs(fmodata/cli): add AI agent usage section
Covers three integration patterns:
Also includes a safety callout recommending read-only vs write vs schema
permission tiers, with a note that --confirm is the natural enforcement
point for schema operations.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
refactor(fmodata/cli): rename query command group to records
queryimplied read-only;recordsbetter reflects that the commandgroup covers the full CRUD lifecycle (list, insert, update, delete).
Command("query") → Command("records")
records *Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
fix(fmodata/cli): improve query string encoding and error handling
buildQueryStringto encode query parameters for safety.makeRecordsCommandto use braces for clarity.cli-table3dependency topackage.jsonfor table formatting.These changes ensure that query parameters are properly encoded and improve the readability of error handling in the CLI commands.
docs(fmodata/cli): clarify authentication and query encoding details
FM_PASSWORDdoes not block authentication.These changes enhance the clarity of authentication behavior and query handling in the CLI documentation.
fix(docs): correct
query delete→records deletein CLI docsCo-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com