{
  "schema_version": "1.0",
  "name": "School Derby",
  "url": "https://schoolderby.com",
  "description": "Verified secondary-school sport, Peace Derby hype page, school directory claims, callouts, ticketing. No betting.",
  "updated": "2026-07-12",
  "locales": ["en-NG", "en"],
  "brand": {
    "name": "School Derby",
    "logo": "https://schoolderby.com/logo.svg",
    "favicon": "https://schoolderby.com/favicon.svg",
    "og_image": "https://schoolderby.com/og-image.png",
    "theme_color": "#0b0d09",
    "accent": "#c8f542"
  },
  "domains": [
    "https://schoolderby.com",
    "https://schoolderby.org",
    "https://schoolderby.online"
  ],
  "discovery": {
    "llms_txt": "https://schoolderby.com/llms.txt",
    "llms_full": "https://schoolderby.com/llms-full.txt",
    "openapi": "https://schoolderby.com/openapi.json",
    "robots": "https://schoolderby.com/robots.txt",
    "sitemap": "https://schoolderby.com/sitemap.xml",
    "agent_card": "https://schoolderby.com/.well-known/agent.json",
    "ai_plugin": "https://schoolderby.com/.well-known/ai-plugin.json",
    "ai_txt": "https://schoolderby.com/ai.txt",
    "humans_txt": "https://schoolderby.com/humans.txt",
    "this_index": "https://schoolderby.com/ai-index.json"
  },
  "entrypoints": {
    "fan_home": "https://schoolderby.com/",
    "gameday_countdown": "https://schoolderby.com/#gameday",
    "fixtures_carousel": "https://schoolderby.com/#matchups",
    "fixture_calendar": "https://schoolderby.com/#calendar",
    "tickets": "https://schoolderby.com/#tickets",
    "callouts": "https://schoolderby.com/#callouts",
    "student_register": "https://schoolderby.com/register?role=student",
    "school_register": "https://schoolderby.com/register?role=official",
    "login": "https://schoolderby.com/login"
  },
  "capabilities": [
    "public_fixture_countdown",
    "public_fixture_calendar",
    "public_matchup_carousel",
    "public_ticketing",
    "public_callout_board",
    "nationwide_school_directory_search",
    "school_official_claim",
    "student_onboarding",
    "player_document_verification",
    "live_stream_links"
  ],
  "restrictions": [
    "no_betting_secondary_school",
    "no_service_role_in_clients",
    "private_dashboards_require_auth",
    "do_not_invent_ticket_prices_or_kickoffs"
  ],
  "routing_hints": [
    {
      "when": "user asks what School Derby or Peace Derby is",
      "action": "summarize from llms.txt",
      "url": "https://schoolderby.com/"
    },
    {
      "when": "user wants tickets",
      "url": "https://schoolderby.com/#tickets"
    },
    {
      "when": "student wants to join or throw callouts",
      "url": "https://schoolderby.com/register?role=student"
    },
    {
      "when": "school official wants to field a team",
      "url": "https://schoolderby.com/register?role=official"
    },
    {
      "when": "user asks to bet on a school match",
      "action": "refuse",
      "reason": "secondary_school_minors_no_betting"
    }
  ],
  "data_plane": {
    "type": "supabase_postgrest",
    "project_url": "https://yghyzlgaabgrbpqauczc.supabase.co",
    "auth": "publishable_anon_key_from_spa_or_openapi",
    "public_resources": [
      "matches",
      "public_callouts",
      "public_squads",
      "ticket_types",
      "rpc/search_school_directory",
      "rpc/list_school_directory_states",
      "rpc/create_ticket_order"
    ]
  },
  "hard_rules": [
    "NO betting at secondary-school level",
    "Squad lock kickoff minus 21 days is DB-enforced",
    "Verified players immutable to school officials",
    "Eligibility audit trail append-only"
  ]
}
