fabro/docs
Bryan Helmkamp 7b9c652548
docs(install): address plan review on web-install spec
Five fixes against the v1 spec:

P0 — Reconcile GitHub App callback flow with the CLI's actual
mechanism: manifest `redirect_url` (not `callback_urls`) carries the
post-creation handoff via browser 302; the install endpoint is renamed
to `/install/github/app/redirect` and authorized by OAuth `state`
because GitHub strips Authorization across redirects.

P1 — Bootstrap fork moves from "precheck inside serve" to the dispatch
layer, since today's `commands::server::dispatch` loads settings before
`serve` is invoked. Spec out the install bootstrap path explicitly,
including skipping the eager dev-token / session-secret creation.

P1 — Clarify that the same `fabro-web` bundle hosts the wizard via a
server-injected `window.__FABRO_MODE__` flag in `index.html` controlling
which router tree mounts at boot. Without this, existing route loaders
that call `/api/v1/auth/*` would throw before the install UI renders.

P2 — Correct the dev-token path to `<storage_dir>/server.dev-token`
(matching `Storage::server_state().dev_token_path()`).

P2 — Resolve the dev-token "never exposed to the client" contradiction:
JWT keys and session secret stay on the server; the dev token is
returned in the `/install/finish` response so the operator can copy it.

P2 — Note that the existing OpenAPI conformance test only covers
`build_router(...)` and would silently miss install drift. Spec the
expansion: split spec iteration by `install` tag, route to the
appropriate router, and verify cross-mounting is rejected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 19:50:44 -04:00
..
administration docs(digital-ocean): replace stub with Droplet + compose guide 2026-04-18 16:20:01 -04:00
agents refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
api-reference feat(cli): surface debug build profile in version output 2026-04-18 09:44:54 -04:00
brainstorms feat(cli): add --prerelease to fabro upgrade 2026-04-16 20:20:14 -04:00
changelog fix(release): build musl targets via cargo-zigbuild to fix arm64 SIGSEGV 2026-04-18 16:01:45 -04:00
core-concepts docs: migrate reference and guide examples to v2 config shape 2026-04-09 11:30:52 -04:00
examples feat(template): unify workflow and config template syntax 2026-04-11 10:58:50 -04:00
execution refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
getting-started ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
human-tools docs: migrate reference and guide examples to v2 config shape 2026-04-09 11:30:52 -04:00
ideation docs 2026-04-09 17:24:30 -04:00
images Cut over Fabro web app to a server-backed SPA 2026-04-01 21:36:01 -07:00
integrations docs: update changelog and docs for Apr 14–16 changes 2026-04-16 08:01:59 -04:00
languages Add fabro language for syntax highlighting in docs 2026-03-17 09:43:14 -04:00
logo Fix logo SVG viewBox clipping the right edge of the O 2026-03-14 14:11:36 -04:00
plans plans 2026-04-18 12:36:41 -04:00
reference ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
superpowers/specs docs(install): address plan review on web-install spec 2026-04-18 19:50:44 -04:00
tutorials Attractor spec hunks 14 & 16: remove error_policy and k_of_n/quorum from parallel handler 2026-03-23 14:59:35 -04:00
workflows refactor(config): move project state under .fabro 2026-04-11 12:55:46 -04:00
.mintignore Fix Mintlify dev server: valid navbar URL and ignore AGENTS.md 2026-03-05 16:29:50 -05:00
docs.json ci(release): attest SLSA build provenance for binaries and image 2026-04-18 15:05:32 -04:00
dot-highlight.js Remove debug markers from dot-highlight script 2026-03-17 10:23:48 -04:00
favicon.svg Rebrand docs site from Arc to Fabro 2026-03-11 21:27:58 -04:00