# Hackathon-Server ## 1. Temporären SSH-Key holen Öffne den separat geteilten, ablaufenden Proton-Pass-Link zum Eintrag `Hackathon 24h team SSH`. Speichere den **Private Key** lokal, teile ihn nicht weiter und lösche ihn nach dem Hackathon. ```sh mkdir -p ~/.ssh chmod 700 ~/.ssh mv ~/Downloads/ ~/.ssh/hackathon-pi-team chmod 600 ~/.ssh/hackathon-pi-team ``` Erwarteter Key-Fingerprint: `SHA256:DtI3AaMTlQt8NzDMjmn+Gch/X4JG7MqKXoxbfnm/gUk` ## 2. SSH konfigurieren In `~/.ssh/config` eintragen: ```sshconfig Host hackathon-pi HostName 168.119.180.99 User tmk241 IdentityFile ~/.ssh/hackathon-pi-team IdentitiesOnly yes ServerAliveInterval 30 SetEnv HACKATHON_PERSON= ``` Beim ersten Connect muss der Server-Fingerprint exakt `SHA256:ItRfASHytjrky06PM0oUlygSzELmMBhcxwRmdUWoi6Q` sein. ```sh ssh hackathon-pi ``` ## 3. Mit Herdr arbeiten Herdr lokal installieren und direkt mit dem Remote-Workspace verbinden: ```sh curl -fsSL https://herdr.dev/install.sh | sh herdr --remote hackathon-pi ``` Neue Shells starten automatisch in `~/hackathon`; dort einfach `pi` ausführen. Herdr-Prefix ist `Ctrl+B`, danach z. B. `n` für einen neuen Workspace oder `c` für einen neuen Tab. ## 4. Lokalen `hwt`-Helper einrichten Diesen Helper auf dem **eigenen Rechner** in `~/.zshrc` eintragen: ```zsh hwt() { local task="${1:-}" local name_re='^[a-z0-9][a-z0-9._-]*$' if [[ -z "$task" || ! "$task" =~ $name_re ]]; then print -u2 'usage: hwt # lowercase, digits, dot, underscore, hyphen' return 2 fi ssh hackathon-pi "HWT_TASK=$task zsh -lic 'hwt \"\$HWT_TASK\"'" } ``` Danach lokal neu laden: ```sh source ~/.zshrc type hwt ``` Nun wird der Befehl auf dem lokalen Rechner ausgeführt: ```sh hwt frontend-rework ``` Der lokale Helper ruft per SSH den vorbereiteten Remote-Helper auf. `HACKATHON_PERSON` aus der SSH-Konfiguration wird als Branch-Präfix verwendet. Das erzeugt und öffnet automatisch: - Branch: `/frontend-rework` - Pfad: `~/hackathon-worktrees/-frontend-rework` - Herdr-Label: `-frontend-rework` Erlaubt sind Kleinbuchstaben, Zahlen, `.`, `_` und `-`.