Skip to content

docs(llms.txt): add GET /api/v1/stacks/:slug + canonical browser auth surface#14

Merged
mastermanas805 merged 1 commit into
mainfrom
docs/llms-stacks-auth-sync
May 29, 2026
Merged

docs(llms.txt): add GET /api/v1/stacks/:slug + canonical browser auth surface#14
mastermanas805 merged 1 commit into
mainfrom
docs/llms-stacks-auth-sync

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

Summary

Sync agent-facing llms.txt with two surfaces that exist in api/internal/router/router.go but were missing here:

  1. GET /api/v1/stacks/{slug} — already live (openapi.go L2268), missing from llms.txt. Agents had no way to inspect a stack they'd just created.
  2. Browser auth surface (/auth/email/{start,callback}, /auth/github*, /auth/me, /auth/logout) — grouped bullet so agents don't try to POST non-existent /auth/login or /auth/refresh (a known CLAUDE.md drift settled in BIZ-FINDING-6 thread; CLAUDE.md fixed in same sprint).
  3. Enriched POST /stacks/new response shape (was just 'requires JWT', now documents {ok, slug, stack_url, services: [...]} + anonymous-tier behaviour).

Source of truth

  • api/internal/router/router.go (canonical route list)
  • api/internal/handlers/auth_logout.go:18-25 (no /auth/refresh, explicit scope-out)
  • CLAUDE.md 'Live API surface' (updated in same sprint to match)

Follow-up (NOT in this PR)

instanode-web/public/llms.txt is a stale copy of this file. Per CLAUDE.md 'Operator follow-ups' note (content repo has no auto-deploy), operator must manually re-sync after this merges. I have not opened the instanode-web companion PR — the operator should either:

  • merge this, then cp the file across in instanode-web and open that follow-up PR; or
  • pull the rsync into the content repo's CI (separate config change).

Closes

  • BIZ-FINDING-5 (vector + stacks parity) — CLAUDE.md half closed earlier in sprint, this is the llms.txt half.
  • BIZ-FINDING-6 / UI-FINDING-4 (auth surface drift) — CLAUDE.md half closed earlier, this is the llms.txt half.

🤖 Generated with Claude Code

… surface

Closes BIZ-FINDING-5/6 content-sync follow-up.

- Add GET /api/v1/stacks/{slug} — inspection endpoint already live in
  openapi.go L2268 but missing from agent-facing llms.txt.
- Add the canonical browser auth surface (/auth/email/{start,callback},
  /auth/github*, /auth/me, /auth/logout) as a single grouped bullet so
  agents reading llms.txt don't try to POST a non-existent /auth/login
  or /auth/refresh. Explicit note: no /auth/refresh equivalent today.
- Enrich POST /stacks/new response shape (was just 'requires JWT').

Source of truth: api/internal/router/router.go + CLAUDE.md 'Live API
surface' block (also updated this sprint).

Follow-up (outside this PR): instanode-web/public/llms.txt is a stale
copy of this file. Operator must manually re-sync per CLAUDE.md
'Operator follow-ups' note — content repo has no auto-deploy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mastermanas805 mastermanas805 merged commit 7793e31 into main May 29, 2026
2 checks passed
@mastermanas805 mastermanas805 deleted the docs/llms-stacks-auth-sync branch May 29, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant