nika.yaml is the control plane. Each
*.nika.yaml file is executable workflow intent.
Recommended layout
PROJECT TREE ยท CONTROL PLANE + INTENT + PROOF
nika.yamlgoverns project-wide spend and the released reader profile this project uses.workflows/is reviewed as intent.src/nika.tsowns binary resolution and the working directory, not a second copy of project policy..nika/is runtime state. Ignore it in source control and mount it deliberately on a server.
Found the project
--project-file is the scripted door to the starter. It skips an existing
file unless --force is explicit. Bare nika arm reads and validates the
project and cadence grammar, reports what is armed, and schedules nothing.
The starter is optional and comments every governing example. Start with the
common rung that both released readers accept:
arm: when time or an event should start a workflow. Add traces: or
registry: for direct-run policy. The current cadence path does not compose
those two profiles yet, so the dedicated project file
and arm registry pages show valid copy-paste forms
for each lane.
Create one client
binpassed to the constructorNIKA_BINnikaonPATH
PATH
convenient for local development. cwd anchors relative workflow paths,
project-file discovery and the .nika/ state directory.
Probe at startup
check() resolves to a report so the caller can show every finding.
Keep receipts governed
.gitignore
Connect the next systems
Security boundary
Keep permits, secrets, argv and spend ceilings explicit.
LocalNika client
Read every local method and its machine twin.
Workflow concepts
The file remains the language contract.
Traces
Understand the durable journal under the SDK receipt.
Resident server
Keep armed beats running on a container, VM or bare server.
Runtime state
Persist traces and arming ledgers without committing them.