Communitygithub.com

app-platform-publish

Veröffentliche eine Website oder App auf der DigitalOcean App Platform und gib deren öffentliche URL zurück. Nutze dies immer dann, wenn der Benutzer darum bittet, etwas Gebautes zu veröffentlichen, bereitzustellen, zu hosten oder live zu schalten.

Was ist app-platform-publish?

Dieses Skill automatisiert die Veröffentlichung von Anwendungen auf der DigitalOcean App Platform, ohne dass Docker oder doctl benötigt werden. Es deckt den gesamten Workflow ab: lokales Testen im Sandbox, Bereitstellung (z. B. PORT-Konfiguration, Statische-Site-Setup), Erstellen eines öffentlichen GitHub-Repos (unter dem freigegebenen Konto jnaidu-do), Erstellen der App Platform App, Warten auf den aktiven Deploy und Fehlerbehebung aus den Build-Logs. Der Skill verwendet zwei geteilte Credentials (digitalocean, github und github-git) und ruft über einen Broker Endpunkte auf – nie direkt. Er unterstützt sowohl statische Sites (HTML/CSS/JS, Frameworks wie Vite) als auch serverbasierte Dienste (Node, Python, Docker) und erlaubt optional die Anbindung einer verwalteten Postgres-Datenbank. Wichtig: Alle Push- und Spezifikationsänderungen erfordern jede einzelne die explizite Zustimmung des Benutzers; der Skill holt nach jedem Schritt die Genehmigung ein, bevor er fortfährt. Fehler werden automatisch analysiert (z. B. fehlende Skripte, SSL-Probleme bei Postgres, Health-Check-Fehlschläge) und Korrekturen nach erneuter Zustimmung des Benutzers vorgenommen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jnaidu-do/qm-appplatform-skills/tree/main/app-platform-publish

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Auf App Platform veröffentlichen

Ablauf: Im Sandbox bauen und testen → bereitstellbar machen → Plan vorschlagen und Zustimmung einholen → auf GitHub pushen → App Platform App erstellen → auf ACTIVE warten → URL überprüfen.

Erstelle niemals ein Repository, führe keinen Push durch und erstelle/aktualisiere/lösche keine App, bevor der Benutzer den Plan in Schritt 2 genehmigt hat. Eine Anfrage wie „Veröffentliche es“ ist nicht diese Genehmigung. Bauen und Testen im Sandbox benötigt keine Genehmigung.

Verwende niemals die apps-Aktion publish, docker oder doctl – keines davon funktioniert auf diesem Computer. Alles läuft über zwei gemeinsame Credentials, die du über den Credential-Broker des Kerns aufrufst. Du siehst niemals die Tokens.

Verwende eine explizite sandbox_id für jeden Befehl und wähle das Credential in execute.credentials für jeden Befehl, der den Broker aufruft (digitalocean, github oder github-git). Der Kern stellt AGENT_CREDENTIAL_TOKEN nur für diese Befehle bereit. Verwende nicht rm -rf; erstelle stattdessen ein neues Verzeichnis mit mktemp -d.

Was der Computer hat

Node 24 + npm, Python 3.12 + pip, git, gh (nicht eingeloggt; nicht verwenden), curl, gcc, make. Kein docker, doctl, jq, wget, unzip. JSON mit node -e oder python3 -c parsen.

Credentials (was jedes kann)

CredentialHostErlaubt
digitaloceanapi.digitalocean.comGET/POST/PUT/DELETE unter /v2/apps und /v2/regions
githubapi.github.comGET/POST/PATCH unter /user und /repos/jnaidu-do
github-gitgithub.com (git push/clone)GET/POST unter /jnaidu-do/

Alles wird unter dem gemeinsamen GitHub-Konto jnaidu-do erstellt (ein deploymentsweites Credential, nicht das eigene des Benutzers). Sag dies im Plan. Wenn der Benutzer sein eigenes Konto möchte, teile ihm mit, dass dies noch nicht eingerichtet ist. Ein 403 path_not_allowed / method_not_allowed bedeutet, dass die Anfrage außerhalb dieses Bereichs liegt – versuche keine Variationen; teile dem Benutzer mit, dass es nicht erlaubt ist.

Broker-Helfer

Füge dies einmal pro Befehl ein (Shell-Zustand bleibt nicht erhalten). Es gibt den HTTP-Status nach stderr und den Antworttext nach stdout aus:

bk() { # bk <credential> <METHODE> <url> [json-body]
  p=$(node -e 'const [c,m,u,b]=process.argv.slice(1);console.log(JSON.stringify({credential:c,method:m,url:u,headers:{accept:

Verwandte Skills