{"service":"forest package registry","stability":"unstable","base":"https://api.forest.dev","routes":[{"path":"/ai/search/{platform}/{query}","summary":"Search packages. Multi-word queries are semantic (they match README embeddings), single tokens match package names. Optional: ?page= ?limit= ?scope= ?license= ?licenseRating="},{"path":"/ai/browse/{platform}","summary":"List public packages, most-liked first. Optional trailing segment /{sort} where sort is likes, recent, or downloads."},{"path":"/ai/package/{platform}/{scope}/{name}","summary":"Everything about a package in one request: description, version list, latest version metadata, license, dependencies, and the README."},{"path":"/ai/package/{platform}/{scope}/{name}/{version}","summary":"The same, pinned to one version. {version} accepts an exact version, a semver range, or \"latest\"."},{"path":"/ai/package/{platform}/{scope}/{name}/files","summary":"Source file listing for the latest version. Add /{version} before /files to pin one."},{"path":"/ai/package/{platform}/{scope}/{name}/{version}/file/{path}","summary":"Contents of one source file, e.g. .../latest/file/src/init.lua, to read a package's actual code before recommending it."},{"path":"/ai/search/{platform}","summary":"Entry point for link-based name search, for fetch tools that can only follow URLs they have already seen: returns links to /ai/search/{platform}/{a-z}, and each response after that links one character deeper (its \"narrow\" list). Results are fuzzy, so most names surface within three characters."},{"path":"/ai/users/{query}","summary":"Find a publisher (user or organization) by name prefix. Optional: ?limit="},{"path":"/ai/scopes/{platform}/{query}","summary":"Scopes matching a name prefix, ranked by how many public packages they publish. Includes unclaimed mirrored scopes, which /ai/users does not."}],"examples":["https://api.forest.dev/ai/search/roblox","https://api.forest.dev/ai/search/uefn","https://api.forest.dev/ai/browse/roblox","https://api.forest.dev/ai/browse/uefn","https://api.forest.dev/ai/browse/roblox/recent","https://api.forest.dev/ai/search/roblox/signal","https://api.forest.dev/ai/search/roblox/data%20store%20with%20session%20locking"],"notes":["Platforms are \"roblox\" or \"uefn\". Packages are identified as {scope}/{name}; names resolve case-insensitively.","No authentication, no API key. Public packages only.","Every required input is a path segment; nothing you need is ever a query parameter.","This namespace is UNSTABLE and may change without notice. Do not build a library or a CLI on it; it exists for agents that re-read this document. The stable contract is /v1, documented at https://forest.dev/llms.txt."],"docs":"https://docs.forest.dev/ai","stable_api":"https://forest.dev/llms.txt"}