Conventions (do not violate)
Canonical Octonode repository documentation.
Conventions (do not violate)
- stdout is the response envelope only. All logging goes to stderr. A stray
console.login a node corrupts the IPC stream. - Single ownership of every
.octonodefield. Code owns signatures; config owns env/runtime/ topology. Compile/scan never rewrites source. Explicit Studio source refactors may rewrite one revision-checked declaration, but must not project config-owned topology into code. See config-reference.md. - Schema is the keystone. The Zod types in
@octonode/schemadefine the wire format and the config shape. Change them deliberately; everything downstream depends on them. - Keep dependencies minimal. The engine ships with just
zodandyaml. The server adds Hono. Don't pull in new deps without strong justification. - Match surrounding style. Comments explain why, not what. ESM throughout (
"type": "module"),.jsextensions in TS import specifiers (NodeNext resolution). - Config can be JSON or YAML.
scanpreserves comments and field ownership.