pipeline

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.env rempli (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.json avec section input (idea card)
  • Process :
    1. Opus 4.7 thinking, prompt canonique S1-stress-test.md section "Prompt canonique"
    2. 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 :
    1. 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
    2. Sonnet 4.6 synthétise → JSON matrice 20 concurrents + positioning gap + unfair angle
  • 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 :
    1. Sonnet 4.6 : génère 50 candidats sur 4 frameworks avec filtres fondateur (ex: ≤1 'r')
    2. Loop async : pour chaque candidat shortlistéable (top 20), WHOIS check .com + handles X/IG/LI/TikTok via API
    3. Top 5 finalistes → Telegram review-after Martin
    4. Martin réponse → achat .com via Namecheap API + DNS swap depuis {slug}.martificial.com
  • Output : startup.json.s3_brand enrichi 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 :
    1. 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.
    2. 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)
    3. Output : 04-spec.md + 04-design-tokens.json + 5 ASCII wireframes (template-based)
  • 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 :
    1. cp -r templates/saas-base ./runs/{slug}/build && cd ./runs/{slug}/build
    2. scripts/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
    3. 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)
    4. pnpm dev smoke-test via gstack browser → vérifie golden path (signup → onboarding → 1 feature core → Stripe checkout test card)
    5. vercel --prod → live sur subdomain
    6. Stripe LIVE keys swap (auto) + Posthog branché (auto) + Playwright CI workflow (auto)
  • Output : startup.json.s5_build avec live_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 :
    1. Auto-landing copy : Sonnet 4.6 génère landing Hormozi-style depuis one-pager S1 + injection dans app/page.tsx du repo S5
    2. Auto-outreach : VibeProspecting MCP sur ICP narrow S1 → 100 prospects → enrichissement signals récents → Resend (ou Gmail MCP) draft 100 emails personnalisés
    3. 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).
    4. Product Hunt assets générés (tagline 60 char, 260 char, 5 images placeholder → Martin remplace).
  • Output : startup.json.s6_launch avec 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 :
    1. Pull metrics Stripe API + Posthog API + Resend
    2. Génère weekly-retros/W{N}.md + push update startup.json.s7_iterate
    3. À 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 :

DimensionAtelier v1Polsia/Nanocorp
Taste codifiéRefs Linear/Stripe/Vercel/Mercury + taste.md injecté dans S4Template générique unique
Outreach intégréS6 livre 100 leads + drafts GmailS'arrête au MVP
Build-in-publicAuto-généré pendant le sprint (X+LI+vidéo)Pas natif
Gates TelegramMartin peut killer un MVP médiocre dans 15 minPas de gate fondateur
Subdomain patternDefault, swap async vers .com(oui aussi Polsia)
Bibliothèque verticauxCroît avec chaque sprintPas spécialisé
Stripe Connect readyPré-câblé, money flows day 1Pas systématique
Multi-langueEN/ES/FR/DE/IT default via AISouvent EN-only
Brand long-termeVendable comme SaaS méthodologiePlus marketing-de-l'instant

Roadmap d'implémentation v1

Ne PAS coder en parallèle. Séquentiel pour valider chaque pièce :

  1. Sprint v0 manuel #1 : PreArrival complet S1-S7. Post-mortem identifie quelle station automatiser en priorité.
  2. Codage S5 Builder en premier (le plus chronophage en v0) → templates/saas-base + scripts/atelier-bootstrap.sh
  3. Sprint v0 manuel #2 sur une 2e idée — pour confirmer la méthodo est généralisable.
  4. Codage S1+S2 en parallèle (Validator + Market Analyst) — plus simple, beaucoup de prompts canoniques déjà écrits
  5. Codage S6 Launch Captain (outreach + BIP)
  6. Codage S4 Designer + bibliothèque verticaux (ce qui rend les sprints suivants exponentiellement rapides)
  7. Codage S3 Brand async (le moins critique vu que subdomain pattern débloque)
  8. Codage S7 Analyst (cron, peut attendre J30 du 1er sprint codé)
  9. 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.