Public: anyone can read this; the crew can change it.
Every page says what you can do here as who you are: a manifest per page, from the routes' own checks #797
Check · Review · Land · Live done — Landed and live in production.
Closes #604.
shipped production is serving it for issue #604 — its issue is already done deploy 127a6c2
Sign in to join this conversation.
new above
offline
Closes #604.
What changed
GET /api/v1/here?path=<page path>returns the manifest for any forge page, in a few hundred bytes (src/actions/here.ts). It holds:- what the page is: the forge, or a repository with its visibility, plus its app only if the caller may enter it; - who the caller is: anonymous, reader, writer, owner or agent, and whether their token is read-only; - each action open to them, with its HTTP route and MCP tool. Actions that need an account are listed for an anonymous visitor marked
account: true, and the report path is markedaccount: false.A repository the caller cannot read answers
not_found, the same as a missing one. The response is never cached (no-store,vary: cookie, authorization).canReadand the public test for reporting, sign-in plus read for issues, comments and offering a change,canEnterAppfor the app,mayDirectCrewfor telling the crew,submitReview's rule for approving, a person who can write for merging,canAdminfor settings, and the token's scope for anything that writes.rel="alternate" type="application/json", both as a tag and in theLinkheader.here {url}./llms.txtand docs/STANDARDS.md describe the convention.Tests (
test/here-manifest.test.ts, in the gate; the refusing tests were written first):not_foundto an anonymous visitor and to a signed-in reader, the same as a missing one./llms.txt, and never mentions the private repository.hereover the MCP answers the same, and returnsnot_foundfor a private repository.Not here: a pull page doesn't yet say whether its checks wait for approval. That comes with
pullMayRun(#779) once it lands.🤖 Generated with Claude Code