Documentation

Programmatic Access

How to drive Spirefy from scripts and other programs: the headless CLI, the WIT plugin contracts, and embedding the engine.

Browse documentation

Spirefy does not run a hosted REST API. Everything it does happens on your machine, so the ways to drive it programmatically are local: the command line, the plugin contracts, and embedding the engine.

The headless CLI

The spirefy CLI runs the same plugins the app does, without a window. This is how Spirefy fits into a script or a pipeline.

spirefy import path/to/spec.yaml   # run an import
spirefy curate --engines all       # run curation rules

import and curate run plugin by plugin, and a whole import-to-curate-to-export workflow runs from the CLI for CI. The technology page covers how it fits together.

The plugin contracts

The real extension surface is WIT. Every capability is a plugin that implements or consumes a WIT-typed interface, and the engine wires them together at load. If you want Spirefy to do something new, the path is a plugin, not an API call. See plugin development.

Embedding the engine

Zora, the plugin engine, is a Zig library you can embed in your own program to load and run Spirefy plugins. Embedding from a non-Zig host through a stable C ABI is on the roadmap; the surface is small, and we want to settle it before exposing it. The technology page has an example.