V1 Pipeline Mode
playbook/V1-PIPELINE-MODE.md
V1 — Pipeline auto-exécuté (cible 5 minutes idée → MVP live)
Bench : Polsia/Nanocorp claim ~5 min idée → MVP. Atelier v1 vise même ordre de grandeur sans sacrifier le taste codifié (templates verticaux + AI fill blanks).
Ce document est l'architecture cible v1 — quand on aura les conditions pour l'implémenter (≥ 2 sprints réussis en v0 manuel + bibliothèque templates verticaux étoffée).
Pré-requis impératifs avant codage de v1 :
- 1 sprint manuel complet end-to-end (S1→S7) avec verdict J30 GO ✓
templates/saas-base/scaffolded et testé sur ≥ 1 sprint- Root domain configuré (subdomain pattern actif)
~/.atelier.envrempli (Stripe Connect, Vercel, Supabase, Resend, Posthog, Anthropic, OpenAI fallback, VibeProspecting MCP, Ahrefs MCP, Gmail MCP)
Le timing cible (5 min total)
T0:00 ─▶ idea card injectée (depuis mission-control "Forge it" button)
T0:00 ─▶ S1 Validator [Opus 4.7 thinking] (~30 sec)
T0:30 ─▶ S2 Market Analyst [Sonnet 4.6 + Ahrefs MCP // parallel] (~60 sec)
T0:30 ─▶ S3 Brand async track démarre [Sonnet 4.6 // parallel] (~jusqu'à 5 jours, ne bloque pas)
T1:30 ─▶ S4 Product Designer [Sonnet 4.6 + template selection] (~30 sec)
T2:00 ─▶ S5 Builder [scripted scaffold + AI fill + Vercel deploy] (~150 sec)
T4:30 ─▶ S6 Launch Captain [auto-landing copy + outreach queue] (~30 sec)
T5:00 ─▶ ✅ MVP live sur {slug}.martificial.com
+ 100 emails outreach en draft Gmail
+ 1 thread X + 1 post LinkedIn + 1 script vidéo générés
+ Telegram notif "Sprint ready for review" envoyée à Martin
T5:00+ ─▶ S7 Iterate kicks in (cron, async, ne bloque rien)
+ retro hebdo + verdict J30
Les 4 gates Telegram deviennent "review-after" : notifications envoyées à Martin avec fenêtre de rollback 15 min. Pas d'attente pour avancer.
Chaque station en mode pipeline
S1 Validator — 30 sec
- Input :
startup.jsonavec sectioninput(idea card) - Process :
- Opus 4.7 thinking, prompt canonique S1-stress-test.md section "Prompt canonique"
- Output JSON strict :
{verdict, score, yc_one_pager, stress_test_responses}
- Output :
startup.json.s1_stress_test - Gate : si verdict == STOP → pipeline halt + Telegram "Idea killed at S1, score X" + Martin choisit kill ou override
- v1 code stub :
atelier/agents/s1_validator.py(≤ 60 lignes)
S2 Market Analyst — 60 sec (en parallèle de S3)
- Input :
startup.json.s1_stress_test - Process :
- Parallel calls :
- Ahrefs MCP brand-radar-ai-responses sur 3 mots-clés ICP
- Ahrefs MCP keywords-explorer sur 5 mots-clés cibles
- VibeProspecting MCP count-businesses sur ICP narrow
- WebSearch Reddit + G2 + Capterra sur top 5 concurrents pré-identifiés via prompt Sonnet 4.6
- Sonnet 4.6 synthétise → JSON matrice 20 concurrents + positioning gap + unfair angle
- Parallel calls :
- Output :
startup.json.s2_market_intel - Gate : si SOM bottom-up < 1M€/an → Telegram review-after "Marché trop étroit", Martin override possible
- v1 code stub :
atelier/agents/s2_market_analyst.py(~ 120 lignes, beaucoup de glue MCP)
S3 Brand — async, démarre à T0:30 en parallèle, livre jusqu'à 5j
- Input :
startup.json.s1_stress_test+playbook/feedback_naming_*.md(contraintes fondateur) - Process :
- Sonnet 4.6 : génère 50 candidats sur 4 frameworks avec filtres fondateur (ex: ≤1 'r')
- Loop async : pour chaque candidat shortlistéable (top 20), WHOIS check
.com+ handles X/IG/LI/TikTok via API - Top 5 finalistes → Telegram review-after Martin
- Martin réponse → achat .com via Namecheap API + DNS swap depuis
{slug}.martificial.com
- Output :
startup.json.s3_brandenrichi progressivement - Bloque : RIEN. Le sprint principal continue sur subdomain.
- v1 code stub :
atelier/agents/s3_brand_async.py(~ 100 lignes)
S4 Product Designer — 30 sec
- Input :
startup.json(S1 + S2) - Process :
- Template selection : matcher l'idée à un template vertical de
playbook/verticals/(ex:hospitality-prearrival.md,d2c-subscription.md,agent-ops.md). Si match > 80% → reuse direct. Sinon → Sonnet 4.6 génère un spec custom court. - Sonnet 4.6 fill les blanks du template avec données spécifiques à l'idée (les 3 features, AC, out-of-scope, design tokens en référence taste.md)
- Output :
04-spec.md+04-design-tokens.json+ 5 ASCII wireframes (template-based)
- Template selection : matcher l'idée à un template vertical de
- Output :
startup.json.s4_spec - Gate : Telegram review-after "Spec : 3 features X/Y/Z, GO ?"
- v1 code stub :
atelier/agents/s4_designer.py(~ 80 lignes — surtout template matching) - Pré-requis : bibliothèque
playbook/verticals/avec ≥ 5 templates verticaux mûrs
S5 Builder — 150 sec (~2.5 min, le plus long)
- Input :
startup.json(S1-S4) - Process :
cp -r templates/saas-base ./runs/{slug}/build && cd ./runs/{slug}/buildscripts/atelier-bootstrap.sh {slug} {sprint_id}— renomme tout + fill .env depuis ~/.atelier.env + crée Supabase project + Stripe Connect Express account + Vercel project pointé sur{slug}.martificial.com- AI fill features : pour chaque feature de S4, agent Claude Code spawn dans un subprocess écrit le code dans le scaffold (pré-câblage = besoin de coder seulement la logique métier spécifique)
pnpm devsmoke-test via gstack browser → vérifie golden path (signup → onboarding → 1 feature core → Stripe checkout test card)vercel --prod→ live sur subdomain- Stripe LIVE keys swap (auto) + Posthog branché (auto) + Playwright CI workflow (auto)
- Output :
startup.json.s5_buildaveclive_url = https://{slug}.martificial.com - Gate : Telegram review-after avec URL + screenshot Stripe txn + lien Playwright run
- v1 code stub :
atelier/agents/s5_builder.py(~ 200 lignes, beaucoup d'orchestration subprocess) - Pré-requis lourds :
templates/saas-base/ultra-pré-câblé + bibliothèque adapters PMS (Smoobu/Mews/Cloudbeds prêts)
S6 Launch Captain — 30 sec
- Input :
startup.json(S1-S5) - Process :
- Auto-landing copy : Sonnet 4.6 génère landing Hormozi-style depuis one-pager S1 + injection dans
app/page.tsxdu repo S5 - Auto-outreach : VibeProspecting MCP sur ICP narrow S1 → 100 prospects → enrichissement signals récents → Resend (ou Gmail MCP) draft 100 emails personnalisés
- Auto-build-in-public : Sonnet 4.6 génère X thread (15 tweets) + LinkedIn post (1500 char) + script vidéo verticale (60-90 sec). Output dans
runs/{slug}/build-in-public/prêt à publier (pas publié auto — Martin valide). - Product Hunt assets générés (tagline 60 char, 260 char, 5 images placeholder → Martin remplace).
- Auto-landing copy : Sonnet 4.6 génère landing Hormozi-style depuis one-pager S1 + injection dans
- Output :
startup.json.s6_launchavec counts + URLs preview - Gate : Telegram review-after avec preview landing + sample 5 emails + drafts BIP + PH assets
- v1 code stub :
atelier/agents/s6_launch.py(~ 150 lignes)
S7 Analyst — cron, async, ne bloque rien
- Inputs :
startup.json(S1-S6) - Cron : J+7, J+14, J+21, J+30, J+60, J+90
- Process à chaque cron :
- Pull metrics Stripe API + Posthog API + Resend
- Génère
weekly-retros/W{N}.md+ push update startup.json.s7_iterate - À J30 et J90 : verdict structuré GO/PIVOT/KILL (binaire), Telegram alert immédiat
- v1 code stub :
atelier/agents/s7_analyst.py(~ 80 lignes) + cron systemd ou Vercel Cron
La bibliothèque playbook/verticals/ (asset stratégique)
C'est ce qui rend les 5 minutes possibles. Chaque template vertical = un fichier MD + un sous-template saas-base/-clone qui pré-câble les patterns du vertical.
playbook/verticals/
├── hospitality-prearrival.md # PreArrival template (le 1er à écrire)
├── hospitality-direct-booking.md # Direct.fyi pattern
├── d2c-subscription-retention.md # DunningMath pattern
├── agent-ops-roi-tracking.md # AgentPayroll/AgentLedger pattern
├── geo-llm-seo-ecom.md # CitationProof pattern
├── geo-llm-seo-hotels.md # Direct.fyi GEO pattern
└── ...
Chaque template décrit : ICP narrow standard, pricing pattern qui marche, 3 features canoniques, design tokens, wireframes pré-fait, outreach script. Quand une nouvelle idée match un template à > 80%, S4 reuse direct sans génération AI — instantané.
Compounding effect : à chaque sprint sur un vertical déjà couvert, le sprint devient ~30% plus rapide. Au 10ème sprint sur hospitality, on tombe à ~2 min idée → MVP sur ce vertical.
Le différenciateur Atelier vs Polsia/Nanocorp en v1
À speed égale, Atelier gagne sur :
| Dimension | Atelier v1 | Polsia/Nanocorp |
|---|---|---|
| Taste codifié | Refs Linear/Stripe/Vercel/Mercury + taste.md injecté dans S4 | Template générique unique |
| Outreach intégré | S6 livre 100 leads + drafts Gmail | S'arrête au MVP |
| Build-in-public | Auto-généré pendant le sprint (X+LI+vidéo) | Pas natif |
| Gates Telegram | Martin peut killer un MVP médiocre dans 15 min | Pas de gate fondateur |
| Subdomain pattern | Default, swap async vers .com | (oui aussi Polsia) |
| Bibliothèque verticaux | Croît avec chaque sprint | Pas spécialisé |
| Stripe Connect ready | Pré-câblé, money flows day 1 | Pas systématique |
| Multi-langue | EN/ES/FR/DE/IT default via AI | Souvent EN-only |
| Brand long-terme | Vendable comme SaaS méthodologie | Plus marketing-de-l'instant |
Roadmap d'implémentation v1
Ne PAS coder en parallèle. Séquentiel pour valider chaque pièce :
- Sprint v0 manuel #1 : PreArrival complet S1-S7. Post-mortem identifie quelle station automatiser en priorité.
- Codage S5 Builder en premier (le plus chronophage en v0) → templates/saas-base + scripts/atelier-bootstrap.sh
- Sprint v0 manuel #2 sur une 2e idée — pour confirmer la méthodo est généralisable.
- Codage S1+S2 en parallèle (Validator + Market Analyst) — plus simple, beaucoup de prompts canoniques déjà écrits
- Codage S6 Launch Captain (outreach + BIP)
- Codage S4 Designer + bibliothèque verticaux (ce qui rend les sprints suivants exponentiellement rapides)
- Codage S3 Brand async (le moins critique vu que subdomain pattern débloque)
- Codage S7 Analyst (cron, peut attendre J30 du 1er sprint codé)
- Codage Orchestrator (le tout-en-un
atelier run --sprint X)
Time-to-v1 estimé : 3-4 semaines de codage Martin/agent en alternance, si on suit cette roadmap stricte.