Repo der App Shuffle
Find a file
cschlaefke 683b5c830e perf(db): set-based rank 4 and filters in search_catalog_games, harden tests (KAT-01, 3a)
Rank 4 and the genre/mechanic filters ran a correlated subplan per game
(13 s at 10 000 games). Now: one set-based word coverage, filters as one hashed
IN set, 'like all' patterns, similarity only for hits. Adds pgTAP cases found
by mutation testing (paging by relevance, alt title choice, duplicate words,
mechanic duplicates) and a Deno case for mark characters.

Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 01:40:43 +01:00
.claude chore(mcp): add Outline MCP server to project config 2026-11-03 10:24:28 +01:00
.forgejo test(catalog): address review findings on PR 2a 2026-11-03 18:18:32 +01:00
app fix(l10n): regenerate localizations after ARB key order 2026-11-03 19:48:13 +01:00
docs Merge origin/feature/2b-katalog-zusammenfuehren into feature/2c-katalog-meldungen 2026-11-04 00:25:32 +01:00
e2e test(e2e): click buttons via getByRole instead of keyboard helper 2026-11-03 13:07:01 +01:00
requirements docs(catalog): address re-review of KAT-05 spec and record clarification N15 2026-11-03 14:02:17 +00:00
scripts feat(auth): add auth domain, repository, validators and router redirects 2026-11-03 00:09:47 +01:00
supabase perf(db): set-based rank 4 and filters in search_catalog_games, harden tests (KAT-01, 3a) 2026-11-04 01:40:43 +01:00
.gitignore docs(auth): document E2E setup and SMTP outage spike result 2026-11-03 10:42:28 +01:00
.mcp.json chore(mcp): use OAuth for the Outline MCP server 2026-11-03 11:54:31 +01:00
CLAUDE.md docs: update PostgreSQL version to 17 in CLAUDE.md 2026-11-02 21:57:09 +01:00
README.md chore(mcp): use OAuth for the Outline MCP server 2026-11-03 11:54:31 +01:00

Shuffle – Starter-Kit

Grundgerüst für die Entwicklung der Brettspiel-App Shuffle mit spezialisierten Claude-Code-Agents. Die vollständige Schritt-für-Schritt-Anleitung liegt als separates Dokument bei.

Inhalt

Pfad Zweck
CLAUDE.md Projektkontext, Regeln, Definition of Done – wird in jeder Session geladen
.claude/agents/ 9 spezialisierte Subagents
.claude/commands/ Workflows: /intake, /feature, /review, /adr, /release
.claude/settings.json Berechtigungen (erlaubt/nachfragen/verboten) und Hooks
.claude/hooks/ Auto-Format für Dart, Schutz bestehender Migrationen
.mcp.json MCP-Server: Forgejo, Outline, Dart, Playwright
.forgejo/ CI-Pipeline, Issue- und PR-Vorlagen
docs/ ADR-0001 (Tech-Stack-Vorschlag), Vorlagen für Specs und ADRs
requirements/ Ablage für deine fachlichen Anforderungen
supabase/ R1-Datenbank: Migrationen, RLS-Policies, pgTAP-Tests, Seed
scripts/ Setup-Check, Forgejo-Labels

Schnellstart

cp -r shuffle-starter ~/dev/shuffle && cd ~/dev/shuffle
chmod +x .claude/hooks/*.sh scripts/*.sh
./scripts/check-setup.sh
git init -b main && git add . && git commit -m "chore: project scaffold"

Danach weiter mit Phase 2 der Anleitung.

MCP-Zugänge einrichten

Forgejo liest seine Zugangsdaten aus Umgebungsvariablen (nie ins Repo):

Variable Zweck
FORGEJO_URL, FORGEJO_ACCESS_TOKEN Forgejo (Issues, PRs)

Outline (https://outline.cshomelabs.work/mcp) meldet sich per OAuth an, ein Schlüssel in der Umgebung ist nicht nötig. In Claude Code /mcp öffnen, outline wählen und im Browser anmelden (Anleitung: https://docs.getoutline.com/s/guide/doc/mcp-6j9jtENNKL). Voraussetzung: MCP ist im Workspace aktiviert (Settings → Workspace → AI). Ist zusätzlich ein Outline-Connector in der Claude-App aktiv, sind die Tools doppelt vorhanden; die Agents nutzen mcp__outline__*.

Alternativ geht ein API-Schlüssel (Einstellungen → API) als Header Authorization: Bearer ${OUTLINE_API_KEY} im outline-Eintrag. Dann muss die Variable für den Prozess sichtbar sein, der Claude startet; ein gesetzter Authorization-Header schaltet OAuth aus.