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> |
||
|---|---|---|
| .claude | ||
| .forgejo | ||
| app | ||
| docs | ||
| e2e | ||
| requirements | ||
| scripts | ||
| supabase | ||
| .gitignore | ||
| .mcp.json | ||
| CLAUDE.md | ||
| README.md | ||
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.