nika lsp server plus the VS Code/Cursor extension for deeper workflow
intelligence.
v state: the binary ships
nika schema, nika lsp,
nika mcp, and nika wire. Use nika init for repo-local schema/rules,
or nika wire <client> for explicit MCP client setup.Tier 1 — JSON schema validation (today)
Any editor withyaml-language-server can validate .nika.yaml against
the workflow schema.
- VS Code
- Neovim
- Helix
- Zed / Cursor / JetBrains
Install the YAML extension (Red Hat).
It picks up the schema via the Or let
# yaml-language-server directive at
the top of .nika.yaml, or via settings.json:settings.json
nika init write this wiring for the current repo.In-file schema hint
Add one comment at the top of any.nika.yaml so the schema works with
zero editor configuration:
What tier 1 gets you
Field autocomplete
Verb keys, provider names, model identifiers, capability parameters.
Inline errors
Missing required fields, schema mismatches, wrong types.
Hover docs
Every field documented inline — descriptions come from the JSON Schema.
Format on save
Via
prettier-plugin-yaml or LSP-driven formatting.Tier 2 — nika lsp + extension
The generic yaml-language-server covers structural validation. A
custom nika-lsp crate adds Nika-specific semantics:
Cross-task binding analysis
Cross-task binding analysis
Resolves
${{ tasks.X.output }} across task boundaries. “Go to
definition” jumps from a binding reference to the source task. Unused
outputs flagged. Circular dependencies detected before run.Taint propagation warnings
Taint propagation warnings
Tracks untrusted inputs (fetched URLs, user-provided strings) flowing
into sensitive sinks (shell commands, MCP invocations). Surfaces
violations in the editor before CI catches them.
Workflow visualizer
Workflow visualizer
Inline DAG preview — a small panel showing the task graph as you
type. Click a node to jump to its definition.
Provider / model completion
Provider / model completion
Types
provider: → autocompletes from the catalog ( canonical providers · plus extended catalog IDs).
Types model: after a provider → autocompletes from that
provider’s models. Invalid pairs flagged inline.Capability-aware warnings
Capability-aware warnings
tools: [...] on a model without tool_calling → warning. JSON
schema on a model without json_mode: schema → warning with
fallback suggestion.Roadmap
| Capability | Status | Admission |
|---|---|---|
| JSON Schema (yaml-language-server) | shipped | nika schema + public schema URL |
nika lsp L4 crate | shipped | nika lsp |
| VS Code / Cursor extension | shipped | Marketplace + OpenVSX |
| MCP agent oracle | shipped, read-only | nika mcp (nika_check, nika_explain) |
| Zed / Neovim native integrations | 🧭 planned | Community + v1.0 |
Next
Schema reference
.nika.yaml top-level keys + workflow envelope.YAML syntax
Full grammar for every verb step.
First workflow
Preview of the target first-run experience.
Constellation
When each crate admits.