Determa is a family of tools for defining and running well-specified, verifiable
behavior. This repository holds the umbrella launcher — the determa command — and
the family landing page.
determa is a thin, git-style dispatcher: determa <product> … finds and runs the
determa-<product> command on your PATH.
determa state run machine.yaml # → determa-state run machine.yaml
determa list # installed products
determa --version
It is language-agnostic — it dispatches to whichever determa-state you installed
(the Python or the Rust build). Install the launcher in whichever ecosystem you like;
each one provides the same determa command:
| ecosystem | install | source |
|---|---|---|
| Python | pip install determa — or pip install "determa[all]" for the launcher plus the family |
python/ |
| Rust | cargo install determa |
rust/ |
| npm | npm install -g determa |
node/ |
| product | what it is | repositories |
|---|---|---|
| Determa State | a language-agnostic statechart engine (Harel/UML lineage) | spec · conformance · python · rust |
Future products slot in under the same determa <product> dispatch — no launcher
change needed, they just have to be on PATH as determa-<product>.
Family Connection and Context Configuration v1
defines the language-neutral connection, context, endpoint-routing, and future
family command contract. The current packages include local resolver APIs and
reserve determa config, determa context, and determa auth before product
dispatch, but they do not yet implement remote connections, clients, credential
storage, or configuration-file discovery.
The machine-readable v1 conformance vectors fix the expected configuration, endpoint, environment-name, and routing results without adding those behaviors to the launchers.
MIT — see LICENSE.