Cognet Folder
A cognet is a folder of source. There is no entry point and nothing to register:
axonl prepare finds every component and system wherever it sits, names each from its path,
and builds them into one mind.
my-cognet/
├── cognet.config.ts # how the mind wakes, and what models it needs
├── types/ # what the mind can believe — its components
│ └── body/
│ └── body.components.ts # or .rs, or .py
├── src/ # what the mind does — its systems
│ └── body/
│ ├── odometry.system.rs # or .ts, or .py
│ └── odometry.rs # plain code the system calls
├── interfaces/ # the cognet's own service interfaces — only when nothing standard fits
├── library/ # plain code shared by the whole mind
├── plugins/ # setup and teardown — never thinking
├── tests/
├── Cargo.toml # Rust dependencies — only with Rust
├── pyproject.toml # Python dependencies — only with Python
├── package.json # name and version — only when published on its own
├── components.lock.json # field numbers — generated, committed
└── .cognet/ # generated — never edited, never committed
Only cognet.config.ts and one system are required. Everything else appears when the mind
needs it.
| Is for | |
|---|---|
cognet.config.ts | what the mind needs from the runtime |
types/ | components, in any of the three languages |
src/ | systems, and the code they call |
interfaces/ | service interfaces the cognet defines itself |
library/ | code any part of the mind could use |
plugins/ | opening and closing what the mind uses |
tests/ | tests of the plain code |
Cargo.toml | crates the Rust uses |
pyproject.toml | packages the Python uses |
package.json | registry identity |
.cognet/ | everything axonl prepare generates |
Components can live anywhere
Any *.components.* file in the cognet is found — in types/, or beside the systems that use
it in src/. types/ is a convention for keeping them together, not a rule.
Inside an agent, or on its own
Inside an agent, a cognet lives at <agent>/cognet/. The agent runs it because it is
there. It has no package.json — it uses the agent's.
On its own, it is a package with a package.json, publishable to the registry and usable
by any agent.
The source is the same either way.
Starting one
axonl cognet init thermostat
Writes a small working mind — a config, its components, a system that reads a temperature and one that acts on it.