{
  "format": "mere-run.agent-bootstrap.v1",
  "format_version": "1.0.0",
  "name": "mere.run",
  "description": "Agent bootstrap manifest for installing, building, setting up, and using the public local-first mere.run CLI on Apple Silicon Macs.",
  "source_of_truth": {
    "repository": "https://github.com/sawfwair/mere-run",
    "commit": "22f52f2b727e979f1b755e4fbef9c3d0eedc330a",
    "working_tree_dirty": true,
    "checked_files": [
      "README.md",
      "docs/runtime/api-server.md",
      "Sources/MereRunCLI/Commands/APIServeCommand.swift",
      "Sources/MereRunCore/CodeGen/OpenAITypes.swift"
    ]
  },
  "platform": {
    "operating_systems": [
      "macOS"
    ],
    "architectures": [
      "arm64"
    ],
    "hardware_notes": [
      "Apple Silicon Mac",
      "Metal-capable local runtime"
    ],
    "contributor_tools": [
      "Swift toolchain",
      "git"
    ]
  },
  "install": {
    "preferred_for_end_users": {
      "id": "download-dmg",
      "label": "Download macOS DMG",
      "url": "https://public.stereovoid.com/mere-run-releases/mere-run.dmg",
      "notes": [
        "The DMG is the user-facing install path advertised by mere.run.",
        "Agents should not assume the website hosts a cloud inference API after install; model execution is local."
      ]
    },
    "preferred_for_agents_and_developers": {
      "id": "build-from-source",
      "label": "Build public Swift package from source",
      "repository": "https://github.com/sawfwair/mere-run",
      "commands": [
        "git clone https://github.com/sawfwair/mere-run.git",
        "cd mere-run",
        "swift build",
        "swift run mere.run --help"
      ]
    }
  },
  "setup": {
    "commands": [
      {
        "purpose": "Inspect the public command tree",
        "command": "swift run mere.run --help"
      },
      {
        "purpose": "Check what the current Mac can run before pulling large models",
        "command": "swift run mere.run model capabilities"
      },
      {
        "purpose": "Run guided setup",
        "command": "swift run mere.run setup"
      },
      {
        "purpose": "Pull a small managed image model",
        "command": "swift run mere.run model pull image-zimage-nano"
      }
    ]
  },
  "capability_commands": {
    "image": [
      "swift run mere.run image generate --prompt \"a ceramic coffee mug in soft morning light\" --output ./mug.png"
    ],
    "text_chat": [
      "swift run mere.run text chat --prompt \"Summarize diffusion models in one paragraph.\""
    ],
    "text_embeddings": [
      "swift run mere.run text embed \"rainy 1950s American diner late at night\""
    ],
    "speech": [
      "swift run mere.run speech synthesize \"Hello from mere.run\" --output ./hello.wav",
      "swift run mere.run speech transcribe ./hello.wav --backend auto"
    ],
    "vision": [
      "swift run mere.run vision inspect ./image.png \"Describe this image.\"",
      "swift run mere.run vision ground ./image.png --query \"a person\"",
      "swift run mere.run vision segment ./image.png --prompt \"a person\""
    ],
    "music": [
      "swift run mere.run music generate \"upbeat electronic groove\" --output ./track.wav"
    ],
    "video": [
      "swift run mere.run video generate \"a cinematic drone flythrough over snowy mountains\" --variant unified-av --output ./clip.mp4"
    ]
  },
  "local_api_bootstrap": {
    "hosted_by_mere_run_website": false,
    "description": "The OpenAI-compatible API is a local process started by the CLI. The website only publishes discovery metadata for that local process.",
    "start": {
      "command": "swift run mere.run api serve --engine text-chat-gemma4",
      "default_origin": "http://127.0.0.1:8080"
    },
    "health_check": {
      "method": "GET",
      "url": "http://127.0.0.1:8080/health",
      "expected_status": 200,
      "expected_json": {
        "status": "ok"
      }
    },
    "auth": {
      "loopback_default": "no API key required unless the operator configured one",
      "non_loopback": "requires --api-key or MERERUN_API_KEY",
      "header": "Authorization: Bearer <key>",
      "oauth_oidc": false
    },
    "routes": [
      {
        "method": "GET",
        "path": "/health",
        "auth": "none"
      },
      {
        "method": "GET",
        "path": "/v1/models",
        "auth": "optional bearer API key"
      },
      {
        "method": "POST",
        "path": "/v1/chat/completions",
        "auth": "optional bearer API key",
        "streaming": "set stream=true for Server-Sent Events"
      }
    ],
    "discovery": {
      "api_catalog": "https://mere.run/.well-known/api-catalog",
      "openapi": "https://mere.run/openapi.json",
      "docs": "https://mere.run/docs/api/"
    }
  },
  "not_provided": [
    {
      "surface": "Hosted inference API",
      "reason": "The public package is local-first; mere.run does not host a relay API."
    },
    {
      "surface": "OAuth/OIDC discovery",
      "reason": "The public package uses optional local bearer API keys, not OAuth/OIDC."
    },
    {
      "surface": "OAuth protected resource metadata",
      "reason": "There is no hosted protected API resource in the public package."
    },
    {
      "surface": "MCP server card",
      "reason": "The public package does not currently ship a hosted MCP server."
    }
  ],
  "discovery": {
    "website": "https://mere.run/",
    "agent_skill": "https://mere.run/.well-known/agent-skills/mere-run/SKILL.md",
    "agent_skills_index": "https://mere.run/.well-known/agent-skills/index.json",
    "api_catalog": "https://mere.run/.well-known/api-catalog",
    "openapi": "https://mere.run/openapi.json",
    "api_docs": "https://mere.run/docs/api/",
    "source": "https://github.com/sawfwair/mere-run",
    "download": "https://public.stereovoid.com/mere-run-releases/mere-run.dmg"
  }
}
