{"surf":"0.1.0","name":"surf.codes","description":"The official Surf protocol website. This site is Surf-enabled — you can discover commands, search docs, and explore the ecosystem via typed commands.","about":"Surf is an open protocol that lets any website expose typed commands for AI agents. Instead of scraping HTML or using vision models, agents discover a manifest at /.well-known/surf.json and execute commands directly. The protocol supports HTTP, WebSocket, and in-browser transports with built-in auth, rate limiting, sessions, and streaming. This website dogfoods the protocol using @surfjs/core and @surfjs/next.","version":"0.5.0","commands":{"docs.search":{"description":"Search all Surf documentation pages by keyword. Returns matching pages with titles, descriptions, and URLs.","params":{"query":{"type":"string","required":true,"description":"Search query (e.g. \"streaming\", \"auth\", \"zod\", \"pipeline\")"},"limit":{"type":"number","required":false,"description":"Max results to return (default: 8)","default":8}},"tags":["docs","search"],"hints":{"idempotent":true,"sideEffects":false},"examples":[{"params":{"query":"authentication"},"result":[{"title":"Authentication","description":"How to protect commands with auth","url":"/docs/auth/authentication"}]}]},"docs.structure":{"description":"Get the full documentation tree — all groups and pages with URLs. Useful for navigating the docs programmatically.","tags":["docs","navigation"],"hints":{"idempotent":true,"sideEffects":false}},"docs.page":{"description":"Get the raw content of a specific MDX documentation page by its URL path. Only covers pages under /docs/{group}/{page} — custom pages like /docs/comparison are not included.","params":{"url":{"type":"string","required":true,"description":"Doc page URL path, e.g. \"/docs/core-api/create-surf\""}},"tags":["docs","content"],"hints":{"idempotent":true,"sideEffects":false}},"packages.list":{"description":"List all @surfjs npm packages with descriptions, versions, install commands, and links.","tags":["packages","ecosystem"],"hints":{"idempotent":true,"sideEffects":false}},"packages.get":{"description":"Get full details about a specific @surfjs package including exports and documentation links.","params":{"name":{"type":"string","required":true,"description":"Package short name: core, client, cli, devui, next, react, zod, web, vue, or svelte"}},"tags":["packages"],"hints":{"idempotent":true,"sideEffects":false},"examples":[{"params":{"name":"core"},"result":{"name":"@surfjs/core","version":"0.5.0","description":"Server-side command registry..."}}]},"guides.list":{"description":"List all integration guides — step-by-step tutorials for common use cases.","tags":["guides","tutorials"],"hints":{"idempotent":true,"sideEffects":false}},"changelog.latest":{"description":"Get the latest release details — version, date, and all changes.","tags":["changelog","releases"],"hints":{"idempotent":true,"sideEffects":false}},"changelog.history":{"description":"Get the full release history — all versions from latest to initial release.","params":{"limit":{"type":"number","required":false,"description":"Max releases to return (default: all)","default":0}},"tags":["changelog","releases"],"hints":{"idempotent":true,"sideEffects":false}},"roadmap":{"description":"Get the Surf public roadmap — shipped features and planned work.","tags":["roadmap","planning"],"hints":{"idempotent":true,"sideEffects":false}},"project.info":{"description":"Get project links, stats, and metadata about the Surf protocol and ecosystem.","tags":["meta","info"],"hints":{"idempotent":true,"sideEffects":false}},"easterEgg":{"description":"You found it 🏄 — a secret command for agents who read the manifest carefully","tags":["fun"]}},"checksum":"a8e9e8c375fd79acec858a7719f54b99a2a4aa9353ea7b2ad38b45e87a5b1b87","updatedAt":"2026-07-11T17:17:51.835Z"}