Files
t5de-hub/CLAUDE.md
T
dhkatzandClaude Opus 5.5 6668b55117
CI / test (push) Successful in 49s
Products: carry the IMVU parent's image and categories
Revisions with an IMVU parent store its public info (image, category path, gender)
from IMVU's product API, looked up after registering and in a periodic pass.
Product views gain parent, image and categories; GET /products takes category and
limit. The website shows the image on cards and product pages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 01:03:02 -07:00

1.8 KiB

t5de-hub

T5DE's hub (see README.md and docs/design.md). Related repositories, usually checked out beside this one: t5de (patches), t5de-proxy (local proxy, Go; it signs in to the hub), t5de-api (shared definitions), later t5de-catalog.

Rules

  • Never commit IMVU's code or captured traffic with account data. Our own declarations of IMVU's protocols and notes in our own words are fine.
  • Test with a throwaway IMVU account, never a real one.
  • Commits: author "dhkatz [email protected]"; never the user's real name or email.
  • IMVU session keys never leave the user's machine; the hub never asks for them.

Notes

  • Stack (the user's choice, 2026-10-29): Bun, Elysia, Better Auth, Drizzle (Postgres; PGlite in development and tests), Next.js 16 with Tailwind 4 and shadcn/ui, Turborepo. Must stay self-hostable (docker compose) and deployable to Vercel/Heroku-style hosts. Go was used first and replaced.
  • The website's look: modern and neutral, light/dark following the system, color only for status. Not IMVU Classic's style (T5DE's setup keeps that).
  • Better Auth's tables must match its plugins: when changing plugins, compare with getAuthTables (Better Auth logs "Drizzle schema mismatch" otherwise), then bun x drizzle-kit generate in packages/db.
  • Device sign-in: the person's viewing a code (deviceVerify) claims it, then deviceApprove; the hub's /api/v1/device/approve does both and logs it. Proxies' sessions are told apart by their User-Agent (t5de-proxy...).
  • On this VM, Bun and Node are portable installs in %LOCALAPPDATA%\Programs\bun and ...\nodejs (not on PATH; no bunx: use bun x).
  • Calls to IMVU (apps/api/src/imvu.ts, its public API) are rare and rate-limited: linking, age re-checks, rooms, and the IMVU products T5 products derive from (parent_info, looked up once per revision).