.nika.yaml file, you review it, the runtime enforces it, and it
runs again next week without re-prompting.
Two commands wire any agent:
nika init: teach the repo
nika init scaffolds the repo (idempotent: existing files are skipped,
--force overwrites):
AGENTS.md, the agent operating guide: the four verbs, the authoring loop (nika new --from <template>→ fill →nika check→ repair from the error), and the rules that keep generated workflows valid. Read natively by Codex, Claude Code, Cursor, Jules and every AGENTS.md-aware tool..vscode/settings.json: maps*.nika.yamlto the canonical JSON schema, so completions and validation work in any YAML-aware editor..cursor/rules/nika.mdc, the Cursor rules file (globs*.nika.yaml): the syntax floor + the check loop, auto-attached whenever the agent touches a workflow file.- Cursor, fully equipped (next release): the three kit subagents
(
.cursor/agents/nika-{author,debugger,migrator}.md), the delegation rule (.cursor/rules/nika-delegation.mdc) and the three seatbelt hooks (.cursor/hooks.json+.cursor/hooks-nika/— session context · check-on-edit · a guard that audits before anynika run). Cursor’s local plugin loader consumes MCP + skills only, so the binary carries the rest project-side; every body is byte-identical to the kit. .agents/skills/nika-authoring/SKILL.md(0.93+): a repo-level agent skill — Codex and every.agents-aware client discover it automatically and can invoke it as$nika-authoring. Same author → check → repair loop, packaged as a skill.
Or: install the plugin (Codex · Claude Code)
Codex and Claude Code users can skip per-repo setup entirely — the engine repo hosts one plugin for both ecosystems: 4 skills, 3 subagents, 5 slash commands, the three seatbelt hooks (one dialect, sniffed — Codex speaks Claude Code’s hook contract verbatim) and the MCP oracle:nika-authoring skill lands (invoke it explicitly, or
let it auto-trigger on .nika.yaml work), and the read-only oracle is
wired (9 tools: nika_check + nika_explain + the authoring surface).
The plugin expects the nika binary on your PATH (brew install supernovae-st/tap/nika).
nika wire: give the agent the real oracle
nika wire patches your client’s MCP config to add Nika’s read-only
oracle: the agent can check and explain, never execute (nika run
stays in your hands):
Whatever the harness, the payloads an agent parses are the same
versioned wires — envelopes, exit codes, and evolution rules are
documented in Machine surfaces.
Any other MCP client takes the same stanza — a stdio server,
command: nika, args: ["mcp"]. Verified shapes:
- Gemini CLI (has its own installer):
gemini mcp add nika nika mcp(writes the project’s.gemini/settings.json). - Zed:
settings.json→"context_servers": { "nika": { "command": "nika", "args": ["mcp"] } }. - opencode · Cline · Continue…: same two fields in each client’s MCP config. The oracle is client-agnostic.
nika_check: the full static audit (plan · cost ceiling · secret flows · types · tool args · schema) as structured JSON. The agent fixes its own file before you ever see it.nika_explain: anyNIKA-XXXerror code, explained.nika_schema·nika_examples·nika_template·nika_canon·nika_catalog·nika_tools: the authoring surface — the JSON Schema, the runnable examples, the skeletons, the canon SSOT, and the provider + builtin catalogs as versioned machine projections, so the agent follows the template→fill→check→repair path instead of guessing structure. All read-only, all served from the embedded pack.
The
codex target is shipped (0.93+): nika wire codex patches
~/.codex/config.toml ([mcp_servers.nika] · command = "nika" ·
args = ["mcp"], comments preserved) — Codex also reads AGENTS.md
natively, so nika init alone already teaches it the authoring loop.The loop
Editor surface
The VS Code / Cursor / Windsurf extension adds check-as-you-type, cost inlay hints, DAG visualization and trace replay on top. See Editors.Read next
Agent authoring protocol
The deterministic path: template → fill → check → repair.
Templates
The valid skeletons
nika new --from instantiates.