Feature Documentation (Features)¶
This is where you come in when you have to go deep on one feature. Each directory corresponds to one feature area, and that area's usage guide, development guide and operations guide sit together in the one folder (the split is by feature, not by reader role).
- To skim what exists first →
../overview/features.en.md(the feature catalogue) - For why it was designed that way → the design rationale links in each section
agent-execution/ — agent execution¶
The ReAct loop, turn handling, interruption, the input queue.
| Document | Contents |
|---|---|
command-queue-guide.en.md |
How user input that arrives mid-turn is queued and handled |
interruptible-tools-guide.en.md |
External interruption — Ctrl+C, NOW priority input — and InterruptBehavior |
system-reminder-convention.en.md |
The convention for injecting <system-reminder> synthetic context |
Design rationale: agent-runtime-scope.md ·
orca-executor.md ·
interceptor.md ·
interrupt.md ·
compaction.md ·
artifact.md
session/ — sessions¶
Conversation persistence, the live session handle, multi-node deployment.
| Document | Contents |
|---|---|
agent-session-tutorial.en.md |
Attaching a session for the first time — starting from the smallest example |
agent-session-guide.en.md |
The LiveSession API reference and event streaming |
web-session-deployment-guide.en.md |
SessionRouter single-node / multi-node deployment |
IMPORTANT: read the difference between a session (SessionRecord) and a live session (LiveSession) first —
../overview/scope-model.en.md §3.
Design rationale: session-model.md ·
session-model.md ·
routing.md ·
backends.md ·
backends.md
tool/ — tools¶
The unit through which an agent interacts with the outside world.
| Document | Contents |
|---|---|
tool-development-guide.en.md |
The canonical text for building a new tool — the Tool contract, schemas, error handling, permissions |
parallel-tool-execution-guide.en.md |
Running tools in parallel within one batch (ConcurrencyBehavior) |
browser-tool-guide.en.md |
Configuring and using the Playwright-backed Browser tool. Not in this repository — it moved to aimon-browser with the module |
Design rationale: parallel-execution.md ·
tool-search.md
skill/ — skills¶
A declarative capability package bundling prompts, tools and hooks.
| Document | Contents |
|---|---|
builtin-agent-skill-guide.en.md |
The built-in Agent/Skill system and user-defined overrides |
The standard specification: agentskills-specification.md ·
aimon-skill-extensions.md
Design rationale: command-unification.md ·
approval-scope.md
Migration: custom-command-to-skill.md
hook/ — hooks¶
Intervening at thirteen points in the lifecycle.
| Document | Contents |
|---|---|
hook-development-guide.en.md |
Writing a hook — the event types, HookFeedback |
hook-config-guide.en.md |
File-based hook configuration, hot reload, layered merging |
The parity boundary: hooks-specification.md
Design rationale: hook-system.md ·
async-rewake.md
subagent/ — subagents¶
A sub-agent running in an isolated context.
| Document | Contents |
|---|---|
subagent-development-guide.en.md |
Defining and registering a subagent in code (Java) with Subagent.builder() |
Design rationale: code-defined-registration.md ·
execution.md
workflow/ — workflows¶
Deterministic orchestration of several subagents.
| Document | Contents |
|---|---|
workflow-cli-guide.en.md |
The Workflow/WorkflowJs tools and the /runs command from the CLI |
workflow-usage-guide.en.md |
Assembling, running, backgrounding and resuming in code |
Design rationale: workflow.md and
phase 3 ·
4 ·
5
llm/ — LLM integration¶
The provider abstraction and its instrumentation.
| Document | Contents |
|---|---|
llm-provider-development-guide.en.md |
Implementing a new LlmClient |
llm-usage-metering.en.md |
Token and cost metering |
Design rationale: streaming.md ·
multimodal-content.md ·
cancellation.md
memory/ — memory¶
Long-term memory that persists across sessions.
| Document | Contents |
|---|---|
memory-usage-guide.en.md |
From recording an observation through to recall |
Design rationale: peer-memory.md
knowledge/ — knowledge / wiki¶
Indexing and searching documents fed in from outside.
| Document | Contents |
|---|---|
opensearch-knowledge-store-guide.en.md |
The OpenSearch RAG Knowledge Store |
A reference pattern: llm-wiki.md
Design rationale: knowledge-and-rag.md (the interface + keyword search) ·
knowledge-and-rag.md (vector/RAG — supersedes the Phase 2 proposal of the previous document)
scheduling/ — scheduling¶
Cron and one-shot scheduled execution, and routines.
| Document | Contents |
|---|---|
quartz-scheduling-web-deployment-guide.en.md |
Deploying the Quartz cluster scheduler |
Design rationale: llm-scheduling-agent.md
observability/ — observability¶
| Document | Contents |
|---|---|
execution-tracing-guide.en.md |
Configuring, querying and redacting execution traces |
Design rationale: tracing.md ·
tracing.md
Areas without a dedicated guide yet¶
Features that are in the catalogue but have no separate guide document. For now the design documents and the Javadoc are canonical.
| Area | Where to look for now |
|---|---|
| MCP integration | mcp-tool.md |
| Sandboxes | the aimon-sandbox repository — the design document (docs/design/sandbox.md) and the module READMEs moved there |
| Filesystem / shell | the package-info.java of at.aimon.core.filesystem · at.aimon.core.shell |
Commands (/compact and the rest) |
command-unification.md |
| Permissions / credentials | tool-development-guide.en.md › the permission system |
When adding a new document here¶
- Put it in the feature-area directory. Create one if it does not exist (name the directory after the area name in the catalogue).
- Add one line to the matching section of this index.
- If that feature is not in the
../overview/features.en.mdcatalogue, add it there too. - Design rationale does not go here — put it under
../design/and link to it.