diff --git a/global/CLAUDE.md b/global/CLAUDE.md index 7137f45..90dd771 100644 --- a/global/CLAUDE.md +++ b/global/CLAUDE.md @@ -21,10 +21,22 @@ - Keine selbstverständlichen Voraussetzungen oder Trivial-Caveats anhängen (z. B. „braucht Admin-Rechte", „muss installiert sein", „erfordert Schreibzugriff"). Was ein Fachmann mit 25 Jahren Erfahrung ohnehin weiß, weglassen. Denselben Hinweis nie wiederholen. - Auch Dritten, über die wir sprechen, Kompetenz unterstellen. Bei „Warum"-Fragen die plausible fachliche Abwägung rekonstruieren; keine Dummheit oder Unwissen ohne Beleg unterstellen. +# Anker + +- Diese Datei ist die Quelle für `~/.claude/CLAUDE.md` (Symlink). Änderungen direkt hier in `~/claude-projects/global/CLAUDE.md` vornehmen, nicht über den Symlink-Pfad. +- Anker für projektübergreifend Gemeinsames (Checklisten, Notizen, Memory, geteilte Dateien) ist `~/claude-projects/robotunits`. Solche Dateien gehören dorthin, nicht unter `~/projects/...`. +- Projektspezifisches (z. B. SessionStart-Hooks) bleibt im jeweiligen Projekt unter dessen `.claude/settings.json` — nicht global. + # Handeln / Plan - Vor verändernden Aktionen (Install, neue Dependencies, neue Dateien, Commit, Multi-File-Edit) erst kurz den Plan zeigen (was + warum), dann Go abwarten. Lese-/Suchaktionen laufen ohne Vorankündigung. +# Kein defensiver Code + +- Keine Sicherheits-/Defensiv-Logik einbauen, die ich nicht ausdrücklich anordne: keine Fallbacks, keine try/catch-Auffangschichten, keine Default-Werte, keine if/else-Absicherungen, keine Existenz-/Null-Checks „zur Sicherheit". +- Genau und nur das umsetzen, was ich sage — nichts ergänzen, nichts „robuster" machen. +- Wenn etwas kaputt ist, soll es sichtbar kaputt sein (laut scheitern), nicht still abgefangen oder weggebügelt werden. + # PROD-Umgebungen - Jede Interaktion mit einer PROD-Umgebung (Cluster, Pods, Deployments, Secrets) nur auf ausdrückliche Ansage. Ohne explizite Nennung von „PROD" bezieht sich jede Aktion auf DEV/den aktuellen Kontext. diff --git a/misc/.claude/settings.local.json b/misc/.claude/settings.local.json new file mode 100644 index 0000000..be5d036 --- /dev/null +++ b/misc/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump)", + "Bash(killall Dock)" + ] + } +} diff --git a/misc/heron.webp b/misc/heron.webp new file mode 100644 index 0000000..b520113 Binary files /dev/null and b/misc/heron.webp differ diff --git a/misc/wuerth.png b/misc/wuerth.png new file mode 100755 index 0000000..95ae414 Binary files /dev/null and b/misc/wuerth.png differ diff --git a/robotunits/.claude/settings.json b/robotunits/.claude/settings.json index 4d405ea..a44e4d7 100644 --- a/robotunits/.claude/settings.json +++ b/robotunits/.claude/settings.json @@ -4,11 +4,25 @@ "allow": [ "Edit(~/projects/geko-core/**)", "Edit(~/projects/adesso-cpq/**)", + "Edit(~/projects/geko-infra/**)", "Edit(~/claude-projects/robotunits/**)" ], "additionalDirectories": [ "~/projects/geko-core", - "~/projects/adesso-cpq" + "~/projects/adesso-cpq", + "~/projects/geko-infra" + ] + }, + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "jq -Rs '{systemMessage: ., hookSpecificOutput:{hookEventName:\"SessionStart\", additionalContext: .}}' /Users/marcus.hinz/claude-projects/robotunits/OFFENE-PUNKTE.md" + } + ] + } ] } } diff --git a/robotunits/OFFENE-PUNKTE.md b/robotunits/OFFENE-PUNKTE.md new file mode 100644 index 0000000..9ed4b23 --- /dev/null +++ b/robotunits/OFFENE-PUNKTE.md @@ -0,0 +1,4 @@ +# Offene Punkte — bei jedem Start prüfen und abhaken + +- [ ] **Paul / Schutzzaun "Element":** In `adesso-cpq/packages/frontend/src/components/building-blocks/ProductBrowser.vue` ist die kataloggruppe `Element` im `schutzzaun_basic` per Filter rausgenommen (TODO (Paul) an der Filterzeile). Element ist kaputt, muss richtig gefixt werden. +- [ ] **Marcel / Selection:** In `adesso-cpq/packages/frontend/src/components/visual/DefaultCommandProzessor.ts` sind für die Events `selection` und `selection-click` `FIXME (Marcel)`-Kommentare gesetzt. Selection-Logik sauber in den Griff bekommen. diff --git a/robotunits/memory/MEMORY.md b/robotunits/memory/MEMORY.md index 0074d4a..aa83584 100644 --- a/robotunits/memory/MEMORY.md +++ b/robotunits/memory/MEMORY.md @@ -5,3 +5,4 @@ - [Keine Spekulation/Unterstellung](feedback-keine-intent-unterstellung.md) — keine „vermutlich"-Sätze über Absichten Dritter oder technische Ursachen; bei Unklarheit „weiß ich nicht" - [adesso-cpq MR-Ziel](cpq-branching-mr-ziel.md) — MRs künftig auf development/Integration statt main; Branch bald einrichten - [Kein nextTick](feedback-kein-nexttick.md) — Vue nextTick hartes Verbot; Timing reaktiv über watch/v-if lösen +- [cpq Storybook starten](cpq-storybook-start.md) — pnpm --filter @ad-cpq/common-frontend storybook (Port 6006) diff --git a/robotunits/memory/cpq-storybook-start.md b/robotunits/memory/cpq-storybook-start.md new file mode 100644 index 0000000..05fba48 --- /dev/null +++ b/robotunits/memory/cpq-storybook-start.md @@ -0,0 +1,16 @@ +--- +name: cpq-storybook-start +description: Befehl zum Starten von Storybook im adesso-cpq Projekt +metadata: + node_type: memory + type: project + originSessionId: 277ae1d7-4a4d-4f24-ae53-60e743d26171 +--- + +Storybook in adesso-cpq starten: + +``` +pnpm --filter @ad-cpq/common-frontend storybook +``` + +Paket liegt unter `packages/frontend` (Name `@ad-cpq/common-frontend`), Script `storybook dev -p 6006`, Port 6006. Monorepo nutzt pnpm. Siehe [[cpq-verbau-architektur]].