iiRecord
Agentic AI Atlas · adapters — a family, not one thing
page:docs-user-guide-ecosystem-adaptersa5c.ai
II.
Page JSON

page:docs-user-guide-ecosystem-adapters

Structured · live

adapters — a family, not one thing json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/docs/user-guide/ecosystem/adapters.mdCluster · wiki
Record JSON
{
  "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"
    }
  ]
}