Repo der App Shuffle
Find a file
cschlaefke 2d18a49fc2 fix(catalog): keyboard reach of the result list, tab order, stable select focus
Tiles are tab stops again, tab order is search field, filters, list (also
with the side bar), selects keep focus after a choice. Failure kind is
logged with stable names. Refs #3

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 01:25:23 +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(catalog): keyboard reach of the result list, tab order, stable select focus 2026-11-04 01:25:23 +01:00
docs docs(design): list components and catalog search behavior 2026-11-04 01:18:23 +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 test(catalog): address review findings on PR 2a 2026-11-03 18:18:32 +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.