Project kinds

Axon builds six kinds of thing, and they share one grammar. Learn it for modules and you know it for the rest.

axon <kind> init <name>     # scaffold
axon prepare                # regenerate types
axon publish                # push to the registry
KindScaffoldWhat it is
agentaxon initA thing that runs and holds a conversation
moduleaxon module initA capability agents install — typed tools plus setup
cognetaxon cognet initThe cognition itself: loop, memory, world model
benchaxon bench initA measured test suite for agents
promptaxon prompt initA publishable prompt
extensionaxon ext initTerminal commands, themes, keybinds, lines

Agents are the default kind, which is why they alone need no noun in the middle — and why they deploy rather than publish. An agent is a running service; the other five are packages someone installs.

The bare verbs read your directory

cd my-module
axon prepare      # knows this is a module
axon publish      # knows it too

prepare and publish detect the project kind from the directory you are in. That is why there is no axon module prepare you have to remember — though the explicit form exists for acting on a project from elsewhere:

axon module prepare
axon cognet publish

What prepare does

Different work per kind, one command:

  • agent — installs declared modules, compiles its cognet, regenerates the authoring types your editor reads
  • module, cognet, extension — regenerates the static type frame
  • bench — prepares the test workspace

Generated output is project-specific and lives in an ignored build directory. Run it after changing declared modules, tools, prompts or the cognet — it is what makes your editor and the agent agree about what exists.

--frozen fails instead of resolving new versions, which is what CI wants.

Publishing

axon publish requires axon login, and the scope in package.json must be one you own. To start from someone else's work, see axon fork.

Each kind has its own authoring guide: Modules · Cognets · Bench · Extensions