Personal Pokémon TCG tool — indexed card database, market insights, collection tracking, grading ROI, and a natural-language search front end.
- SvelteKit + Tailwind (CSS tokens + shared
<Icon>component insrc/lib/components/) - Supabase (Postgres + RLS disabled for single-user)
- PriceCharting (prices + pop) and TCGPlayer search API (prices for new sets the pokemontcg.io API hasn't indexed yet)
- Claude Haiku 4.5 via
@anthropic-ai/sdkfor natural-language → DSL translation on the hunt-mode search bar
npm install
cp .env.example .env.local # then fill in Supabase + API keys
npm run devEnvironment variables (.env.local):
PUBLIC_SUPABASE_URL,SUPABASE_SERVICE_ROLE_KEY— required for all data reads/writesPOKEMON_TCG_API_KEY— recommended (higher rate limits on pokemontcg.io)ANTHROPIC_API_KEY— required only for the✨ Asknatural-language searchDEV_SERVER_URL=http://localhost:5178— required byscripts/refresh-index.tsto proxy PriceCharting through the dev server (bypasses Cloudflare on bare Node)
Five launchd plists under scripts/launchd/ run the background pipeline:
com.trove.ingest-conditions— 02:00 — TCGPlayer per-condition listingscom.trove.detect-new-sets— 03:00 — enroll new releases from pokemontcg.iocom.trove.auto-heal-sets— 03:30 — diff TCG API vscard_index, insert missing rows, backfill TCGPlayer pricescom.trove.refresh-stale— 04:00 — re-enrich the oldestcard_indexrows via PriceChartingcom.trove.snapshot-card-index— 05:00 — daily snapshot intocard_index_history
Install one with:
cp scripts/launchd/com.trove.auto-heal-sets.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.trove.auto-heal-sets.plistSQL migrations live under supabase/migrations/. They're applied manually via the Supabase SQL editor — no tooling reads this directory at build time. When a new migration ships, the commit message flags it for application.
npm run check # svelte-check + tsc
npm test # vitestsrc/routes/— pages + server loaderssrc/lib/services/— scrapers, data services, pure helperssrc/lib/components/— shared UI (Icon, CardThumbnail, CommandPalette, PriceChart, etc.)scripts/— CLI tooling (enrichment, backfills, auto-heal, cron wrappers)supabase/migrations/— SQL migrations, applied manually