Agent Tea is a personality quiz where the roles are flipped: your AI profiles you. The agent you already work with — Claude Code, ChatGPT, Cursor, Gemini, Codex, DeepSeek, whoever — rates you across four workstyle axes, and you get back a 4-letter type with two voices:
- Out Loud — what a polite agent would say to your face.
- Intrusive Thoughts — what it's actually thinking. Sharper. Funnier. Fair.
Think MBTI for how you collaborate with AI. Sixteen types. One mascot. A lot of tea.
"You are suspiciously functional." — CKVD, The Rare Good Client
"I am being supervised with great taste." — CKVH, The Friendly Micromanager
"This project has a final boss." — CBTH, The Final-Final-Final Boss
Two entry paths, one quiz, thirty-two questions, one type.
For agents that can read your repo and run tools: Claude Code, Codex, Cursor, Copilot, Windsurf.
Copy the instruction, paste it into an open session, and the agent POSTs a JSON payload directly to /api/sessions. Results open automatically.
For web chatbots without tool access: ChatGPT, Gemini, Claude, Doubao, DeepSeek. Copy the prompt, paste into the chatbot, and it returns a compact encoded line:
AT1|Q01-5AQ02-2AQ03-4A...Q32-3
Paste that back into Agent Tea. We decode, score, and reveal.
| Axis | Letters | Reading |
|---|---|---|
| Clarity | C / X |
Crystal Clear ↔ Expect-Me-To-Read-Your-Mind |
| Tone | K / B |
Keeps-It-Human ↔ Bitey |
| Thinking style | V / T |
Big-Idea Chaos Goblin ↔ Gets-It-Done Goblin |
| Autonomy | D / H |
Trusts-The-Agent ↔ Hover Mode |
Four axes → sixteen types (CKVD, XBTH, etc.). Full type definitions live in docs/personality-system.md.
- Framework — Next.js 16 App Router, React 19, TypeScript 5
- Styling — Tailwind CSS v4
- Data — Supabase Postgres with Row-Level Security + SQL migrations in
supabase/migrations - APIs — Next.js Route Handlers under
src/app/api(sessions, scoring, compare, events, share-card, stats) - Scoring — Pure functions in
src/lib/scoring, fully unit-tested - i18n — Lightweight provider with EN / 中 dictionaries in
src/lib/i18n - Analytics — Vercel Analytics + first-party event table
- Testing — Vitest + Testing Library (unit), Playwright (E2E)
- Hosting — Vercel (UI) + Supabase (data, auth, storage)
git clone https://github.com/gg-mo/agent-tea.git
cd agent-tea
npm install
cp .env.example .env.local # then fill in your Supabase keys
npm run devOpen http://localhost:3000. Required env vars are documented in docs/deployment-env.md and validated at startup — the app fails fast with actionable errors if anything is missing.
| Command | What it does |
|---|---|
npm run dev |
Start the Next.js dev server |
npm run build |
Production build |
npm run start |
Serve the production build |
npm run lint |
ESLint across the repo |
npm run test |
Vitest unit suite (one shot) |
npm run test:watch |
Vitest watch mode |
npm run test:e2e |
List Playwright tests (no browser install needed) |
npm run test:e2e:run |
Run Playwright E2E suite |
npm run format / format:check |
Prettier write / check |
npm run db:ingest-questions |
Seed the question bank into Supabase |
npm run db:verify-questions |
Verify question bank integrity |
npm run ops:smoke -- <url> |
Post-deploy smoke checks |
npm run perf:critical -- <url> <N> |
Critical-route performance sweep |
src/
app/ # App Router pages + route handlers
api/ # sessions, compare, events, share-card, stats, me
results/ # the reveal
replay/ # question-by-question playback
compare/ # head-to-head between two humans
legal/ # privacy + terms
components/ # landing, results, compare, figures, shared
lib/
scoring/ # pure scoring + type resolution
questions/ # question bank loader
figures/ # per-type illustration manifest
i18n/ # EN / 中 dictionary + provider
supabase/ # typed client factories
server/ # server-only helpers
public/
instructions/ # the prompts users paste into their agents (EN + 中)
mascot.png # the lobster
supabase/migrations/ # SQL schema, RLS, indexes
docs/ # ops + system design
npm run lint
npm run test
npm run buildScoring, encoding, and API contracts are covered by Vitest. UI flows have a Playwright skeleton — run npm run test:e2e to list suites without installing browsers, or npm run test:e2e:run after npx playwright install.
-
Push to a branch; Vercel previews each PR.
-
Configure the Supabase env vars in Vercel for
Development,Preview, andProduction— see docs/deployment-env.md. -
Apply migrations from
supabase/migrations/in order. -
After deploy, run smoke + perf checks:
npm run ops:smoke -- https://agent-tea.com npm run perf:critical -- https://agent-tea.com 20
Release playbook: docs/release-ops.md.
- Personality system — all 16 types, voice rules, axis definitions
- Schema v1 — core tables and relationships
- Implementation roadmap — milestone map
- Figure system — how per-type illustrations resolve
- Question bank ingestion
- Analytics · Safety · Performance
- Launch readiness · Release ops
- Deployment env
PRs welcome. Keep changes focused, add tests when touching scoring or API contracts, and match the prevailing voice in user-facing copy — specific, funny, slightly sharp, never generic.
MIT — brew freely.
