/ship — Commit, Push & Verify Deploy
Autonomní pipeline. Neptej se na potvrzení — proveď všechny kroky a reportuj na konci. Nehardcoduj žádné cesty ani URL, vše detekuj.
Krok 0 — Detekce projektu a módu
- Project root: nejbližší adresář s
.git (od CWD nahoru). Všechny příkazy běží z něj.
- Mód:
package.json s build skriptem (v rootu nebo prvním podadresáři) → FULL (build + validace před pushem)
- jinak (statické HTML, Python, dokumenty) → SIMPLE (rovnou na Krok 2)
- Package manager (FULL):
pnpm-lock.yaml → pnpm, yarn.lock → yarn, jinak npm.
- Production URL pro verify, v tomto pořadí:
PRODUCTION_URL / NEXT_PUBLIC_SITE_URL z .env*
.vercel/project.json → https://<project-name>.vercel.app
- název repa z
git remote get-url origin → https://<repo-name>.vercel.app
- nic nenalezeno → Krok 3 přeskoč a uveď to v reportu
Krok 1 — Build a validace (jen FULL mód)
<pm> run build — pokud selže, STOP a reportuj celý error output.
- Paralelně 2 subagenti (
model: "sonnet"), v jednom tool blocku:
- TypeScript:
npx tsc --noEmit, reportovat soubor + řádek + chybu
- Assety: projít
.tsx/.ts/.css v src/ či app/, reference na obrázky/assety (src=, url(, importy obrázků) ověřit proti public/; reportovat rozbité cesty
- Jakékoli chyby → STOP a reportuj, nepokračuj na git.
Krok 2 — Commit & push
git status; žádné změny → přeskoč na Krok 3.
git diff + git log --oneline -5 (styl commitů v repu).
- Stage konkrétní soubory (
git add <soubory>, ne -A); nikdy .env*, node_modules/, .next/, dist/, .vercel/, secrets.
- Conventional commit anglicky (
feat: / fix: / chore: / style: / refactor:), stručný. Co-Authored-By trailer nech na výchozím chování Claude Code — nehardcoduj jméno modelu.
- Push přes SSH:
git push origin HEAD.
Krok 3 — Verify deploy
Přeskoč, pokud v Kroku 0 nebyla URL. Vercel deploy trvá typicky 30–90 s.
- Preferovaně přes
gh CLI (repo je na GitHubu, Vercel tam zapisuje deployment statusy):
gh api repos/{owner}/{repo}/commits/$(git rev-parse HEAD)/status --jq .state — opakuj, dokud není success (nebo failure → reportuj).
- Fallback: poll produkce curlem. Nepoužívej jeden dlouhý
sleep (bývá v harness blokovaný) — použij Monitor tool s until podmínkou, nebo curl --retry 12 --retry-delay 10 --retry-all-errors -fsS <url> -o /dev/null.
- Po úspěchu ověř klíčové stránky:
/ vrací 200 a HTML obsahuje očekávaný title/název webu; u Next.js odvoď další routes z app/*/page.tsx a checkni je taky.
Krok 4 — Report
Jeden souhrn na konci:
## Ship Report
Projekt: <root> (mód FULL/SIMPLE)
Build: OK / selhal (jen FULL)
TypeScript: OK / N chyb (jen FULL)
Assety: OK / N rozbitých (jen FULL)
Git: commit <hash> pushnut / žádné změny
Deploy: success / failure / přeskočeno (bez URL)
Stránky: / → 200, /x → 200 ...
Pokud cokoli selhalo, reportuj přesně co: error výstupy, HTTP kódy, chybějící obsah.
Changelog
- 2026-07-02 — Sjednocení dvou verzí (globální SIMPLE + projektová Next.js) do jedné s auto-detekcí módu. Odstraněna hardcoded Co-Authored-By atribuce a
sleep 60 (nahrazeno gh statusem / Monitor pollem). Commit messages anglicky.
1---2name: ship3description: Commit + push na GitHub (SSH) → Vercel auto-deploy → ověření nasazení. Auto-detekce módu: Node projekt s build skriptem = FULL (build + typecheck + kontrola assetů před pushem); statický web / ostatní = SIMPLE (rovnou commit + push + verify). Trigger: "/ship", "shipni to", "nasaď", "deployni".4---56# /ship — Commit, Push & Verify Deploy78Autonomní pipeline. Neptej se na potvrzení — proveď všechny kroky a reportuj na konci. Nehardcoduj žádné cesty ani URL, vše detekuj.910## Krok 0 — Detekce projektu a módu11121. **Project root:** nejbližší adresář s `.git` (od CWD nahoru). Všechny příkazy běží z něj.132. **Mód:**14 - `package.json` s `build` skriptem (v rootu nebo prvním podadresáři) → **FULL** (build + validace před pushem)15 - jinak (statické HTML, Python, dokumenty) → **SIMPLE** (rovnou na Krok 2)163. **Package manager** (FULL): `pnpm-lock.yaml` → pnpm, `yarn.lock` → yarn, jinak npm.174. **Production URL** pro verify, v tomto pořadí:18 - `PRODUCTION_URL` / `NEXT_PUBLIC_SITE_URL` z `.env*`19 - `.vercel/project.json` → `https://<project-name>.vercel.app`20 - název repa z `git remote get-url origin` → `https://<repo-name>.vercel.app`21 - nic nenalezeno → Krok 3 přeskoč a uveď to v reportu2223## Krok 1 — Build a validace (jen FULL mód)24251. `<pm> run build` — pokud selže, **STOP** a reportuj celý error output.262. Paralelně 2 subagenti (`model: "sonnet"`), v jednom tool blocku:27 - **TypeScript:** `npx tsc --noEmit`, reportovat soubor + řádek + chybu28 - **Assety:** projít `.tsx/.ts/.css` v `src/` či `app/`, reference na obrázky/assety (`src=`, `url(`, importy obrázků) ověřit proti `public/`; reportovat rozbité cesty293. Jakékoli chyby → **STOP** a reportuj, nepokračuj na git.3031## Krok 2 — Commit & push32331. `git status`; žádné změny → přeskoč na Krok 3.342. `git diff` + `git log --oneline -5` (styl commitů v repu).353. Stage konkrétní soubory (`git add <soubory>`, ne `-A`); nikdy `.env*`, `node_modules/`, `.next/`, `dist/`, `.vercel/`, secrets.364. Conventional commit anglicky (`feat:` / `fix:` / `chore:` / `style:` / `refactor:`), stručný. Co-Authored-By trailer nech na výchozím chování Claude Code — nehardcoduj jméno modelu.375. Push přes SSH: `git push origin HEAD`.3839## Krok 3 — Verify deploy4041Přeskoč, pokud v Kroku 0 nebyla URL. Vercel deploy trvá typicky 30–90 s.42431. **Preferovaně přes `gh` CLI** (repo je na GitHubu, Vercel tam zapisuje deployment statusy):44 `gh api repos/{owner}/{repo}/commits/$(git rev-parse HEAD)/status --jq .state` — opakuj, dokud není `success` (nebo `failure` → reportuj).452. **Fallback:** poll produkce curlem. Nepoužívej jeden dlouhý `sleep` (bývá v harness blokovaný) — použij Monitor tool s until podmínkou, nebo `curl --retry 12 --retry-delay 10 --retry-all-errors -fsS <url> -o /dev/null`.463. Po úspěchu ověř klíčové stránky: `/` vrací 200 a HTML obsahuje očekávaný title/název webu; u Next.js odvoď další routes z `app/*/page.tsx` a checkni je taky.4748## Krok 4 — Report4950Jeden souhrn na konci:5152```53## Ship Report54Projekt: <root> (mód FULL/SIMPLE)55Build: OK / selhal (jen FULL)56TypeScript: OK / N chyb (jen FULL)57Assety: OK / N rozbitých (jen FULL)58Git: commit <hash> pushnut / žádné změny59Deploy: success / failure / přeskočeno (bez URL)60Stránky: / → 200, /x → 200 ...61```6263Pokud cokoli selhalo, reportuj přesně co: error výstupy, HTTP kódy, chybějící obsah.6465## Changelog66- **2026-07-02** — Sjednocení dvou verzí (globální SIMPLE + projektová Next.js) do jedné s auto-detekcí módu. Odstraněna hardcoded Co-Authored-By atribuce a `sleep 60` (nahrazeno gh statusem / Monitor pollem). Commit messages anglicky.