SuperAPI AI Directory

nika

Nika is a workflow language tool for AI, with the slogan "Intent as Code". It turns repetitive AI work into readable .nika files, using a single Rust binary to parse, check, run, and trace. Users can describe tasks in natural language, and Nika will propose generating a workflow file, and before running, through check, show what will be executed, which models and tools will be used, what scope can be accessed, and the estimated cost, without calling any model or incurring any fees. Users can choose to run local or cloud models themselves, and all runs leave a verifiable hash chain record. Local-first, open source, supports installation methods such as Homebrew, npm, Nix, etc.; Windows requires WSL2.

Open website

About this tool

Nika is an AI workflow tool that "writes intent as code", and its core idea is to turn the AI work users repeatedly use into a locally stored, readable .nika file. Its overall form is: one file, four verbs, one Rust binary program, local-first, can use any model, and adopts the AGPL-3.0 license.

[Purpose] Nika is used to solidify repetitive AI work. Users can state a task in plain language, such as "extract action items from my meeting notes every Monday", and Nika will write it into a readable .nika workflow file. Compared with a chat window, the file can be retained, read, checked, repeatedly run, and reviewed and version-controlled like other files in a project.

[Main capabilities]

  1. Generate and save workflows: after describing a task in natural language, Nika proposes a .nika file, showing what it will do, which resources it can touch, and the check results. It will not write or run until the user explicitly enters yes.
  2. Pre-run check (nika check): reads the file and reports the operations to be executed, the scope that may be accessed, and the estimated cost, without calling models or spending money. The check can catch errors and provide fix suggestions.
  3. Cost control: check estimates cost based on model catalog prices and the output limits declared for each step. If a budget lower than that limit is set, the run will refuse to start, without calling models or incurring fees. Prices are catalog estimates, not bills.
  4. Human approval: steps can wait for human confirmation. It will ask in the terminal; in scenarios such as CI where no one responds, it will pause safely (exit code 4), and print the command line that can resume the run.
  5. Verifiable records: every run leaves a hash chain record, and nika trace verify can read it back for verification; even if only one byte changes, it will point out the line where the chain breaks. This verifies the record itself, not the correctness of the AI's judgment.
  6. Local and cloud models: supports reading provider keys from environment variables, and also supports local engines (Ollama, llama.cpp, LM Studio, vLLM, etc.); nika catalog can list available items. Providers are responsible for metering and charging; Nika's cost figures are only catalog estimates.
  7. Parallel execution: steps that do not depend on each other run in parallel, and the check plans execution waves before running.
  8. Failure handling: steps can declare fallback plans, the run will still end, the output will be marked as stale, and the record will retain failure information.
  9. EdTranslation and editing: nika compile can list the skeleton, preview, and answer stable questions with repeatable --answer; it supports conservative constant editing, and unresolved intentions remain incomplete without generating alternative workflows. --authoring-model can explicitly enable bounded model-assisted authoring.

[Usage] Installation: For Homebrew use brew install supernovae-st/tap/nika; for npm use npm install @supernovae-st/nika (the nika command is in node_modules/.bin; the npm package may lag behind the latest release, so use nika --version to verify); you can also download the archive from the latest release, and each release comes with verifiable SLSA provenance; the Nix repository provides a flake (builds the default branch, which may be ahead of the latest release); Windows requires WSL2, and no native binary is currently provided. Basic flow: Nika works only within the folder where it is started. Describe the task at the session prompt, and Nika proposes a .nika file and shows the inspection results; enter yes to save, then run. Files such as out/paid.csv will produce results, and /proof shows what the run-record proof demonstrates. In a session, /show prints the exact bytes proposed, /meaning maps the request item by item, no discards it, /intelligence changes the model selection, /restore is used to restore, Ctrl+T toggles full screen, and nika --plain outputs plain text. Using files directly: a workflow is an ordinary file, and the command line can compile, inspect, run, and verify it. The hello example always uses the mock/echo echo model, which proves the workflow can run but does not prove that the model answered the question. The trace of each run is recorded under .nika/traces/, and that directory is added to .gitignore when the file is created.

[Applicable scenarios] Suitable for AI workflows that need repeated execution, reviewable files, awareness of cost and access scope before running, and traceable verification after running, such as extracting action items from meeting notes, processing invoices and summarizing them, periodic summaries, and so on. It can also be used with coding assistants: the assistant writes the file, and Nika handles the inspection.

[Limitations] Nika is in the pre-1.0 stage. The session qualification description is based on six synthetic tasks, a macOS installed specific development build, not a release binary, and does not constitute a general reliability claim. Some requests cannot currently be expressed, and Nika will explain the reason it is blocked and will not write a file. A clean inspection only describes the file structure and boundaries; it does not prove that the model output is correct. Public releases do not include a knowledge snapshot; when there is no snapshot, authoring uses the language cards built into the binary. The README follows the source tree, and older installed versions may lack features described in it. Graph editing is not yet implemented by this CLI.

[Security reminders] When sharing workflows, do not share credentials or private data; check file paths and tool access permissions; do not put keys under version control. Run logs may contain the data processed by the workflow and the output; .nika/traces/ is a static data surface and should be excluded from Git unless intentionally made public, and treated according to the sensitivity level of the source data.