{
  "schemaVersion": 2,
  "$comment": "Canonical seven-product AgentsKit catalog. The three-entry properties array is the legacy v1 compatibility projection; shared navigation is derived from products[].",
  "parentBrand": {
    "id": "agentskit",
    "name": "AgentsKit"
  },
  "positioning": {
    "canonicalDescription": "AgentsKit is the open-source TypeScript ecosystem for building production AI agents without locking application architecture to a model provider, framework, database, or hosted platform.",
    "metaDescription": "Open-source TypeScript ecosystem for production AI agents. Swap models, providers, tools, memory, RAG, and interfaces without architectural lock-in.",
    "commercialBoundary": "The listed products are free and open source.",
    "openSourceProductIds": [
      "agentskit",
      "registry",
      "agentskit-chat",
      "doc-bridge",
      "code-review",
      "harness",
      "playbook"
    ],
    "managedProductIds": []
  },
  "products": [
    {
      "id": "agentskit",
      "public": true,
      "distributionClass": "open-source",
      "name": "AgentsKit",
      "shortName": "AgentsKit",
      "kind": "library",
      "role": "foundation",
      "promise": "Build agents without gluing many libraries together.",
      "maturity": "beta",
      "repo": "AgentsKit-io/agentskit",
      "accent": "#2EA043",
      "metadata": {
        "alternateName": "AgentsKit",
        "description": "A free, MIT-licensed TypeScript ecosystem for production AI agents with replaceable contracts for models, runtimes, tools, memory, RAG, observability, sandboxing, evaluation, and interfaces.",
        "dateCreated": "2026-04-02",
        "applicationCategory": "DeveloperApplication",
        "runtimePlatform": "JavaScript runtimes supporting ES2022",
        "license": "MIT",
        "author": {
          "givenName": "Emerson",
          "familyName": "Braun",
          "url": "https://github.com/EmersonBraun"
        },
        "keywords": [
          "AI agents",
          "agent framework",
          "TypeScript",
          "JavaScript",
          "LLM",
          "multi-agent",
          "tools",
          "memory",
          "RAG",
          "observability",
          "sandboxing",
          "evaluation",
          "MCP"
        ]
      },
      "showcase": {
        "claimSource": {
          "url": "https://www.agentskit.io/api/stats.json",
          "claims": {
            "packages": {
              "path": "counts.packages"
            },
            "core-size-kb-gzip": {
              "path": "coreSizeKbGzip"
            },
            "catalog-providers": {
              "path": "counts.catalogProviders"
            },
            "native-adapters": {
              "path": "counts.nativeAdapters"
            },
            "integrations": {
              "path": "counts.integrations"
            }
          }
        },
        "stage": "Build",
        "headline": "One foundation. Every layer stays yours.",
        "detail": "Compose runtime, adapters, tools, memory, RAG, and UI without glue code or lock-in.",
        "proof": "22 packages · 10 KB core budget",
        "sales": {
          "kind": "integration-stack",
          "headline": "Swap the stack. Keep the agent.",
          "metrics": [
            {
              "value": "140+",
              "label": "providers"
            },
            {
              "value": "25",
              "label": "adapters"
            },
            {
              "value": "50",
              "label": "integrations"
            }
          ],
          "capabilities": [
            "Tools",
            "RAG",
            "Memory",
            "MCP"
          ],
          "steps": [
            "Choose any adapter",
            "Add tools and memory",
            "Ship without rewrites"
          ]
        },
        "cta": "Build with AgentsKit"
      },
      "surfaces": {
        "home": "https://www.agentskit.io",
        "docs": "https://www.agentskit.io/docs",
        "llms": "https://www.agentskit.io/llms.txt",
        "stats": "https://www.agentskit.io/api/stats.json",
        "documentation": "fumadocs",
        "chat": "agentschat"
      },
      "navigation": {
        "showInBar": true,
        "order": 0,
        "next": [
          "registry",
          "agentskit-chat",
          "doc-bridge",
          "code-review",
          "harness",
          "playbook"
        ]
      }
    },
    {
      "id": "registry",
      "public": true,
      "distributionClass": "open-source",
      "name": "AgentsKit Registry",
      "shortName": "Registry",
      "kind": "registry",
      "role": "starting-point",
      "promise": "Copy ready-made agents and own the source.",
      "maturity": "beta",
      "repo": "AgentsKit-io/agentskit-registry",
      "accent": "#58A6FF",
      "showcase": {
        "claimSource": {
          "url": "https://registry.agentskit.io/r/index.json",
          "claims": {
            "agents": {
              "path": "agents",
              "aggregate": "length"
            },
            "remaining-categories": {
              "path": "agents",
              "aggregate": "distinct",
              "field": "category",
              "subtract": 5
            }
          }
        },
        "stage": "Discover",
        "headline": "Shadcn-like agents. Installed as source.",
        "detail": "Find a working agent, copy its source into your project, and change every line.",
        "proof": "Ready-made · source-owned",
        "sales": {
          "kind": "registry-install",
          "headline": "Inspect every file before it ships.",
          "metric": "Source-owned",
          "metricLabel": "agent code",
          "capabilities": [
            "Ready-made agents",
            "Source ownership",
            "CLI installation"
          ],
          "steps": [
            "Find the right agent",
            "Run npx @agentskit/cli add",
            "Own every line"
          ],
          "command": "npx @agentskit/cli add research"
        },
        "cta": "Explore the Registry"
      },
      "surfaces": {
        "home": "https://registry.agentskit.io",
        "docs": "https://registry.agentskit.io/docs",
        "llms": "https://registry.agentskit.io/llms.txt",
        "stats": "https://registry.agentskit.io/r/index.json",
        "documentation": "fumadocs",
        "chat": "agentschat"
      },
      "navigation": {
        "showInBar": true,
        "order": 1,
        "next": [
          "agentskit",
          "agentskit-chat",
          "doc-bridge",
          "code-review",
          "harness",
          "playbook"
        ]
      }
    },
    {
      "id": "agentskit-chat",
      "public": true,
      "distributionClass": "open-source",
      "name": "AgentsKit Chat",
      "shortName": "Chat",
      "kind": "framework",
      "role": "experience",
      "promise": "Define one agent experience and deliver it across interfaces.",
      "maturity": "alpha",
      "repo": "AgentsKit-io/agentskit-chat",
      "accent": "#F59E0B",
      "showcase": {
        "stage": "Deliver",
        "headline": "One agent. Every conversation surface.",
        "detail": "Define the experience once and connect the conversation surface that fits the product.",
        "proof": "Human ↔ agent · shared experience",
        "sales": {
          "kind": "human-agent",
          "headline": "Human ↔ agent. Without losing control.",
          "metric": "One",
          "metricLabel": "agent experience",
          "logos": [
            {
              "id": "human",
              "label": "Human"
            },
            {
              "id": "agent",
              "label": "Agent"
            },
            {
              "id": "tools",
              "label": "Tools"
            }
          ],
          "capabilities": [
            "Conversation",
            "Human control",
            "Tool results"
          ],
          "steps": [
            "Define the agent experience",
            "Connect the conversation surface",
            "Keep the human in control"
          ]
        },
        "cta": "Explore AgentsKit Chat"
      },
      "surfaces": {
        "home": "https://chat.agentskit.io",
        "docs": "https://chat.agentskit.io/docs",
        "llms": "https://chat.agentskit.io/llms.txt",
        "documentation": "fumadocs",
        "chat": "agentschat"
      },
      "navigation": {
        "showInBar": true,
        "order": 2,
        "next": [
          "agentskit",
          "registry",
          "doc-bridge",
          "code-review",
          "harness",
          "playbook"
        ]
      }
    },
    {
      "id": "doc-bridge",
      "public": true,
      "distributionClass": "open-source",
      "name": "Doc Bridge",
      "shortName": "Doc Bridge",
      "kind": "developer-tool",
      "role": "understanding",
      "promise": "Turn repository documentation into executable agent handoffs.",
      "maturity": "stable",
      "repo": "AgentsKit-io/doc-bridge",
      "accent": "#06B6D4",
      "showcase": {
        "stage": "Understand",
        "headline": "Documentation that hands work off precisely.",
        "detail": "Connect repository knowledge to agents with structured, executable context.",
        "proof": "Code → precise handoff",
        "sales": {
          "kind": "knowledge-bridge",
          "headline": "Knowledge flows both ways.",
          "metric": "↔",
          "metricLabel": "humans and agents",
          "logos": [
            {
              "id": "human",
              "label": "Humans"
            },
            {
              "id": "markdown",
              "label": "Docs"
            },
            {
              "id": "code",
              "label": "Code"
            },
            {
              "id": "agent",
              "label": "Agents"
            }
          ],
          "capabilities": [
            "ADRs",
            "Handoffs",
            "Agent findings",
            "Human-readable docs"
          ],
          "steps": [
            "Humans document decisions",
            "Agents receive precise context",
            "Agent findings return to humans"
          ]
        },
        "cta": "Explore Doc Bridge"
      },
      "surfaces": {
        "home": "https://doc-bridge.agentskit.io/",
        "docs": "https://doc-bridge.agentskit.io/",
        "llms": "https://doc-bridge.agentskit.io/llms.txt",
        "documentation": "fumadocs",
        "chat": "none"
      },
      "navigation": {
        "showInBar": true,
        "order": 3,
        "next": [
          "agentskit",
          "registry",
          "agentskit-chat",
          "code-review",
          "harness",
          "playbook"
        ]
      }
    },
    {
      "id": "code-review",
      "public": true,
      "distributionClass": "open-source",
      "name": "AgentsKit Code Review",
      "shortName": "Code Review",
      "kind": "developer-tool",
      "role": "verification",
      "promise": "Run deep, low-noise review with the model already in use.",
      "maturity": "alpha",
      "repo": "AgentsKit-io/code-review",
      "accent": "#F97316",
      "surfaces": {
        "home": "https://code-review.agentskit.io",
        "docs": "https://code-review.agentskit.io/docs",
        "llms": "https://code-review.agentskit.io/llms.txt",
        "documentation": "fumadocs",
        "chat": "none"
      },
      "navigation": {
        "showInBar": true,
        "order": 4,
        "next": [
          "agentskit",
          "registry",
          "agentskit-chat",
          "doc-bridge",
          "harness",
          "playbook"
        ]
      },
      "showcase": {
        "stage": "Review",
        "headline": "A review you can tune. Findings you can act on.",
        "detail": "Choose the concerns that matter and see the review comments adapt to the change.",
        "proof": "Configurable · provider-neutral · open source",
        "sales": {
          "kind": "review-config",
          "headline": "Set the standard for every review.",
          "metric": "2",
          "metricLabel": "review profiles",
          "capabilities": [
            "Security",
            "Performance",
            "Correctness",
            "Actionable comments"
          ],
          "steps": [
            "Choose security or performance",
            "Apply your review configuration",
            "Get focused, actionable comments"
          ]
        },
        "cta": "Explore Code Review"
      }
    },
    {
      "id": "harness",
      "public": true,
      "distributionClass": "open-source",
      "name": "AgentsKit Harness",
      "shortName": "Harness",
      "kind": "tool",
      "role": "delivery",
      "promise": "The keep-pushing loop for your SDLC.",
      "maturity": "beta",
      "repo": "AgentsKit-io/harness",
      "accent": "#F778BA",
      "showcase": {
        "stage": "Ship",
        "headline": "From a vague objective to production, unattended.",
        "detail": "Interview, plan, vote, build, review, prove, merge, release — one state machine per stage, with humans only where the loop acts on the world.",
        "proof": "Objective → released change",
        "sales": {
          "kind": "standards-flow",
          "headline": "The loop keeps pushing while you sleep.",
          "metric": "24/7",
          "metricLabel": "unattended delivery",
          "logos": [
            {
              "id": "issue",
              "label": "Issues"
            },
            {
              "id": "worktree",
              "label": "Worktrees"
            },
            {
              "id": "review",
              "label": "Review"
            },
            {
              "id": "release",
              "label": "Release"
            }
          ],
          "capabilities": [
            "Frozen contracts",
            "Plan with votes",
            "Definition of done",
            "Human gates"
          ],
          "steps": [
            "An issue becomes a contract nobody can widen",
            "A worker proves it in its own worktree",
            "A human approves what reaches production"
          ]
        },
        "cta": "Explore Harness"
      },
      "surfaces": {
        "home": "https://harness.agentskit.io/",
        "docs": "https://harness.agentskit.io/docs",
        "llms": "https://harness.agentskit.io/llms.txt",
        "stats": "https://harness.agentskit.io/api/stats.json",
        "documentation": "fumadocs",
        "chat": "none"
      },
      "navigation": {
        "showInBar": true,
        "order": 5,
        "next": [
          "agentskit",
          "registry",
          "agentskit-chat",
          "doc-bridge",
          "code-review",
          "playbook"
        ]
      }
    },
    {
      "id": "playbook",
      "public": true,
      "distributionClass": "open-source",
      "name": "Agents Playbook",
      "shortName": "Playbook",
      "kind": "methodology",
      "role": "discipline",
      "promise": "Make agents ship code a human would actually merge.",
      "maturity": "stable",
      "repo": "AgentsKit-io/agents-playbook",
      "accent": "#8B5CF6",
      "showcase": {
        "stage": "Standardize",
        "headline": "Engineering standards agents can execute.",
        "detail": "Turn repeatable practices into guidance that coding agents can follow in every repository.",
        "proof": "Convention → executable guidance",
        "sales": {
          "kind": "standards-flow",
          "headline": "Your standards. Every agent. Every repository.",
          "metric": "1×",
          "metricLabel": "define · reuse everywhere",
          "logos": [
            {
              "id": "architecture",
              "label": "Architecture"
            },
            {
              "id": "tests",
              "label": "Tests"
            },
            {
              "id": "security",
              "label": "Security"
            },
            {
              "id": "style",
              "label": "Style"
            }
          ],
          "capabilities": [
            "Repository rules",
            "Review criteria",
            "Agent guidance",
            "Team conventions"
          ],
          "steps": [
            "Define the standard once",
            "Agents receive executable guidance",
            "Review consistent output"
          ]
        },
        "cta": "Explore the Playbook"
      },
      "surfaces": {
        "home": "https://playbook.agentskit.io",
        "docs": "https://playbook.agentskit.io/docs",
        "llms": "https://playbook.agentskit.io/llms.txt",
        "stats": "https://playbook.agentskit.io/api/stats.json",
        "documentation": "fumadocs",
        "chat": "custom"
      },
      "navigation": {
        "showInBar": false,
        "order": 6,
        "next": [
          "agentskit",
          "registry",
          "agentskit-chat",
          "doc-bridge",
          "code-review",
          "harness"
        ]
      }
    }
  ],
  "properties": [
    {
      "id": "agentskit",
      "name": "AgentsKit",
      "barLabel": "AgentsKit",
      "domain": "www.agentskit.io",
      "url": "https://www.agentskit.io",
      "repo": "AgentsKit-io/agentskit",
      "tagline": "Build agents without gluing many libraries together.",
      "kind": "library",
      "accent": "#2EA043",
      "showInBar": true,
      "llms": "https://www.agentskit.io/llms.txt",
      "stats": "https://www.agentskit.io/api/stats.json"
    },
    {
      "id": "playbook",
      "name": "Agents Playbook",
      "barLabel": "Playbook",
      "domain": "playbook.agentskit.io",
      "url": "https://playbook.agentskit.io",
      "repo": "AgentsKit-io/agents-playbook",
      "tagline": "Make agents ship code a human would actually merge.",
      "kind": "methodology",
      "accent": "#8B5CF6",
      "showInBar": false,
      "llms": "https://playbook.agentskit.io/llms.txt",
      "stats": "https://playbook.agentskit.io/api/stats.json"
    },
    {
      "id": "registry",
      "name": "AgentsKit Registry",
      "barLabel": "Registry",
      "domain": "registry.agentskit.io",
      "url": "https://registry.agentskit.io",
      "repo": "AgentsKit-io/agentskit-registry",
      "tagline": "Copy ready-made agents and own the source.",
      "kind": "registry",
      "accent": "#58A6FF",
      "showInBar": true,
      "llms": "https://registry.agentskit.io/llms.txt",
      "stats": "https://registry.agentskit.io/r/index.json"
    }
  ],
  "builder": {
    "id": "emersonbraun",
    "name": "Emerson Braun",
    "url": "https://emersonbraun.dev",
    "$comment": "Link-source only. The builder is not a peer product and is not shown in shared product navigation."
  }
}
