AgentSkillsCN

deploy

使用 PostHog 跟踪功能,将变更构建并部署至生产环境。执行命令:yarn build、commit、push,并创建 PostHog 注释。适用场景:当用户说“部署”、“deployen”、“构建并推送”或“上传至服务器”时。

SKILL.md
--- frontmatter
name: deploy
description: "Build and deploy changes to production with PostHog tracking. Run 'yarn build', commit, push, and create PostHog annotation. Use when: user says 'deploy', 'deployen', 'build and push', or 'zum Server hochladen'."

Deploy Skill

Automatisiertes Build und Deployment für ZFDM mit PostHog Annotation.

Ablauf

  1. Build ausführen

    bash
    yarn build
    
    • Bei Fehlern: Abbrechen und Fehler melden
  2. Änderungen prüfen

    bash
    git status
    git diff --stat
    
    • Prüfen welche Dateien geändert wurden
    • Fokus auf dist/ Verzeichnis und Source-Dateien
  3. Commit erstellen

    • Stage nur relevante Dateien:
      • dist/ - Build-Output
      • Geänderte Source-Dateien (falls vorhanden)
    • Commit-Message Format: Beschreibender Text
    • Co-Author hinzufügen
  4. Push auf Remote

    bash
    git push
    
  5. PostHog Annotation erstellen Nach erfolgreichem Push:

    bash
    # API Key aus .zshrc laden falls nicht gesetzt
    if [ -z "$POSTHOG_API_KEY" ]; then
      POSTHOG_API_KEY=$(grep 'POSTHOG_API_KEY=' ~/.zshrc | tail -1 | sed 's/.*POSTHOG_API_KEY="\([^"]*\)".*/\1/')
    fi
    
    COMMIT_MSG=$(git log -1 --pretty=%B | head -1)
    COMMIT_HASH=$(git rev-parse --short HEAD)
    
    curl -s -X POST "https://eu.i.posthog.com/api/projects/100077/annotations/" \
      -H "Authorization: Bearer ${POSTHOG_API_KEY}" \
      -H "Content-Type: application/json" \
      -d "{
        \"content\": \"Deployed: ${COMMIT_MSG} (${COMMIT_HASH})\",
        \"date_marker\": \"$(date -u +\"%Y-%m-%dT%H:%M:%SZ\")\",
        \"scope\": \"project\"
      }"
    
    • Der API Key wird automatisch aus ~/.zshrc geladen
    • Bei Fehler: Warnung ausgeben, aber Deployment war trotzdem erfolgreich
  6. Bestätigung

    • Push bestätigen
    • Annotation-Erstellung bestätigen (falls erfolgreich)
    • Hinweis: Server muss noch mit sudo git pull aktualisiert werden

Umgebungsvariablen

Für PostHog Annotations wird benötigt:

  • POSTHOG_API_KEY - Personal API Key mit annotation:write Scope

Der Key wird automatisch aus ~/.zshrc geladen (falls dort mit export POSTHOG_API_KEY="..." gesetzt). Die Project ID (100077) ist fest hinterlegt.

Falls der API Key nicht gefunden wird, wird das Deployment trotzdem durchgeführt, aber keine Annotation erstellt.

Wichtige Regeln

  • NIEMALS sensible Dateien committen (.env, credentials, etc.)
  • NIEMALS force-push verwenden
  • Bei Merge-Konflikten: Abbrechen und User informieren
  • Bei Build-Fehlern: Abbrechen und Fehler anzeigen
  • Annotation-Fehler sind nicht kritisch - Deployment war trotzdem erfolgreich

Typische Nutzung

User: /deploy oder: "deploye die änderungen" oder: "build and push"