global: new-project-Skript + CLAUDE.md Trivial-Caveats-Regel
This commit is contained in:
@@ -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.
|
- 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.
|
- 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.
|
- 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
|
# Handeln / Plan
|
||||||
|
|||||||
Executable
+55
@@ -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 <name>
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
name=${1:?usage: new-project <name>}
|
||||||
|
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" <<EOF
|
||||||
|
{
|
||||||
|
"autoMemoryDirectory": "~/claude-projects/$name/memory",
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Edit(~/projects/$name/**)",
|
||||||
|
"Edit(~/claude-projects/$name/**)"
|
||||||
|
],
|
||||||
|
"additionalDirectories": [
|
||||||
|
"~/projects/$name"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > "$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"
|
||||||
Reference in New Issue
Block a user