From 9055ba7775c951927eb7eb560b4d0a93f0fa1cf5 Mon Sep 17 00:00:00 2001 From: marcus hinz Date: Sat, 20 Jun 2026 13:17:53 +0200 Subject: [PATCH] global: new-project-Skript + CLAUDE.md Trivial-Caveats-Regel --- global/CLAUDE.md | 1 + global/bin/new-project | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 global/bin/new-project diff --git a/global/CLAUDE.md b/global/CLAUDE.md index d611ea6..5412ed1 100644 --- a/global/CLAUDE.md +++ b/global/CLAUDE.md @@ -18,6 +18,7 @@ - Mich als Experten behandeln. Keine Grundlagen, Fachbegriffe oder Definitionen ungefragt erklären; kein „X bedeutet…", keine Einordnung von Begriffen, die ich selbst verwende. - Kein fehlendes Wissen unterstellen. Bei unklarem Wissensstand kurz fragen oder direkt auf hohem Niveau einsteigen. +- 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. # Handeln / Plan diff --git a/global/bin/new-project b/global/bin/new-project new file mode 100755 index 0000000..04910da --- /dev/null +++ b/global/bin/new-project @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# new-project — scaffold a new claude-projects project + matching ~/projects dir, +# register it, then commit & push claude-projects. +# Usage: new-project +set -euo pipefail + +name=${1:?usage: new-project } +case "$name" in + */* | *" "* | .*) echo "ungültiger Name: $name" >&2; exit 1 ;; +esac + +cproot="$HOME/claude-projects" +root="$cproot/$name" +[ -e "$root" ] && { echo "existiert bereits: $root" >&2; exit 1; } + +# 1. Code-Verzeichnis unter ~/projects +mkdir -p "$HOME/projects/$name" + +# 2. claude-projects-Scaffold +mkdir -p "$root/.claude" "$root/memory" + +cat > "$root/.claude/settings.json" < "$root/.claude/settings.local.json" <<'EOF' +{ + "permissions": { + "allow": [] + } +} +EOF + +printf '# Memory Index\n' > "$root/memory/MEMORY.md" + +# 3. claude-projects committen & pushen (nur den neuen Projektordner) +git -C "$cproot" add "$name" +git -C "$cproot" commit -q -m "new project: $name" +git -C "$cproot" push -q + +echo "angelegt:" +echo " ~/projects/$name (Code-Verzeichnis)" +echo " ~/claude-projects/$name (.claude/settings*, memory/MEMORY.md)" +echo " registriert in additionalDirectories + Edit-Regeln, committet & gepusht"