{
  "schema_version": 1,
  "product": "a2io",
  "name": "A2IO",
  "tagline": "Cross-platform content routing for humans and agents",
  "website": "https://a2io.zslren.com/",
  "documentation": {
    "agent_guide": "https://a2io.zslren.com/docs/agent.md",
    "quickstart": "https://a2io.zslren.com/docs/quickstart.md",
    "configuration": "https://a2io.zslren.com/docs/configuration.md",
    "updates": "https://a2io.zslren.com/docs/update.md",
    "llms_txt": "https://a2io.zslren.com/llms.txt"
  },
  "runtime": {
    "operating_systems": ["windows", "linux", "darwin"],
    "architectures": ["amd64", "arm64"],
    "cli_entrypoint": "a2io",
    "automation_output": "json",
    "stable_manifest": "https://a2io.zslren.com/update/stable.json"
  },
  "capability_handshake": {
    "required": true,
    "command": "a2io capabilities --json",
    "minimum_fields": ["product", "edition", "version", "contract_version", "platform", "architecture", "capabilities"]
  },
  "installation": {
    "free": [
      "a2io capabilities --json",
      "a2io init --vault <absolute-path> --json",
      "a2io doctor --json"
    ],
    "pro_preflight": [
      "a2io capabilities --json",
      "a2io runtime status --json",
      "a2io license status --json"
    ]
  },
  "sources": [
    {"id": "x", "label": "X bookmarks, links and articles", "route_command": "a2io x route"},
    {"id": "weread_app", "label": "WeRead shelf, MP and article favourites", "route_command": "a2io mp route / a2io weread favourites route", "edition": "pro"},
    {"id": "github", "label": "GitHub Stars or one repository", "route_command": "a2io github route"},
    {"id": "mediacrawler", "label": "MediaCrawler JSONL or SQLite", "route_command": "a2io mediacrawler route"},
    {"id": "rss", "label": "RSS feeds", "route_command": "a2io sync --source rss"},
    {"id": "url", "label": "A single URL", "route_command": "a2io sync --source url"},
    {"id": "zhihu", "label": "Zhihu", "route_command": "a2io sync --source zhihu"},
    {"id": "douban", "label": "Douban", "route_command": "a2io sync --source douban"},
    {"id": "weibo", "label": "Weibo", "route_command": "a2io sync --source weibo"},
    {"id": "bilibili", "label": "Bilibili", "route_command": "a2io sync --source bilibili"},
    {"id": "toutiao", "label": "Toutiao", "route_command": "a2io sync --source toutiao"},
    {"id": "hackernews", "label": "Hacker News", "route_command": "a2io sync --source hackernews"},
    {"id": "v2ex", "label": "V2EX", "route_command": "a2io sync --source v2ex"}
  ],
  "destinations": {
    "obsidian": {"modes": ["url", "html", "markdown"], "requires_explicit_absolute_path": true},
    "ima": {"modes": ["url", "html", "markdown"], "requires_explicit_knowledge_base": true, "requires_explicit_folder": false}
  },
  "persistent_routes": {
    "first_run_default": "baseline",
    "historical_backfill": "full",
    "manual_check": "a2io monitor auto-sync --once --force --json",
    "scheduled_check": "a2io monitor auto-sync --once --json",
    "cli_is_one_shot": true,
    "current_internal_throttle_minutes": 10
  },
  "security": {
    "secrets": "Use OS secret store, environment variables or a local .env file; never place secrets in prompts, route records, logs or Markdown.",
    "signed_updates": "Ed25519 manifest signature plus SHA-256 artifact verification",
    "source_access": "Respect user authorization, platform terms and anti-bot/access controls"
  },
  "health": "https://a2io.zslren.com/healthz"
}
