feat(explore): clean multi-category lexicon, repo + open-source fields, account menu
Reshape the registry profile around a required `categories[]` array (1-4)
so a project can declare both "App" and "Account provider", and drop the
legacy single `category` and `tags` fields entirely. Categories now read
as singular labels everywhere ("App", not "Apps").
Profile additions:
- `repoUrl` (auto-detects GitHub / Tangled / generic) renders as a third
action button next to Bluesky and Website.
- `openSource` toggle adds an "Open source" badge on cards and the hero.
Sign-in UX:
- New "Sign in with your Atmosphere handle" label above the input.
- Trim placeholder to `yourproject.com`, drop the "we resolve your
handle" helper line.
Top-nav:
- Drop the Protocol button from the top right (still in footer).
- Promote Explore to the glass-button slot.
- Account menu rail under Explore: text "Sign in" when signed out,
avatar pill with View/Manage/Sign-out dropdown when signed in.
- New `/api/me/avatar` route serves the registry avatar (cached) with
a Bluesky PDS fallback for users who haven't published yet.
Home + footer:
- New homepage CTA section ("Explore Apps" glass button after the
moderation/algorithms section).
- Footer gains a `compact` variant: hide tagline + quote + the Explore
link on the explore section.
- Centre footer links under the logo.
Schema migration:
- DB schema drops `category`, `tags`, `tags`-in-FTS; adds `categories`,
`repo_url`, `open_source`.
- New `scripts/wipe-registry.ts` recreates the tables cleanly when the
schema can't be expressed via additive ALTERs.
Made-with: Cursor