.nika file your agent, app, cron or CI can hand the repeatable slice of the work to, checked before a single token is spent and verifiable after it runs. This page is an honest map, including the places where the other tools win.
Chat is for trying; Nika is for keeping. The meeting-notes request you retype into a chat every Monday becomes meeting-actions.nika: checked before it runs, run on a local model, and returning typed action items you can get again next week with one command. The chat is an illustration; the file, the check and the run (ollama/llama3.2:3b) are captured from the real CLI.
The one thing that is different
Nika is the only one where you can audit a workflow before you run it.nika check reads the file statically and tells you the plan, an honest cost floor, which secrets flow into which step, and the permits boundary, before anything executes. Recorded executions leave a hash-chained trace that nika trace verify confirms or breaks; refusal before execution need not leave a journal. The receipt comes from the runtime, never from a model’s prose.
That is a property of the whole design (one static Rust binary, a frozen language, the model you choose), not a feature bolted on. It is what the rest of this page is measured against.
Where Nika fits
| You want to… | Reach for |
|---|---|
| Turn a repeated AI job into a reviewable, diffable file | Nika |
| Know what a workflow will cost and touch before it runs | Nika (no other tool checks cost and secret flows statically) |
| Run AI work locally, offline, with no keys | Nika (mock and Ollama paths), or a local framework |
| Build a long-lived, distributed, durable-execution system | Temporal, DBOS, Restate |
| Write agent logic as code with a visual graph | LangGraph, Mastra |
| Orchestrate repos, runners and services in CI | GitHub Actions, Argo |
| An autonomous coding agent in your editor | Cursor, Claude Code, Continue.dev |
Where Nika is honestly weaker
We publish this because a comparison that only lists wins is marketing, not a map.- No IDE chrome. Cursor and Continue.dev win for in-editor UX. Nika ships a VS Code extension for
.nika(syntax, a DAG view, diagnostics), but it is not an agentic editor. - No visual workflow builder. LangGraph has a graph UI. Nika draws the DAG (
nika inspect file.nika --format mermaid) but you author in YAML and CLI. - No enterprise durable-execution track record. Temporal has a decade of battle-testing for long-lived distributed state. Nika is a finite single-run DAG, one file in, one run out. Different problem.
- Younger, smaller community. LangGraph and Cursor have far larger ecosystems today.
- Human gates are explicit, not conversational. A run can stop at a declared
nika:prompt, ask at an interactive terminal, or pause durably in headless mode until it is resumed with an answer. It never invents mid-flight questions outside the workflow, so the control point stays reviewable and repeatable; it is still not a chat.
Where Nika is honestly stronger
- Check before run. The static audit (plan, types, cost floor, secret flows, permits) exists in no other tool in this list. You spend zero tokens to learn a workflow is broken or expensive.
- Receipts, not vibes. The hash-chained trace is tamper-evident: verify exits clean or names the first altered link. Editable, lossy chat logs cannot make that claim. The underlying pattern is tool-neutral — run receipts — and worth adopting even without Nika.
- One static binary. The same file is a runner, a checker, a golden-test harness, an MCP server, an LSP, and a time-travel DAP debugger. No runtime to stand up, no cluster.
- The file is portable. A Nika workflow is text bound to no framework: any conformant engine runs it. Your logic is not locked to one vendor’s Python graph.
- Sovereign by construction. AGPL engine, Apache-2.0 spec, local or hosted inference, no mandatory cloud, canonical providers you pick from (the catalog lists more hosted routes).
The honest bottom line
If you need durable distributed execution, use Temporal. If you want an agentic IDE, use Cursor. If your agent logic is genuinely code, use LangGraph. If you want the repeatable, budgeted, auditable slice of AI work to live in a file you can review before it spends and verify after it runs, that is Nika, and it composes with all of the above rather than replacing them.@supernovae-st/nika@0.120.2 and call run() —
that package does not put nika on your shell PATH. See
SDK quickstart.