diff --git a/CLAUDE.md b/CLAUDE.md index f292bfe..9fbefde 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -67,6 +67,62 @@ Conventional Commits. Kein `Co-Authored-By` Header – niemals. ## DDD Skill Für neue Bounded Contexts: `/ddd-implement` Skill verwenden. Dokumentation unter `.claude/skills/ddd-implement/SKILL.md`. +## GitHub CLI (`gh`) + +> **WICHTIG: `gh`-Befehle NIEMALS ohne ausdrückliche Zustimmung des Users ausführen!** +> Issues anlegen, PRs erstellen, Labels/Milestones verwalten – all das verändert den Remote-Zustand und ist schwer rückgängig zu machen. IMMER vorher fragen. + +`gh` ist nicht direkt installiert, sondern wird über Nix bereitgestellt: + +```bash +# Alle gh-Befehle mit diesem Prefix ausführen: +nix shell nixpkgs#gh -c gh + +# Auth prüfen +nix shell nixpkgs#gh -c gh auth status + +# Repo-Info +nix shell nixpkgs#gh -c gh repo view --json name,owner +``` + +### Milestones (via API, kein `gh milestone`-Subcommand) + +```bash +# Auflisten +nix shell nixpkgs#gh -c gh api repos/{owner}/{repo}/milestones + +# Erstellen +nix shell nixpkgs#gh -c gh api repos/{owner}/{repo}/milestones \ + -f title="Name" -f state=open -f description="Beschreibung" +``` + +### Labels + +```bash +# Auflisten +nix shell nixpkgs#gh -c gh label list --limit 100 + +# Erstellen +nix shell nixpkgs#gh -c gh label create "label-name" --color "0E8A16" --description "Beschreibung" +``` + +### Issues + +```bash +# Erstellen (Body via HEREDOC für Multiline) +nix shell nixpkgs#gh -c gh issue create \ + --title "Titel" \ + --milestone "Milestone Name" \ + --label "label1,label2" \ + --body "$(cat <<'EOF' +Issue-Body mit Markdown... +EOF +)" + +# Auflisten +nix shell nixpkgs#gh -c gh issue list --milestone "Name" --limit 50 +``` + ## Doku - `docs/QUICK_START.md` – Lokale Entwicklung, Docker, Seed-Daten - `docs/USER_MANAGEMENT.md` – Referenz-BC mit AuthorizationPort, JWT, Audit