The three core objects
This separation is the main design rule. Agents describe behavior. Runners execute behavior. Runtime subsystems provide capabilities.
When AFK is a good fit
Use AFK when your agent will:- call tools or external systems;
- run for more than one step;
- need cost, time, step, or tool-call limits;
- stream progress to a UI;
- persist memory or resume a run;
- require evals, telemetry, or production incident debugging;
- coordinate specialist subagents.
Builder path
If you are building an app with AFK, read in this order:- Quickstart for the smallest complete agent.
- Learn AFK in 15 Minutes for the guided path.
- Agents, Runner, and Tools for the core building blocks.
- Building with AI, Evals, and Observability before production.
Maintainer path
If you are changing AFK itself, read in this order:- Developer Guide for local setup, commands, and docs workflow.
- Architecture for package boundaries.
- Public API Rules before changing exports or examples.
- Tested Behaviors before changing runner, tools, LLM runtime, memory, queues, or telemetry.
Source-of-truth rules
- Public examples import from
afk.*, neversrc.afk.*. Runneris imported fromafk.core.- User-facing docs should explain behavior before internals.
- Maintainer docs may reference internal modules, but must identify the public contract affected by a change.
- Generated agent-facing docs and skill indexes must be refreshed when navigation, examples, or skill references change.
Next steps
Quickstart
Build one agent and one typed tool.
Developer Guide
Set up the repo and understand the contributor workflow.