API reference
This section covers everything dispat exposes to machines. The project has no server and no HTTP endpoint, so it relies entirely on three stable surfaces.
Each surface provides a stable contract. The command line flags and exit codes are the contract for your CI pipeline. The configuration keys and defaults are the contract for your repository, and the exported types and functions are the contract for your custom programs.
The command line
Read the CLI reference for a list of every command and flag. The index page details the exit codes and global flags.
Run dispat status to plan a release and print it without doing anything. Run
dispat release to carry out that exact plan. Every other command narrows these two or performs a
single step.
The configuration file
Check the Configuration reference to understand every key in dispat.json, dispat.yaml
and dispat.toml. This page explains how dispat discovers the file and what each default is. It also shows how a
package overrides its space.
Polyrepository control files add four machine-readable fields: polyrepo, configs, repositoryOverrides, and
repositoryBaselines. Dependency provider objects also accept external, and commit accepts branch. Their exact
runtime and recovery contract is in A control repository; the exported
Go shapes are in models. The CLI exposes the same composition through --polyrepo and repeatable
--configs global flags.
A fleet with no control repository uses repository as its activating identity and an optional repositories roster
of {name, url, path, branch} entries for other peers. Their contract is
in A choreographed fleet; --polyrepo=false is the local escape for one invocation.
The Go packages
Read Go packages for details on the six modules dispat uses. You can import each module on its own. They do not require a dispat binary, a git repository, or network access.
| Package | What it does |
|---|---|
pkg/ccme | Parses commit messages in the Conventional Commits Monorepo Extension format |
pkg/scanner | Reads dependency manifests across twenty-one ecosystems into one shape |
pkg/writer | Rewrites those manifests in place, preserving every byte it does not change |
pkg/manifest | Provides the vocabulary the reader and the writer share |
pkg/models | Exposes the typed configuration model so tooling can author config files as values |
pkg/config | Loads JSON, YAML, and TOML configuration, including local file references |
The formats around them
Three more pages describe formats instead of surfaces. They belong in this section because machines read them.
- Commit messages defines the format dispat reads release intent from.
- Script environment lists the
DISPAT_*variables every stage script receives. - Diagnostic codes numbers everything dispat can report, explaining what each code means and what you should do about it.