II.
Page JSON
Structured · livepage:docs-user-guide-ecosystem-adapters
adapters — a family, not one thing json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-user-guide-ecosystem-adapters",
"_kind": "Page",
"_file": "wiki/docs/user-guide/ecosystem/adapters.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/user-guide/ecosystem/adapters.md",
"sourceKind": "repo-docs",
"title": "adapters — a family, not one thing",
"displayName": "adapters — a family, not one thing",
"slug": "docs/user-guide/ecosystem/adapters",
"articlePath": "wiki/docs/user-guide/ecosystem/adapters.md",
"article": "\n[Docs](../index.md) › [Ecosystem](./overview.md) › adapters\n\n# adapters — a family, not one thing\n\n**Umbrella package:** `@a5c-ai/adapters` · **Source:** `packages/adapters/*` (20 package directories) · **Version:** 6.0.0 · **Maturity:** GA\n\n> **The single most important point on this page:** \"Adapters\" is a **family of packages**, not one package. There are 20 adapter package directories under `packages/adapters/`, each with a distinct job. When someone says \"adapters,\" ask *which* adapter.\n\n**The adapters family is the multiplexer for *all* agents. It is what turns \"Babysitter runs on Claude Code\" into \"Babysitter runs on any supported harness, in CI, with any of 140+ model providers, with durable human approvals\" — by defining each integration surface once and multiplexing it to many targets.**\n\nThe family keeps its name precisely because it is **not** genty-specific — it multiplexes for every agent.\n\n---\n\n## On this page\n\n- [Why it is a family](#why-it-is-a-family)\n- [The umbrella package](#the-umbrella-package)\n- [The big six you will actually touch](#the-big-six-you-will-actually-touch)\n- [The full taxonomy](#the-full-taxonomy)\n- [Provenance](#provenance)\n- [Next steps](#next-steps)\n\n---\n\n## Why it is a family\n\nA harness is integrated by *describing* it — its capabilities, hook model, and command surface — as data in the [Atlas](./atlas.md) catalog, and the runtime adapts. Adding or updating a harness becomes an adapter/data change, not a fork of the orchestration engine. Different concerns (spawning a session, normalizing hooks, bridging providers, parking a breakpoint, compiling a plugin) live in different packages so each can evolve independently.\n\n---\n\n## The umbrella package\n\n`@a5c-ai/adapters` (the `sdk/` directory) is the convenient one-install entry for the family. It re-exports:\n\n- `comm-adapter` (the public Node core runtime), and\n- `adapters-codecs` (the per-harness codecs), and\n- `adapters-cli` (the `adapters` command).\n\n```bash\nnpm install -g @a5c-ai/adapters-cli # the host-side `adapters` CLI\nadapters doctor\nadapters run claude \"explain this codebase\"\n```\n\nSee the [Adapters feature guide](../features/adapters.md) for the runtime story and the [Adapters CLI reference](../reference/adapters-cli.md) for the command surface.\n\n---\n\n## The big six you will actually touch\n\n| Adapter | Package | Why you care |\n|---------|---------|--------------|\n| **triggers** | `@a5c-ai/triggers-adapter` | The CI / GitHub Action entrypoint — normalizes Git-forge events into one shape and launches a run non-interactively. |\n| **extensions** | `@a5c-ai/extensions-adapter` | Compiles a single `plugin.json` manifest into **9** AI-coding-agent plugin formats. |\n| **hooks** | `@a5c-ai/hooks-adapter-cli` + `@a5c-ai/hooks-adapter-core` | The cross-harness **mandatory-stop** lifecycle layer — this is what makes obedience work on every harness. |\n| **proxy** | `adapters-proxy` (Python) | A LiteLLM bridge to **140+ providers** — frees vendor-locked harnesses from a single backend. |\n| **tasks** | `@a5c-ai/tasks-adapter` | The **Breakpoints Adapter** — durable, serverless-ready human-approval breakpoints (e.g. GitHub Issues). |\n| **codecs** | `@a5c-ai/adapters-codecs` | The concrete per-harness drivers (claude, codex, gemini, copilot, cursor, opencode, pi, …). |\n\n---\n\n## The full taxonomy\n\nAll 20 adapter types — what each is and where each is used — are enumerated in the dedicated reference:\n\n➡️ **[Adapter Types reference](../reference/adapter-types.md)** — the authoritative list of all 20.\n\n---\n\n## Provenance\n\nSeveral packages (`core/`, `cli/`, `sdk/`, `proxy/`, `tasks/`, `harness-mock/`) were consolidated into this monorepo from a **formerly standalone adapters repository** (the v6 announcement notes \"1,363 files, 205K lines\"). All adapter-family READMEs point to the canonical docs home `docs/package-and-plugin-map.md` ([Package & Plugin Map](../../package-and-plugin-map.md)).\n\n---\n\n## Next steps\n\n- **The full list:** [Adapter Types reference](../reference/adapter-types.md) — all 20 types\n- **The runtime story:** [Adapters feature guide](../features/adapters.md)\n- **The command surface:** [Adapters CLI reference](../reference/adapters-cli.md)\n- **See where it sits:** [Architecture & How It Fits Together](../architecture.md)\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-user-guide",
"to": "page:docs-user-guide-ecosystem-adapters",
"kind": "contains_page"
}
]
}