Skip to content
axint docs

.axint format

.axint is the compact Axint authoring format for Apple-native feature definitions. It is for the shape of the feature: the intent name, human-facing title and description, parameters, App Intent metadata, entities, summaries, entitlements, and Info.plist requirements.

The important part is where it lands. .axint, TypeScript, and Python all lower into Axint’s shared IR. From there, the same validator, Swift generator, diagnostics, Registry, and Cloud Check flow can operate on the result.

Where it fits

.axint

Best when the feature is mostly declarative and an agent needs the smallest editable source file.

TypeScript

Best when you want the full JavaScript/TypeScript toolchain, helper APIs, tests, and surrounding project logic.

Python

Best when your team or assistant workflow already lives in Python and you still want the same Axint IR and Swift output.

Minimal example

intents/send-message.axint
intent SendMessage {
title: "Send Message"
description: "Sends a message to a contact via your preferred messaging app."
domain: "messaging"
param recipient: string {
description: "Who to send the message to"
}
param body: string {
description: "The message content"
}
param urgent: boolean? {
description: "Mark as urgent"
}
}

That single file carries the Apple-facing contract: what the system should surface, what values the user can provide, and which native capability Axint needs to generate.

What Axint does with it

The compiler pipeline is the same idea as TypeScript and Python:

  1. Parse the .axint file.
  2. Format it into a canonical shape when needed.
  3. Lower the declarations into Axint IR.
  4. Validate App Intent constraints.
  5. Emit readable Swift and supporting Apple metadata.

The IR step is what keeps the system cohesive. Registry packages can distribute the compiled contract, Cloud can check generated output, and the Swift generator does not need to care whether the author started from .axint, TypeScript, or Python.

Format a file

Use the formatter to keep agent-authored files stable and easy to review:

Terminal window
axint format intents/send-message.axint
axint format intents/send-message.axint --write

If your installed @axint/compiler package does not yet accept .axint files in axint compile, use the equivalent TypeScript or Python surface for the production compile path. The public release notes will mark the package version that exposes .axint compilation end to end.

When to choose another surface

Use TypeScript or Python when the feature needs substantial implementation logic, project imports, tests, or runtime code. .axint is deliberately narrow: it captures the native feature shape and lets the rest of Axint do the heavy lifting.

Next steps