Skip to content

CLI

The axint binary ships with four subcommands.

axint init [dir]

Scaffold a new Axint project.

Terminal window
axint init my-intents # default template (send-message)
axint init my-intents --template log-workout

Creates:

  • package.json (pinning @axint/compiler at the current version)
  • tsconfig.json
  • intents/ with the starter template
  • ios/Intents/ (output target)
  • .vscode/mcp.json (pre-wired for Claude Code / Cursor / Windsurf)
  • .gitignore
  • README.md

Refuses to run in a non-empty directory unless --force is passed.

axint compile <file>

Full pipeline: parse → validate → generate → (optional sandbox + format).

FlagWhat it does
--out <path>Output path for the Swift file
--target <name>Apple OS target (ios17, ios18, ios26, macos14, macos15, macos26)
--sandboxStage-4 SPM build verification
--formatPipe output through swift-format
--strict-formatFail if swift-format is missing or errors
--emit-info-plistEmit <Name>.plist.fragment.xml
--emit-entitlementsEmit <Name>.entitlements.fragment.xml
--jsonMachine-readable output

axint validate <file>

Parse + validate only. Faster than compile — skips Swift codegen and the sandbox stage. Good for live linting in editors and pre-commit hooks.

FlagWhat it does
--sandboxStill run sandbox validation on the hypothetically-generated Swift
--jsonMachine-readable output

axint templates [name]

List or fetch a bundled template.

Terminal window
axint templates # list all
axint templates --json # machine-readable
axint templates send-message # print the template source

axint mcp

Start the MCP server on stdio. Used internally by .vscode/mcp.json and global MCP configs — you don’t normally invoke it by hand.

Terminal window
axint mcp
# Starts an MCP server speaking the Model Context Protocol over stdio.