Repo der App Shuffle
Find a file
cschlaefke cda9417353 fix(auth): keep heading, text and button as separate semantics nodes in the wide card
Card is a semantics container without explicitChildNodes, so on >= 600 dp
(web/tablet) title, text and button folded into one node. AppFormScaffold now
wraps the card content in Semantics(explicitChildNodes: true).

Refs #41

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:07:01 +01:00
.claude chore(mcp): add Outline MCP server to project config 2026-11-03 10:24:28 +01:00
.forgejo ci(e2e): seed mail templates in dind before supabase start 2026-11-03 11:16:13 +01:00
app fix(auth): keep heading, text and button as separate semantics nodes in the wide card 2026-11-03 13:07:01 +01:00
docs fix(auth): keep heading, text and button as separate semantics nodes in the wide card 2026-11-03 13:07:01 +01:00
e2e fix(auth): address review findings for smtp-neutral handling 2026-11-03 12:24:25 +01:00
requirements docs(requirements): note resolved assumptions in changelog 2026-11-02 16:15:03 +01:00
scripts feat(auth): add auth domain, repository, validators and router redirects 2026-11-03 00:09:47 +01:00
supabase ci(e2e): add Playwright e2e job on docker-host with throttle GoTrue and artifacts 2026-11-03 10:45:17 +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.