{
  "surfaceId": "agent-target-packet",
  "schemaVersion": "shopflow.agent-target-packet.v1",
  "readOnly": true,
  "target": "opencode",
  "placement": "ecosystem-secondary",
  "currentEntryState": "ecosystem-secondary-docs",
  "quickstartPath": "docs/ecosystem/agent-quickstarts.md",
  "primaryCommand": "pnpm cli:read-only -- agent-target-packet --target opencode",
  "recommendedCommands": [
    "pnpm cli:read-only -- public-distribution-bundle",
    "pnpm cli:read-only -- outcome-bundle --app ext-kroger"
  ],
  "repoOwnedArtifacts": [
    "docs/ecosystem/agent-quickstarts.md",
    "docs/ecosystem/integration-recipes.md"
  ],
  "capabilities": [
    {
      "id": "integration-surface",
      "label": "Builder integration surface",
      "state": "repo-local-read-only",
      "sourceCommand": "pnpm mcp:stdio -> get_integration_surface",
      "sourceDocs": [
        "docs/ecosystem/mcp-quickstart.md",
        "docs/ecosystem/builder-start-here.md",
        "docs/ecosystem/integration-recipes.md"
      ],
      "targetFit": [
        "codex",
        "claude-code",
        "opencode",
        "openhands",
        "openclaw"
      ],
      "summary": "Gives coding agents one machine-readable map of today/current-scope/later/no-go/owner-decision."
    },
    {
      "id": "runtime-seam",
      "label": "Provider runtime seam",
      "state": "repo-local-read-only",
      "sourceCommand": "pnpm mcp:stdio -> get_runtime_seam",
      "sourceDocs": [
        "docs/ecosystem/mcp-quickstart.md",
        "docs/adr/ADR-004-switchyard-provider-runtime-seam.md",
        "docs/ecosystem/integration-recipes.md"
      ],
      "targetFit": [
        "codex",
        "claude-code",
        "opencode",
        "openhands",
        "openclaw"
      ],
      "summary": "Makes the Shopflow-vs-runtime boundary explicit without turning the repo into a public runtime product."
    },
    {
      "id": "submission-readiness",
      "label": "Submission readiness report",
      "state": "repo-local-read-only",
      "sourceCommand": "pnpm mcp:stdio -> get_submission_readiness",
      "sourceDocs": [
        "docs/ecosystem/mcp-quickstart.md",
        "docs/ecosystem/claude-code-quickstart.md",
        "docs/runbooks/release-artifact-review.md"
      ],
      "targetFit": [
        "codex",
        "claude-code",
        "opencode",
        "openhands",
        "openclaw"
      ],
      "summary": "Surfaces what still blocks release or submission without pretending those external steps are already done."
    },
    {
      "id": "public-distribution-bundle",
      "label": "Public distribution bundle",
      "state": "repo-local-read-only",
      "sourceCommand": "pnpm mcp:stdio -> get_public_distribution_bundle",
      "sourceDocs": [
        "docs/ecosystem/mcp-quickstart.md",
        "docs/ecosystem/public-distribution-bundle.md"
      ],
      "targetFit": [
        "codex",
        "claude-code",
        "opencode",
        "openhands",
        "openclaw"
      ],
      "summary": "Surfaces the current read-only distribution bundle without pretending that public transport or external listing already happened."
    }
  ],
  "skills": [],
  "pluginMetadata": null,
  "summary": "OpenCode stays an ecosystem-secondary reference, but the repo now exposes the same onboarding bundle and metadata packet so later packaging work no longer starts from prose only.",
  "boundaryNote": "This bundle turns agent-specific onboarding, MCP capability prep, skills scaffolds, starter bundles, sample configs, proof loops, and plugin metadata into one repo-owned packet. It does not prove any official integration, official listing, published plugin, or distributed skills pack already exists.",
  "mustNotClaim": [
    "Main front-door placement",
    "Official OpenCode package"
  ],
  "nextHumanStep": "Use the onboarding bundle as a packaging reference only if OpenCode becomes a chosen external distribution target later."
}
