{
  "name": "PeakD",
  "description": "PeakD is a social platform for Hive blockchain content. The web UI is a Vue single-page application, so page HTML may not contain loaded content.",
  "site_url": "https://peakd.com",
  "spa": true,
  "server_side_rendering": false,
  "discovery": {
    "llms": "/llms.txt",
    "openapi": "/openapi-agents.json",
    "sitemap": "/sitemap.xml",
    "api_base": "/api/agents"
  },
  "routes": {
    "post": ["/@{author}/{permlink}", "/{category}/@{author}/{permlink}"],
    "profile": "/@{username}",
    "blog": "/@{username}/blog",
    "search": "/search?q={query}",
    "community": "/c/{community}",
    "tag_feed": ["/trending/{tag}", "/created/{tag}", "/hot/{tag}"]
  },
  "endpoints": {
    "discovery": "/api/agents",
    "post_json": "/api/agents/post/{author}/{permlink}",
    "post_markdown": "/api/agents/post/{author}/{permlink}.md",
    "discussion": "/api/agents/discussion/{author}/{permlink}",
    "profile": "/api/agents/profile/{username}",
    "feed": "/api/agents/feed?sort=trending&tag={tag}&limit=20"
  },
  "rules": [
    "Use /api/agents endpoints for public read-only content instead of scraping the SPA shell.",
    "Do not assume missing HTML content means missing public content; the SPA loads data after startup.",
    "Do not perform authenticated actions unless explicitly requested and authorized by the user.",
    "Avoid bulk crawling; use sitemaps, search, feed pagination, and user-provided URLs."
  ],
  "rate_limit_guidance": {
    "crawl_policy": "conservative",
    "preferred_limit": 20,
    "maximum_feed_limit": 50
  }
}
