Skip to content

UX: collapse /signup into /signin (one front door)#136

Merged
saltyskip merged 1 commit into
mainfrom
feat/ux-collapse-signup-signin
May 19, 2026
Merged

UX: collapse /signup into /signin (one front door)#136
saltyskip merged 1 commit into
mainfrom
feat/ux-collapse-signup-signin

Conversation

@saltyskip
Copy link
Copy Markdown
Owner

Summary

  • After Phase 1, /signup and /signin are functionally identical — both create an account on first use of the magic-link form. The two pages just encoded a fake new-vs-returning distinction the backend no longer has.
  • Collapses to one front door: /signin. /signup 301-redirects there for SEO / inbound links.
  • Navbar drops the misleading "Get API Key" dual-CTA (it didn't actually hand you a key — it took 6 clicks + an email round-trip).

What changed

  • Deleted marketing/src/app/signup/page.tsx + marketing/src/components/free-signup-form.tsx (FreeSignupForm was only used by /signup).
  • /signin absorbs the secondary "Prefer the CLI?" install snippet from the old /signup so CLI-first users still have a path without a separate page.
  • next.config.ts adds a permanent redirect /signup → /signin.
  • Navbar collapses to a single CTA: "Sign in" when signed-out, "Account" when signed-in.
  • Internal refs updated: pricing-section.tsx Free tier CTA → /signin; welcome/page.tsx "See all commands" → "Sign in" → /signin.

Out of scope (noted for follow-up)

  • marketing/src/app/page.tsx and marketing/src/app/docs/manual-setup/page.tsx still mention the deleted POST /v1/auth/signup endpoint in docs / code samples. Same doc-drift category; worth a separate small PR.

Test plan

  • `npm run lint` — clean for new files (pre-existing errors in unrelated docs pages untouched)
  • `npx tsc --noEmit` — clean for new files (pre-existing `@vercel/analytics/next` types issue in layout.tsx untouched)
  • Visit prod `/signup` → 301 lands on `/signin`
  • Navbar shows single "Sign in" CTA when signed-out
  • Navbar shows single "Account" CTA when signed-in
  • Pricing "Start free" → `/signin`
  • Post-Stripe /welcome "Sign in" link → `/signin`

🤖 Generated with Claude Code

Sessions made /signup and /signin functionally identical — both create
an account on first use of the magic-link form. The two pages just
encoded a fake new-vs-returning distinction the backend no longer has.

- /signup directory removed; FreeSignupForm component removed (only
  /signup used it).
- /signin page absorbs the secondary "Prefer the CLI?" install snippet
  so CLI-first users still have a path without a separate page.
- next.config.ts adds a 301 redirect /signup → /signin so inbound
  links and SEO equity survive.
- Navbar collapses to a single CTA: "Sign in" when signed-out,
  "Account" when signed-in. Drops the misleading "Get API Key"
  button (it didn't actually hand you a key — three clicks + an
  email round-trip to mint one).
- Internal references updated: pricing-section Free CTA → /signin,
  welcome page "See all commands" → "Sign in" → /signin.

Out of scope but noted for follow-up: app/page.tsx and
docs/manual-setup/page.tsx still mention the deleted POST /v1/auth/signup
endpoint in docs/code samples. Worth fixing in a separate doc-drift
pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rift Ready Ready Preview, Comment May 19, 2026 2:09pm

Request Review

@saltyskip saltyskip merged commit ab172cc into main May 19, 2026
5 checks passed
@saltyskip saltyskip deleted the feat/ux-collapse-signup-signin branch May 19, 2026 14:38
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