#!/bin/bash # Steuerpanel: bleibt offen, bis das Fenster geschlossen wird. DIR="/home/arbeit/projects/project-starter" ARBEIT="$HOME/arbeit" TICKET_NR="" REF="" CLAUDE_PROMPT_TPL="Verschaff dir kurz Projekt-Ueberblick (ddev, shopware 6). Lies dann /tmp/redmine-%s/data.json (enthaelt Redmine Issue + Briefing-Wiki) sowie ggf. Bilder unter /tmp/redmine-%s/. Liste die fuer das Ticket noetigen Features als knappe Bullet-Liste auf - vollstaendig, nichts weglassen, aber auch nicht aufgeblaeht. Simpel und kurz." # Referenzprojekte = ddev-Projekte direkt unter ~/arbeit mapfile -t REF_NAMES < <(find "$ARBEIT" -maxdepth 2 -name .ddev -type d -printf '%h\n' \ | sed "s|^$ARBEIT/||" | sort) # Combo-Werte, ausgewaehlter Eintrag zuerst (yad nimmt den ersten als Vorauswahl) combo_werte() { local sel="$1" out="" n [ -n "$sel" ] && out="$sel" for n in "${REF_NAMES[@]}"; do [ "$n" = "$sel" ] && continue out="${out:+$out!}$n" done printf '%s' "$out" } im_terminal() { gnome-terminal -- bash -c "$1"' ; echo; read -rp "Enter zum Schliessen "' } fehler() { yad --error --title="Projekt Panel" --text="$1" --button="OK:0" --width=300 } SEP=$'\x1f' while true; do RESULT=$(yad --form \ --title="Projekt Panel" \ --separator="$SEP" \ --field="Ticket-Nr" "$TICKET_NR" \ --field="Referenzprojekt:CB" "$(combo_werte "$REF")" \ --width=520 \ --button="Ticketdaten abrufen:2" \ --button="Projekt setup:4" \ --button="Terminal starten:6") RC=$? case "$RC" in 2|4|6) ;; *) exit 0 ;; esac IFS="$SEP" read -r TICKET_NR REF _ <<< "$RESULT" if [ -z "$TICKET_NR" ]; then fehler "Ticket-Nr fehlt." continue fi REF_PFAD="$ARBEIT/$REF" ZIEL="$ARBEIT/tickets/$TICKET_NR" case "$RC" in 2) im_terminal "'$DIR/ticket-daten' '$TICKET_NR'" ;; 4) if [ ! -d "$REF_PFAD/.ddev" ]; then fehler "Kein ddev-Projekt: $REF_PFAD" continue fi im_terminal "'$DIR/ticket-setup' '$TICKET_NR' '$REF_PFAD'" ;; 6) if [ ! -d "$ZIEL" ]; then fehler "$ZIEL gibt es noch nicht. Erst Projekt setup." continue fi PROMPT=$(printf "$CLAUDE_PROMPT_TPL" "$TICKET_NR" "$TICKET_NR") gnome-terminal --working-directory="$ZIEL" -- \ bash -c 'claude "$1"; exec bash' _ "$PROMPT" ;; esac done