.nika.yaml
file, four verbs, one Rust binary. If you do the same AI task twice, make
it a workflow.
Nika runs today:
brew install supernovae-st/tap/nika, then
nika check and nika run. No API key needed for your first run
(--model mock/echo previews any workflow offline).What Nika is
A workflow language plus its reference engine. The YAML file is the contract: readable by you, writable by your agents, executed deterministically, audited before a single token is spent. Four verbs (infer, exec, invoke, agent) and nothing else; fetching a URL,
writing a file, calling GitHub are all tools under invoke.
workflow.nika.yaml
The
nika CLI, nika check, nika run, nika lsp, and read-only
nika mcp are live in v. Use nika init once per repo
for schema + agent rules, then nika wire <client> when you want an
agent client to call the real Nika oracle.What Nika is not
- Not an agent framework. No abstractions over agent loops you can’t read.
- Not a chatbot wrapper. No conversation state hidden in vendor APIs.
- Not another SDK. The YAML file is the interface.
- Not a SaaS. AGPL means the source travels with the binary.
I want to…
| I want to… | Best option |
|---|---|
| Install Nika locally | Installation |
| Run my first workflow | First workflow |
| Start from a real example | Examples gallery |
| Write a workflow well (or have an agent write it) | Patterns · Agent authoring |
See every .nika.yaml field | YAML syntax reference |
| Understand how verbs execute | Concepts · Verbs |
| Pick an LLM provider | Concepts · Providers |
Look up a NIKA-XXX error code | Reference · Error codes |
| Understand the engine architecture | Concepts · Architecture |
| Check the engine’s live build state | Reference · Status |
| Contribute | GitHub → supernovae-st/nika |
Why YAML
Because the same file is read by the machine and understood by the human. No DSL, no Python-pretending-to-be-config, no JavaScript callbacks scattered across nodes. The schema is the contract.Why Rust
Because workflows fail in production, and a single binary with zero runtime dependencies fails predictably. Because the engine must be auditable, line by line. Because clippy warnings and zero unwraps insrc/ are not aspirational. They are enforced by CI on every
commit.
The engine in one diagram
Built in the open, crafted crate by crate under a strict admission discipline. The live engineering state (crates · tests · hygiene) is one click away at Reference · Status, the design at Concepts · Architecture.Read next
Examples · real jobs
What would YOUR Monday look like? Starter to epic, every industry.
How to write Nika
The twelve patterns of well-written Nika, each taught by a
canonical example.
Install Nika
What ships at v, what doesn’t, how to track releases.
Workflows
How a
.nika.yaml file becomes an executed graph.Providers
Local-first: Ollama · llama.cpp · vLLM · LM Studio, or any cloud API.
Architecture
Six layers. Why L0 has zero async and zero I/O.