2026 Workflow OpenClaw pour indies : micro-apps web en local, boucle boilerplate 6 étapes, matrice smoke.csv batch, worktrees et Mac loué optionnel
Les indies n'échouent pas faute d'idées — l'idée numéro dix-sept n'a jamais eu de smoke test. OpenClaw sert ici de usine de boilerplate automatisé : prompts, skills et actions shell répétables qui échafaudent le même squelette Next.js/Vite, passent la même porte npm test et archivent pass/fail dans un tableur que la finance ignore. Ce workflow garde la production de masse et les tests sur votre machine locale ; un Mac loué est une voie optionnelle pour les batches de nuit, pas le héros du récit.
Si OpenClaw tourne déjà sur Apple Silicon, croisez avec contrat d'installation hour-zero OpenClaw, limites avant webhooks bruyants et hygiène disque Git quand les repos se multiplient. Pour les itérations boilerplate sans tokens, utilisez couplage OpenClaw + Ollama.
Divulgation : cet article mentionne KvmZone uniquement lorsqu'un Mac loué est optionnel pour des jobs batch longue durée. La majeure partie du workflow tourne sur le matériel que vous possédez déjà.
Pourquoi la production locale bat « une app parfaite »
| Douleur | Réponse OpenClaw local-first |
|---|---|
| Dérive de template | Un skill émet la même arborescence à chaque fois |
| Peur de shipper | Le smoke batch réduit chaque idée à une porte de 15 minutes |
| Choc de facture API | Boilerplate en local ou modèle cheap ; frontier seulement à la promotion |
| Pullulation de repos | Worktrees + sparse checkout gardent le disque prévisible |
Docs opérateur : exemples de configuration gateway OpenClaw ; vérifiez skills et flags CLI contre votre version installée.
Architecture : boucle boilerplate sur une station
Flux de données pour la boucle indie :
Idea CSV → OpenClaw skill (scaffold) → git worktree → npm ci → npm run build → npm test → PASS/FAIL row
Composants à figer une fois
| Composant | Chemin / commande | Rôle |
|---|---|---|
| Workspace | ~/.openclaw/workspace | Skills et defaults agent |
| Skill boilerplate | skills/micro-app-scaffold/ (votre repo) | Émet package.json, src/, README.md |
| Driver batch | ~/indie-batch/run.sh | Itère les idées ; ne jamais lancer en root |
| Racine artifacts | ~/indie-apps/ | Un répertoire par slug ; worktrees dessous |
| Journal smoke | ~/indie-apps/smoke.csv | Horodatage, slug, code sortie, chemin log |
Routage modèle (dépenses ennuyeuses)
| Phase | Voie modèle | Pourquoi |
|---|---|---|
| Scaffold + edits fichiers | Ollama local ou mini modèle cloud rapide | Fort volume d'itérations |
| Polish copy UI | Modèle frontier | Faible fréquence |
| Agents webhook prod | Frontier + limites | Voir article alertes budget |
Runbook six étapes (machine locale)
Étape 1 — Figer Node et OpenClaw
node -v # expect 22.x
openclaw --version
openclaw doctorCorrigez PATH avant le batch — voir contrat hour-zero.
Étape 2 — Créer la file d'idées
~/indie-apps/ideas.csv:
slug,title,stack
ping-dashboard,Ping Dashboard,vite-react
waitlist-mini,Waitlist Mini,next-14
Étape 3 — Scaffolder avec OpenClaw (un skill, plusieurs slugs)
Exemple d'invocation non interactive (adaptez à votre CLI) :
export IDEA_SLUG=ping-dashboard
openclaw run --skill micro-app-scaffold --var slug=$IDEA_SLUG --var stack=vite-reactPorte pass : ~/indie-apps/$IDEA_SLUG/package.json existe et les noms correspondent au CSV.
Étape 4 — Isoler avec git worktree
cd ~/indie-apps/monorepo.git
git worktree add ../wt-$IDEA_SLUG -b indie/$IDEA_SLUG
rsync -a ~/indie-apps/$IDEA_SLUG/ ../wt-$IDEA_SLUG/Porte pass : git -C ../wt-$IDEA_SLUG status clean sauf fichiers intentionnels.
Étape 5 — Install et build batch
cd ~/indie-apps/wt-$IDEA_SLUG
npm ci --prefer-offline
npm run buildPorte pass : dist/ ou .next/ existe ; build exit 0.
Étape 6 — Tests batch et enregistrement
npm test -- --passWithNoTests 2>&1 | tee ~/indie-apps/logs/$IDEA_SLUG.test.log
echo "$(date -Iseconds),$IDEA_SLUG,$?,$PWD" >> ~/indie-apps/smoke.csvRègle promotion : seuls les slugs exit 0 obtiennent un bloc revue humaine au calendrier.
Matrice de tests batch (signification de « PASS »)
| Contrôle | Commande | PASS | Action FAIL |
|---|---|---|---|
| Typecheck | npm run typecheck ou tsc -b | exit 0 | Skill fix-up OpenClaw une fois, puis humain |
| Unit | npm test | exit 0 | Quarantaine slug dans smoke.csv |
| Lint | npm run lint | exit 0 | Optionnel en phase idée ; requis avant URL publique |
| Serveur dev | timeout 30 npm run dev | HTTP 200 sur / | Logger conflit port ; éviter dev servers parallèles |
| Taille bundle | du -sh dist | < 5MB pour pilote micro-app | Retirer assets avant promotion |
Exécutez séquentiellement sur portable 8GB+ RAM libre ; sur Apple Silicon 16GB, plafonnez à deux jobs npm ci parallèles pour éviter le swap.
Scénario A — Semaine indie laptop seul
Quand : ≥50GB APFS libre et pas d'exposition webhook.
- Jour 1 : étapes 1–3 pour cinq slugs.
- Jour 2 : étapes 4–6 pour les cinq ; promouvoir un slug.
- Jour 3 : modèle frontier uniquement sur la copy landing du slug promu.
Chemin recommandé : Restez local jusqu'à trois passes consécutives pour le même template stack dans smoke.csv.
Scénario B — Mac loué optionnel pour batch de nuit
Quand : la machine locale dort ou vous avez besoin de six voies npm ci parallèles.
Un Mac mini M4 16GB loué est un swap OPEX électricité/sommeil — pas une exigence. Si vous louez, réutilisez ops SSH-first et gardez les secrets sur le serveur ; ne réinstallez pas OpenClaw ici.
Dépannage
openclaw run réussit mais dossier vide
Motif : Skill exit 0 ; aucun fichier.
Correctif :
- Confirmez que le skill écrit dans le chemin
workspacedu config, pas le CWD du repo. - Lancez une fois en interactif avec logs verbeux ; capturez le chemin dans le README du skill.
- Figez la version du skill — les auto-updates cassent les chemins silencieusement.
npm ci OOM ou kill pendant batch
Motif : Killed: 9 ou tempête de swap.
Correctif :
- Réduisez les jobs parallèles à 1.
- Utilisez
npm ci --omit=devpour smoke-only (documentez l'écart dans le CSV). - Déplacez le batch sur une machine 16GB+ mémoire unifiée.
FAQ
stack dans ideas.csv ; gardez des commandes smoke spécifiques au stack si besoin.Lecture associée
Prouvez la boucle locale avant un Mac cloud optionnel
Comparez hébergement local vs Mac loué sur la page tarifs ; validez le runbook 6 étapes et smoke.csv avant d'élargir le batch.