2026 OpenClaw-Boilerplate für Indie-Hacker: Micro-Apps lokal massenproduzieren, 6-Schritte-Loop, smoke.csv Batch-Matrix, Worktrees und optional gemieteter Mac
Indies scheitern selten an Ideen — Idee Nummer siebzehn bekommt nie einen Smoke-Test. OpenClaw ist hier eine automatisierte Boilerplate-Fabrik: wiederholbare Prompts, Skills und Shell-Aktionen, die dasselbe Next.js/Vite-Gerüst erzeugen, dieselbe npm test-Pforte laufen und Pass/Fail in eine Tabelle schreiben, die Finance ignoriert. Dieser Workflow hält Massenproduktion und Tests zuerst auf Ihrer lokalen Maschine; ein gemieteter Mac ist optional für Nacht-Batches.
Mit Apple Silicon bereits OpenClaw betreibend, kombinieren Sie OpenClaw Hour-Zero-Installvertrag, Rate Limits vor lauten Webhooks und Git-Disk-Hygiene bei vielen Repos. Boilerplate-Iterationen mit OpenClaw + Ollama sparen Tokens.
Offenlegung: KvmZone wird nur erwähnt, wenn ein gemieteter Mac optional für lange Batch-Jobs dient. Der Großteil läuft auf Hardware, die Sie bereits besitzen.
Warum local-first Massenproduktion schlägt „eine perfekte App“
| Schmerz | Local-first OpenClaw-Antwort |
|---|---|
| Template-Drift | Ein Skill liefert jedes Mal dasselbe Ordnerlayout |
| Ship-Angst | Batch-Smoke reduziert jede Idee auf ein 15-Minuten-Gate |
| API-Rechnungsschock | Boilerplate mit lokalen/günstigen Modellen; Frontier nur bei Promotion |
| Repo-Wucher | Worktrees + sparse checkout halten Disk vorhersehbar |
Operator-Docs: OpenClaw Gateway-Konfigurationsbeispiele; Skill- und CLI-Flags gegen installierte Version prüfen.
Architektur: Boilerplate-Schleife auf einer Workstation
Datenfluss der Indie-Schleife:
Idea CSV → OpenClaw skill (scaffold) → git worktree → npm ci → npm run build → npm test → PASS/FAIL row
Einmal gepinnte Komponenten
| Komponente | Pfad / Befehl | Rolle |
|---|---|---|
| Workspace | ~/.openclaw/workspace | Skills und Agent-Defaults |
| Boilerplate-Skill | skills/micro-app-scaffold/ (Ihr Repo) | Erzeugt package.json, src/, README.md |
| Batch-Treiber | ~/indie-batch/run.sh | Iteriert Ideen; nie als root ausführen |
| Artefakt-Root | ~/indie-apps/ | Ein Verzeichnis pro Slug; Worktrees darunter |
| Smoke-Log | ~/indie-apps/smoke.csv | Zeitstempel, Slug, Exit-Code, Log-Pfad |
Modell-Routing (Kosten langweilig halten)
| Phase | Modell-Spur | Warum |
|---|---|---|
| Scaffold + Dateiedits | Lokales Ollama oder schnelles Cloud-Mini-Modell | Hohe Iterationszahl |
| UI-Copy-Polish | Frontier-Modell | Niedrige Frequenz |
| Produktions-Webhook-Agenten | Frontier + Rate Limits | Siehe Budget-Alarm-Artikel |
Sechs-Schritte-Massenproduktions-Runbook (lokal)
Schritt 1 — Node und OpenClaw pinnen
node -v # expect 22.x
openclaw --version
openclaw doctorPATH vor Batch fixen — Hour-Zero-Vertrag.
Schritt 2 — Ideen-Warteschlange anlegen
~/indie-apps/ideas.csv:
slug,title,stack
ping-dashboard,Ping Dashboard,vite-react
waitlist-mini,Waitlist Mini,next-14
Schritt 3 — Mit OpenClaw scaffolden (ein Skill, viele Slugs)
Nicht-interaktives Aufrufmuster (CLI anpassen):
export IDEA_SLUG=ping-dashboard
openclaw run --skill micro-app-scaffold --var slug=$IDEA_SLUG --var stack=vite-reactPass-Gate: ~/indie-apps/$IDEA_SLUG/package.json existiert; Namen passen zum CSV.
Schritt 4 — Mit git worktree isolieren
cd ~/indie-apps/monorepo.git
git worktree add ../wt-$IDEA_SLUG -b indie/$IDEA_SLUG
rsync -a ~/indie-apps/$IDEA_SLUG/ ../wt-$IDEA_SLUG/Pass-Gate: git -C ../wt-$IDEA_SLUG status clean außer beabsichtigter Dateien.
Schritt 5 — Batch-Install und Build
cd ~/indie-apps/wt-$IDEA_SLUG
npm ci --prefer-offline
npm run buildPass-Gate: dist/ oder .next/ existiert; Build-Exit 0.
Schritt 6 — Batch-Test und Protokoll
npm test -- --passWithNoTests 2>&1 | tee ~/indie-apps/logs/$IDEA_SLUG.test.log
echo "$(date -Iseconds),$IDEA_SLUG,$?,$PWD" >> ~/indie-apps/smoke.csvPromotionsregel: nur Slugs mit Exit 0 bekommen einen Review-Block im Kalender.
Batch-Test-Matrix (was „PASS“ bedeutet)
| Check | Befehl | PASS | FAIL-Aktion |
|---|---|---|---|
| Typecheck | npm run typecheck oder tsc -b | Exit 0 | OpenClaw Fix-up-Skill einmal, dann Mensch |
| Unit | npm test | Exit 0 | Slug in smoke.csv quarantänisieren |
| Lint | npm run lint | Exit 0 | Optional in Idee-Phase; vor öffentlicher URL Pflicht |
| Dev-Server | timeout 30 npm run dev | HTTP 200 auf / | Port-Konflikt loggen; parallele Dev-Server vermeiden |
| Bundle-Größe | du -sh dist | < 5MB für Micro-App-Pilot | Assets vor Promotion strippen |
Checks sequentiell auf Laptops mit ≥8GB freiem RAM; auf 16GB Apple Silicon max. zwei parallele npm ci-Jobs.
Szenario A — Nur-Laptop-Indie-Woche
Wenn: ≥50GB freies APFS und keine Webhook-Exposition.
- Tag 1: Schritte 1–3 für fünf Slugs.
- Tag 2: Schritte 4–6 für alle fünf; einen Slug promoten.
- Tag 3: Frontier-Modell nur für Landing-Copy des promoted Slugs.
Empfohlener Pfad: Lokal bleiben, bis smoke.csv drei aufeinanderfolgende Passes für dasselbe Stack-Template zeigt.
Szenario B — Optional gemieteter Mac für Nacht-Batch
Wenn: lokale Maschine schläft oder sechs parallele npm ci-Spuren nötig.
Ein gemieteter Mac mini M4 16GB ist OPEX statt Strom/Sleep — keine Pflicht. Bei Miete SSH-first Ops nutzen; Secrets auf dem Server; OpenClaw-Install hier nicht wiederholen.
Fehlerbehebung
openclaw run erfolgreich, Ordner leer
Muster: Skill exit 0; keine Dateien.
Fix:
- Skill schreibt in
workspace-Pfad der Config, nicht Repo-CWD. - Einmal interaktiv mit verbose; Pfad im Skill-README.
- Skill-Version pinnen — Auto-Updates brechen Pfade still.
npm ci OOM oder Kill im Batch
Muster: Killed: 9 oder Swap-Sturm.
Fix:
- Parallele Jobs auf 1 senken.
npm ci --omit=devfür Smoke-only (Abweichung im CSV).- Batch auf Maschine mit 16GB+ Unified Memory.
FAQ
stack in ideas.csv parametrisieren.Weiterlesen
Lokale Schleife beweisen, dann optional Cloud-Mac
Lokal vs gemieteter Mac auf der Preisseite vergleichen; 6-Schritte-Loop und smoke.csv vor breiterem Batch.