Nika
Nika is a workflow language and engine for AI tasks, turning repeatable AI work into files that can be run, reviewed, diffed, and shared. It solves the problem of AI work disappearing into chats by providing a declarative pipeline file with four verbs, audited before any token is spent. It is for developers who want to codify AI workflows with local-first execution and verifiable receipts.
✨ Key features
- Declarative workflow files with four verbs: exec, infer, invoke, agent.
- Static audit before execution: checks references, permissions, secrets, types, and costs.
- Local-first execution: supports local models via Ollama or self-hosted servers, no cloud required.
- Hash-chained trace receipts for every run, tamper-evident and replayable.
- Image generation with provenance embedded in PNG tEXt chunks.
- Resume and replay runs from trace files, skipping completed tasks.
🎯 Use cases
- Automate code review by analyzing PR diffs and commenting on high-risk changes.
- Create daily briefs that fetch notes and generate summaries with local models.
- Build CI pipelines that test workflows offline with golden outputs.
- Generate images with local or cloud providers while tracking provenance and cost.
📦 Installation
🧰 Requirements: Requires a 64-bit OS (macOS, Linux, Windows) and optionally Ollama for local models; no API keys needed for local execution.
brew install supernovae-st/tap/nika # or: curl -LsSf https://nika.sh/install.sh | sh
🚀 Usage
nika try 01-hello # zero setup: no key, no model server
nika try 01-hello --model ollama/llama3.2:3b # got Ollama? the same run, real + local
nika list # workflows below this directory
nika # on a terminal: open one continuous thread
⚠️ Good to know
The README notes that the project is under active development and some features may be incomplete; it also mentions that the audit is advisory for some aspects (e.g., local servers not probed, key presence not judged) and that cost estimation is unbounded for local/unknown models.
❓ FAQ
What does 'nika check' do?
It statically audits a workflow file before any model is called, catching broken references, permission issues, secret flows, and type mismatches, and points out exact fixes.
Can I run Nika without a cloud API key?
Yes, Nika is local-first. You can run workflows with local models via Ollama or self-hosted servers, and no cloud is required.
How does Nika ensure trace integrity?
Every run writes an append-only, hash-chained journal to .nika/traces/. The nika trace verify command recomputes the chain to prove tamper-evidence.
What is the 'permits' block in a workflow?
It declares the blast radius of the workflow, such as allowed hosts, paths, programs, and tools. It is default-deny, and tasks that reach beyond it are caught statically.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.