Skip to content

chore: cut half-pregnant features before launch#54

Merged
federicodeponte merged 1 commit intomainfrom
chore/cut-before-launch-2026-04-17
Apr 18, 2026
Merged

chore: cut half-pregnant features before launch#54
federicodeponte merged 1 commit intomainfrom
chore/cut-before-launch-2026-04-17

Conversation

@federicodeponte
Copy link
Copy Markdown
Member

Summary

Trust-killer cleanup pre-launch. "Don't be half-pregnant" — every item either kills a marketing claim we can't back up or removes a dead code path that would 404 on a fresh browser.

Authoritative claims removed

  • Google/GitHub OAuth buttons on /loginGOOGLE_OAUTH_CLIENT_* / GITHUB_OAUTH_CLIENT_* are not set on preview or prod, Better Auth was booting with socialProviders = {}, clicks produced broken redirects. Re-enable with a follow-up PR once the OAuth apps exist.
  • "CLI" claim removed from hero subheadline + README. No @floom/cli on npm, no working floom deploy.
  • README Roadmap rewritten — no longer teases workspaces, Composio, Stripe Connect, app memory, custom-renderer upload (all stripped in prior PRs).
  • BuildPage "Connect a tool" modal — drop "Cloud tier" + Composio mentions.
  • Async job queue + custom renderers bullet removed from README hero.

FlyFast removed from user-facing surfaces

  • seed.json: drop flyfast row + per-app secrets entry (internal-only, AX41-infra-gated).
  • sitemap.xml: drop /p/flyfast to avoid SEO 404s.
  • CreatorHeroPage fallback trio: swap flyfastopendraft.
  • ProtocolPage, spec/protocol.md, README.md: hosted manifest example uses generic my-app.
  • AppPermalinkPage GitHub map: drop flyfast entry.
  • Rate-limit stress test: swap flyfastbouncer (30/30 tests pass).
  • examples/flyfast/ kept as a protocol sample only, per user guidance.

"15 apps" claim scrubbed

  • hub.ts, seed.ts, docker/.env.example, docs/SELF_HOST.md (×2): "15 bundled docker apps" → "bundled docker demo apps".
  • FLOOM_SEED_APPS=true opt-in gating remains (default = empty hub).

Dead husk deleted

  • packages/cli/ removed. Only ever contained compiled dist/index.js (not tracked) + node_modules. Fresh checkouts unaffected.

Kept intentionally

  • /me ComingSoon tabs — render a proper card, not a broken page (per "grey-out OK" rule). Will go when /me Claude-shape lands.
  • Async job queue backend (worker + JobProgress for opt-in apps). Only the marketing of async as a hero feature is gone.
  • Four MCP admin tools at /mcp root — real and working, claim stays.

Test plan

  • pnpm -w typecheck — 3/3 packages green
  • pnpm -w build — server + web build clean; LoginPage bundle shrank from 6.5kB → 5.16kB
  • node test/stress/test-rate-limit.mjs — 30/30 pass after slug swap
  • seed.json still valid JSON
  • After merge: rebuild preview image, verify /login has no Google/GitHub buttons, / hero no CLI, /p/flyfast → 404, /protocol hosted example shows my-app, sitemap clean

Made with Cursor

Trust-killer cleanup pre-launch. Every item either removes a marketing
claim we can't back up, or removes a dead code path that would 404 on
a fresh browser.

**Authoritative claims removed**
- Drop Google/GitHub OAuth buttons from /login: OAuth apps were never
  registered, `GOOGLE_OAUTH_CLIENT_*` / `GITHUB_OAUTH_CLIENT_*` are not
  set on preview or prod, Better Auth was booting with
  `socialProviders = {}`, so clicks produced a broken auth redirect.
  Re-enable with a follow-up PR after creating the OAuth apps.
- Drop "CLI" from hero subheadline (CreatorHeroPage + README). There
  is no `@floom/cli` on npm and no working `floom deploy` command.
- Drop the async-job-queue + custom-renderers bullet from README.
- Rewrite README Roadmap section: no longer teases workspaces,
  Composio, Stripe Connect, app memory, custom-renderer upload. All
  stripped in prior PRs.
- BuildPage "Connect a tool" coming-soon modal: drop "Cloud tier"
  and "Composio" mentions.

**FlyFast removed from user-facing surfaces**
- `seed.json`: drop the `flyfast` seed row + its per-app secrets
  entry (hosted-mode only, blocked on Federico's AX41 internal
  flight-search API).
- `sitemap.xml`: drop `/p/flyfast` to avoid SEO 404s.
- `CreatorHeroPage` fallback stripe trio: swap `flyfast` ->
  `opendraft`.
- `ProtocolPage`: hosted manifest example + example-manifests list
  no longer feature flyfast.
- `spec/protocol.md` + `apps/web/src/assets/protocol.md` + README
  hosted YAML: generic `my-app` name instead of `flyfast`.
- `AppPermalinkPage` GITHUB_REPOS map: drop flyfast entry.
- `test/stress/test-rate-limit.mjs`: swap `flyfast` -> `bouncer`
  (slug is arbitrary for middleware tests; 30/30 tests pass).
- `examples/flyfast/` is kept as a protocol sample only.

**"15 apps" claim scrubbed**
- `hub.ts`, `seed.ts`, `docker/.env.example`, `docs/SELF_HOST.md`
  (two occurrences): replace "15 bundled docker apps" with
  "bundled docker demo apps". Honest count, no broken hub.
- `FLOOM_SEED_APPS=true` opt-in remains as-is (default = empty hub).

**Dead husk deleted**
- `packages/cli/` removed. Only ever contained pre-compiled
  `dist/index.js` (not tracked in git) + `node_modules`. No source,
  no package.json. Fresh checkouts were unaffected.

**Kept (per "grey-out OK" rule)**
- `/me` ComingSoon tabs (Folders, Saved results, Schedules, My
  tickets, Shared with me) render a proper card, not a broken page.
  Will be removed when /me Claude-shape rebuild lands.
- Async job queue **backend** (cron worker, JobProgress component
  when an app explicitly opts into `is_async=true`). Only the
  marketing of async as a hero feature is gone.
- Four MCP admin tools at `/mcp` root are real; the claim stays.

Typecheck + build pass. Rate-limit stress test 30/30 green.

Made-with: Cursor
@federicodeponte federicodeponte merged commit eefb473 into main Apr 18, 2026
2 checks passed
@federicodeponte federicodeponte deleted the chore/cut-before-launch-2026-04-17 branch April 18, 2026 02:33
federicodeponte pushed a commit that referenced this pull request Apr 18, 2026
Follow-up to #54. PR #54 cleaned the React components but missed the
pre-hydration SSR shell at apps/web/index.html. Until React boots,
crawlers and curl see the <meta name="description">, OG + Twitter
cards, schema.org blob, and the data-spa-fallback / noscript hero
copy — all of which still claimed "Deploy as MCP, API, web, or CLI".

Rewrites all six occurrences to "Deploy as an MCP server, HTTP API,
and shareable web form". Matches the live hero in CreatorHeroPage
(PR #54).

Made-with: Cursor
federicodeponte added a commit that referenced this pull request Apr 18, 2026
Follow-up to #54. PR #54 cleaned the React components but missed the
pre-hydration SSR shell at apps/web/index.html. Until React boots,
crawlers and curl see the <meta name="description">, OG + Twitter
cards, schema.org blob, and the data-spa-fallback / noscript hero
copy — all of which still claimed "Deploy as MCP, API, web, or CLI".

Rewrites all six occurrences to "Deploy as an MCP server, HTTP API,
and shareable web form". Matches the live hero in CreatorHeroPage
(PR #54).

Made-with: Cursor

Co-authored-by: Federico De Ponte <federicodeponte@federicos-air-4.local.meter>
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