From afcb818dd4eada5fc8c20d082e567f61c9158f30 Mon Sep 17 00:00:00 2001 From: Robin Choice Date: Thu, 16 Apr 2026 15:24:02 +0200 Subject: [PATCH] chore: rename CLAUDE.md to AGENTS.md, add symlink and docs/templates Adds tool-agnostic AGENTS.md as canonical context file, CLAUDE.md symlink for Claude Code compatibility, and docs/templates/ with spec.md + adr.md. Co-Authored-By: Claude Sonnet 4.6 --- AGENTS.md | 45 +++++++++++++++++++++++++++++++++++++++++ CLAUDE.md | 46 +----------------------------------------- docs/templates/adr.md | 21 +++++++++++++++++++ docs/templates/spec.md | 29 ++++++++++++++++++++++++++ 4 files changed, 96 insertions(+), 45 deletions(-) create mode 100644 AGENTS.md mode change 100644 => 120000 CLAUDE.md create mode 100644 docs/templates/adr.md create mode 100644 docs/templates/spec.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..0c13fa4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,45 @@ +# Music Hub + +Webapp für Label-Kollaboration. Stack: SvelteKit + Hono + Postgres. + +## Aktueller Stand + + + +**Sprint / Phase:** STEM-Feature + Bugfixes + +**Zuletzt implementiert:** +- STEM-Support: Multi-File-Upload, ZIP-Download, StemList-Tab in Track-View +- Presigned URL fix: `ContentLength` entfernt (S3-Upload-Fehler) +- macOS Multi-Select fix: `accept="audio/*"` statt Extensions +- `/simplify`-Cleanup: async zip(), Null-Check, formatFileSize, Typ-Dedup + +**Als nächstes:** +- STEM-Upload testen (Deploy läuft, noch nicht vom User bestätigt) +- RESEND_API_KEY setzen → echter E-Mail-Versand +- DB `is_public` nach Tests wieder deaktivieren + +**Offene Punkte:** +- Upload-Fehler könnte noch S3-CORS sein (noch nicht ausgeschlossen) + +## Decisions + +`docs/decisions/` — Architecture Decision Records für nicht-offensichtliche Entscheidungen. +Template: `docs/templates/adr.md` +Anlegen wenn: Alternative verworfen, Constraint akzeptiert, Richtungsentscheidung getroffen. + +## Specs + +`specs/` — ein File pro Sprint oder Feature, bevor Code geschrieben wird. +Template: `docs/templates/spec.md` + +Konvention: +- Neues Sprint/Feature → erst `specs/sprint-N.md` oder `specs/feature-name.md` anlegen +- Kanban-Task verlinkt auf die Spec-Datei +- Aktive Spec steht im `## Aktueller Stand` + +## Kanban + +Board-ID: `cfddb658-6f5b-4d36-b311-369307a5fc51` + +Konvention: Bei Session-Start `get-board-info` aufrufen und offene Tasks zeigen. Aktive Tasks nach In Progress ziehen, erledigte nach Done. diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index baf81cf..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,45 +0,0 @@ -# Music Hub - -Webapp für Label-Kollaboration. Stack: SvelteKit + Hono + Postgres. - -## Aktueller Stand - - - -**Sprint / Phase:** Deploy + erster Klienten-Test - -**Zuletzt implementiert:** -- App live auf hub.mydrugismusic.com (Registrierung, Login funktionieren) -- Coolify-Deploy via Webhook-Script (kein UI nötig, im Memory dokumentiert) -- DATABASE_URL auf public port umgestellt (interner Coolify-Hostname war nicht erreichbar) -- README geschrieben und gepusht - -**Als nächstes:** -- RESEND_API_KEY setzen → echter E-Mail-Versand -- App-Bugs fixen (User: „man kann quasi nichts machen außer Profil/Karte") -- DB `is_public` nach Tests wieder deaktivieren - -**Offene Punkte:** -- Interner Coolify-Netzwerkfehler (API→DB via UUID-Hostname) ungeklärt - -## Decisions - -`docs/decisions/` — Architecture Decision Records für nicht-offensichtliche Entscheidungen. -Template: `~/.claude/templates/adr.md` -Anlegen wenn: Alternative verworfen, Constraint akzeptiert, Richtungsentscheidung getroffen. - -## Specs - -`specs/` — ein File pro Sprint oder Feature, bevor Code geschrieben wird. -Template: `~/.claude/templates/spec.md` - -Konvention: -- Neues Sprint/Feature → erst `specs/sprint-N.md` oder `specs/feature-name.md` anlegen -- Kanban-Task verlinkt auf die Spec-Datei -- Aktive Spec steht im `## Aktueller Stand` - -## Kanban - -Board-ID: `cfddb658-6f5b-4d36-b311-369307a5fc51` - -Konvention: Bei Session-Start `get-board-info` aufrufen und offene Tasks zeigen. Aktive Tasks nach In Progress ziehen, erledigte nach Done. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/docs/templates/adr.md b/docs/templates/adr.md new file mode 100644 index 0000000..4b2bdb7 --- /dev/null +++ b/docs/templates/adr.md @@ -0,0 +1,21 @@ +# ADR-[Nummer]: [Titel] + +**Datum:** [YYYY-MM-DD] +**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-[N] + +## Kontext + +Was war die Situation, warum musste eine Entscheidung getroffen werden? + +## Entscheidung + +Was wurde entschieden? + +## Alternativen die verworfen wurden + +- **[Alternative A]** — warum nicht +- **[Alternative B]** — warum nicht + +## Konsequenzen + +Was wird durch diese Entscheidung einfacher, was schwieriger? diff --git a/docs/templates/spec.md b/docs/templates/spec.md new file mode 100644 index 0000000..7d3cf5e --- /dev/null +++ b/docs/templates/spec.md @@ -0,0 +1,29 @@ +# [Feature- oder Sprint-Name] + +**Status:** Draft | Active | Done +**Repo:** [repo] +**Erstellt:** [YYYY-MM-DD] + +## Ziel + +Ein Satz. + +## Warum + +Warum jetzt, warum das. + +## In Scope + +- + +## Out of Scope + +- + +## Erfolgskriterien + +- [ ] + +## Implementierungsnotizen + +