# Nika > Documentation for Nika — the AGPL workflow engine for AI. Semantic YAML, Rust, runs on your laptop. ## Docs - [12-gate admission](https://docs.nika.sh/architecture/admission.md): Twelve gates every crate must pass before joining the Nika workspace. No exceptions, no late fixes. - [ADR index](https://docs.nika.sh/architecture/adrs.md): 35 Architecture Decision Records — 30 Accepted, 5 Proposed. Every significant engineering decision in Nika Diamond, versioned + auditable. - [Forward-compat invariants](https://docs.nika.sh/architecture/forward-compat-invariants.md): Eight patterns + five decisions that protect Nika's public API against breaking change. LOCKED at v0.80. - [L0 foundation decisions](https://docs.nika.sh/architecture/l0-decisions.md): Q1-Q13 — the 13 architectural decisions that lock the L0 + L0.5 layer shape. - [Layer registry](https://docs.nika.sh/architecture/layers.md): Six layers (L0 → L5) + L0.5 for trait-only crates. Upward dependencies are a CI hard failure. - [Releases](https://docs.nika.sh/changelog/releases.md): Every crate admission + every significant engine update. One source of truth — `CHANGELOG.md` on the `main` branch. - [Roadmap](https://docs.nika.sh/changelog/roadmap.md): Real semver toward 1.0. Quality over speed. 0.90.0 is the first public release-candidate; 1.0 tags when the gates are green. - [Architecture](https://docs.nika.sh/concepts/architecture.md): Nika is a single Rust binary composed of 42 crates (locked target) across 6 layers. Strict downward dependencies, enforced by cargo-deny. - [Bindings](https://docs.nika.sh/concepts/bindings.md): Template expressions that move values between tasks. Scoped, typed, taint-tracked, evaluated at runtime. - [Events](https://docs.nika.sh/concepts/events.md): Five observability channels. Every run emits typed events, metrics, traces, billing records, and append-only audit entries. - [Providers](https://docs.nika.sh/concepts/providers.md): 14 canonical providers, local-first — plus a wider engine catalog — behind one unified InferRequest. Switch provider = change one field. - [Security model](https://docs.nika.sh/concepts/security.md): What protects a Nika workflow: SSRF defense on by default, a shell blocklist, taint-tracked trust levels, typed security errors, and a hardened Rust supply chain. - [The 4 verbs](https://docs.nika.sh/concepts/verbs.md): infer · exec · invoke · agent. Four verbs, closed set, typed contracts. Everything else is data. - [Workflows](https://docs.nika.sh/concepts/workflows.md): A .nika.yaml file: schema · metadata · tasks. Parsed into a DAG, executed with structured concurrency. - [CEO Monday brief](https://docs.nika.sh/examples/ceo-monday-brief.md): T4 epic · founders — market + engineering + KPIs synthesized, and the ping tells you what the run cost. - [Competitor radar](https://docs.nika.sh/examples/competitor-radar.md): T3 fan-out · strategy — everything they shipped last week, read in parallel, one Monday brief. - [Config drift sentinel](https://docs.nika.sh/examples/config-drift-sentinel.md): T3 · SRE — only unsanctioned prod drift wakes anyone. jq decides; the model explains. - [Contract guard](https://docs.nika.sh/examples/contract-guard.md): T2 chain · legal — clause extraction on a LOCAL model. The contract never leaves the machine. - [Deep research brief](https://docs.nika.sh/examples/deep-research-brief.md): T4 epic · research — plan → budgeted research agent → thinking-model synthesis. Auditable end to end. - [ETL quarantine](https://docs.nika.sh/examples/etl-quarantine.md): T2 chain · data engineering — bad batches degrade to a quarantine file instead of killing the pipeline. - [Incident war room](https://docs.nika.sh/examples/incident-war-room.md): T4 epic · SRE — evidence gathered in parallel, a typed timeline, and a recovery check before any postmortem draft. - [Invoice chaser](https://docs.nika.sh/examples/invoice-chaser.md): T2 chain · finance — overdue reminders drafted, and nothing goes out until a human says yes. - [Localization factory](https://docs.nika.sh/examples/localization-factory.md): T3 fan-out · product / i18n — the whole docs tree translated, voice intact, zero copy-paste. - [Meeting actions](https://docs.nika.sh/examples/meeting-actions.md): T1 starter · every office job — transcript in, tracker-ready typed action items out. - [Examples](https://docs.nika.sh/examples/overview.md): Real-job workflows, tiered from a 4-task starter to a multi-agent swarm — every file conformance-validated, every industry covered. - [PR review fan-out](https://docs.nika.sh/examples/pr-review-fanout.md): T3 · engineering — one read-only review agent per changed file. A swarm with a leash. - [Price watch](https://docs.nika.sh/examples/price-watch.md): T1 starter · e-commerce — a price-drop alert with zero model calls. - [Release notes](https://docs.nika.sh/examples/release-notes.md): T2 chain · engineering — git log → typed notes → CHANGELOG edited in place → team pinged. - [Release radar](https://docs.nika.sh/examples/release-radar.md): T2 chain · devops — dependency release feeds diffed against last run · only the NEW ships reach you. - [Release train](https://docs.nika.sh/examples/release-train.md): T4 epic · devops — parallel gates, a human GO, an absolute-time hold until the window · ship, verify, record. - [Resume screener](https://docs.nika.sh/examples/resume-screener.md): T3 fan-out · HR — a local-model rubric per candidate, ranked deterministically. PII never leaves the machine. - [SEO content brief](https://docs.nika.sh/examples/seo-content-brief.md): T2 chain · SEO — a content brief grounded in what your competitor actually published, not vibes. - [Social repurpose](https://docs.nika.sh/examples/social-repurpose.md): T1 starter · marketing — one post becomes a thread, a LinkedIn post and a newsletter blurb, in parallel. - [Standup digest](https://docs.nika.sh/examples/standup-digest.md): T1 starter · engineering — the standup note writes itself from what you actually committed. - [Support triage](https://docs.nika.sh/examples/support-triage.md): T2 chain · support — the overnight queue classified, first replies drafted, urgent ones escalated. - [Agents](https://docs.nika.sh/getting-started/agents.md): Claude Code, Cursor, Codex, Windsurf: your agent does the work once, Nika keeps the workflow. Two commands wire any of them. - [Editor setup](https://docs.nika.sh/getting-started/editors.md): Schema validation, nika-lsp, the VS Code/Cursor extension, and MCP agent wiring. - [Your first workflow](https://docs.nika.sh/getting-started/first-workflow.md): Five minutes from install to a checked and runnable Nika workflow. - [Install Nika](https://docs.nika.sh/getting-started/installation.md): Install Nika, verify the binary, scaffold a repo, and wire editor/agent MCP clients. - [Writing Nika as an agent](https://docs.nika.sh/guides/agent-authoring.md): The deterministic protocol — route to a template, fill the slots, check, repair from the error. A weak model on this path beats a strong model improvising. - [How to write Nika](https://docs.nika.sh/guides/patterns.md): The twelve patterns of well-written Nika — each one taught by a canonical example, each anti-pattern named. - [Templates](https://docs.nika.sh/guides/templates.md): Six instantiable skeletons covering the recurring workflow shapes. Copy, fill the SLOT lines, check, ship — agents don't invent structure, they instantiate it. - [Troubleshooting & FAQ](https://docs.nika.sh/guides/troubleshooting.md): The errors you'll actually hit, what they mean, and the questions everyone asks — version story, runnable state, providers, syntax dialects. - [Introduction](https://docs.nika.sh/introduction.md): Intent as Code: the workflow language for AI. One file, 4 verbs, one binary. Runs on your laptop. - [Builtins catalog](https://docs.nika.sh/reference/builtins.md): The canonical stdlib: engine-native nika:* tools across 5 categories, all reached through the invoke: verb. - [Capability rules](https://docs.nika.sh/reference/capabilities.md): The capability rules that map provider/model pairs to their feature set — modalities, tools, JSON mode, streaming, token limits. - [CLI reference](https://docs.nika.sh/reference/cli.md): Every nika subcommand, flag, and environment variable. - [Crate constellation](https://docs.nika.sh/reference/constellation.md): Visual map of every Nika Diamond crate across six layers. Live admission status. The 42-crate architecture (locked target), reached additively across 1.x minors. - [Error codes](https://docs.nika.sh/reference/error-codes.md): The typed error model — namespaces, categories, and the 28 registered v0.1 codes. Generated from the spec registry. - [MCP catalog](https://docs.nika.sh/reference/mcp-catalog.md): 105 MCP server entries Nika knows about by id. Registry schema + stdio/HTTP packages, snapshot 2026-04-17. - [Providers catalog](https://docs.nika.sh/reference/providers-catalog.md): Every LLM provider Nika knows about — the canonical 14 of stdlib v0.1 (5 local · 8 cloud · 1 mock), API dialects, and environment variables. - [JSON Schema](https://docs.nika.sh/reference/schema.md): The machine-authoritative schema for .nika.yaml. - [Live state](https://docs.nika.sh/reference/status.md): Canonical live state of the Nika Diamond rewrite. Every number driven by `scripts/refresh-status.sh`. Drift caught by hygiene vector 23. - [YAML syntax reference](https://docs.nika.sh/reference/yaml-syntax.md): Full .nika.yaml schema. Every field, type, and validation rule. ## OpenAPI Specs - [openapi](https://docs.nika.sh/api-reference/openapi.json)