{
  "roles": [
    {
      "id": "developers",
      "label": "Developers",
      "tagline": "Build and ship simulators",
      "description": "Engineers who define SimulatorDefinition endpoints, wire Node/HTTP adapters, and publish package simulators."
    }
  ],
  "families": [
    {
      "id": "api-simulator",
      "name": "api-simulator",
      "tagline": "Transport-agnostic API simulation — fixed, relative, and function behaviors.",
      "description": "Core library, adapters, package-simulator patterns, and Playground/Studio apps.",
      "color": "#16324f"
    }
  ],
  "books": [
    {
      "id": "00-overview",
      "familyId": "api-simulator",
      "audiences": [
        "developers"
      ],
      "status": "available",
      "kicker": "CASE FILE · SIM-00",
      "title": "Overview",
      "subtitle": "What api-simulator is",
      "blurb": "Install, a minimal three-behavior example, and where to go next.",
      "tags": [
        "start-here",
        "overview",
        "install"
      ],
      "color": "#16324f",
      "dir": "00-overview"
    },
    {
      "id": "01-behaviors",
      "familyId": "api-simulator",
      "audiences": [
        "developers"
      ],
      "status": "available",
      "kicker": "CASE FILE · SIM-01",
      "title": "Behaviors and Dispatch",
      "subtitle": "Fixed, relative, simulation",
      "blurb": "The three endpoint behaviors, dispatch APIs, contracts, latency, raw bodies, and path patterns.",
      "tags": [
        "behaviors",
        "dispatch",
        "templates"
      ],
      "color": "#1f6e5c",
      "dir": "01-behaviors"
    },
    {
      "id": "02-adapters",
      "familyId": "api-simulator",
      "audiences": [
        "developers"
      ],
      "status": "available",
      "kicker": "CASE FILE · SIM-02",
      "title": "Adapters and Helpers",
      "subtitle": "Node, store, OpenAPI, fetch",
      "blurb": "Expose simulators over HTTP, compose helpers, and plug into Express, Fastify, or fetch runtimes.",
      "tags": [
        "node",
        "adapters",
        "helpers"
      ],
      "color": "#a5710f",
      "dir": "02-adapters"
    },
    {
      "id": "03-package-simulators",
      "familyId": "api-simulator",
      "audiences": [
        "developers"
      ],
      "status": "available",
      "kicker": "CASE FILE · SIM-03",
      "title": "Package Simulators",
      "subtitle": "Product-owned packages",
      "blurb": "Ship logic, data, and optional Memorix fixtures in a product package — with or without static-memorix.",
      "tags": [
        "packages",
        "memorix",
        "examples"
      ],
      "color": "#8b3a3a",
      "dir": "03-package-simulators"
    },
    {
      "id": "04-playground-studio",
      "familyId": "api-simulator",
      "audiences": [
        "developers"
      ],
      "status": "available",
      "kicker": "CASE FILE · SIM-04",
      "title": "Playground and Studio",
      "subtitle": "Try and author locally",
      "blurb": "Two UI apps over the same library: ephemeral Playground and local-first Studio.",
      "tags": [
        "ui",
        "playground",
        "studio"
      ],
      "color": "#4a3f6b",
      "dir": "04-playground-studio"
    }
  ]
}