# 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 ```bash 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.