graph TB
subgraph IDE["OPENCODE"]
AGENTS["📜 AGENTS.md<br/>Bible du projet"]
CONFIG["⚙️ swarm-workflow.json<br/>Configuration"]
SKILLS["🧩 Skills (3)<br/>Modules spécialisés"]
end
IDE --> ORCH["🧠 Orchestrator<br/>Classification & Routage"]
subgraph SOURCE["SETUP.TS"]
ISSUE["📋 Issue GitHub"]
ISSUE --> BRANCH["🌿 Branche feature/"]
end
ORCH --> ISSUE
BRANCH --> SEARCH["🔎 Search<br/>Cartographie"]
SEARCH --> PLAN["🧩 Planner<br/>Planification"]
PLAN --> FRONT["🎨 Front<br/>UI Apple-grade"]
PLAN --> BACK["⚙️ Back<br/>API & configs"]
PLAN --> CONTRACT["📋 Contract<br/>Types & OpenAPI"]
FRONT --> TEST["🧪 Tester<br/>Couverture ≥ 80%"]
BACK --> TEST
CONTRACT --> TEST
subgraph finish["FINISH.TS"]
TEST --> REVIEW["👁️ Reviewer<br/>Score ≥ 0.85"]
REVIEW -->|"✅ Approuvé"| WRITER["✍️ Writer<br/>Documentation"]
REVIEW -->|"❌ Rejeté"| FIX["🔄 Corrections"]
FIX --> TEST
WRITER --> COMMIT["Commit + Push"]
COMMIT --> PR["🔀 Pull Request"]
end
style finish fill:transparent,stroke:#7A8899,color:#7A8899
style SOURCE fill:transparent,stroke:#7A8899,color:#7A8899
PR --> MERGE["MERGE.TS<br/>Fusion dans main"]
subgraph MCP["INTÉGRATIONS MCP"]
SUPABASE["🗄️ Supabase<br/>Postgres + Auth"]
VERCEL["▲ Vercel<br/>Déploiement CDN"]
RENDER["⚡ Render<br/>Services + Cron"]
PLAYWRIGHT["🎭 Playwright<br/>Tests E2E"]
CONTEXT7["📖 Context7<br/>Documentation"]
MAGIC["🪄 21st.dev<br/>Composants UI"]
end
FRONT -.-> VERCEL
FRONT -.-> PLAYWRIGHT
FRONT -.-> MAGIC
BACK -.-> SUPABASE
BACK -.-> RENDER
TEST -.-> PLAYWRIGHT
WRITER -.-> SUPABASE
SEARCH -.-> CONTEXT7
CONTRACT -.-> CONTEXT7
style IDE fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style AGENTS fill:#0E0C09,stroke:#C4780D,color:#C4780D
style CONFIG fill:#0E0C09,stroke:#C4780D,color:#C4780D
style SKILLS fill:#0E0C09,stroke:#C4780D,color:#C4780D
style ORCH fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style ISSUE fill:#0E0C09,stroke:#C4780D,color:#C4780D
style BRANCH fill:#0E0C09,stroke:#C4780D,color:#C4780D
style SEARCH fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style PLAN fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style FRONT fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style BACK fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style CONTRACT fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style TEST fill:#0E0C09,stroke:#C4780D,color:#C4780D
style REVIEW fill:#0E0C09,stroke:#C4780D,color:#C4780D
style WRITER fill:#0E0C09,stroke:#C4780D,color:#C4780D
style COMMIT fill:#0E0C09,stroke:#C4780D,color:#C4780D
style PR fill:#0E0C09,stroke:#C4780D,color:#C4780D
style FIX fill:#0E0C09,stroke:#C4780D,color:#C4780D
style MERGE fill:#0E0C09,stroke:#7A8899,color:#F5F0EB
style MCP fill:#0E0C09,stroke:#7A8899,color:#7A8899
style SUPABASE fill:#0E0C09,stroke:#C4780D,color:#C4780D
style VERCEL fill:#0E0C09,stroke:#C4780D,color:#C4780D
style RENDER fill:#0E0C09,stroke:#C4780D,color:#C4780D
style PLAYWRIGHT fill:#0E0C09,stroke:#C4780D,color:#C4780D
style CONTEXT7 fill:#0E0C09,stroke:#C4780D,color:#C4780D
style MAGIC fill:#0E0C09,stroke:#C4780D,color:#C4780D
style finish fill:transparent,stroke:#7A8899,color:#7A8899
style SOURCE fill:transparent,stroke:#7A8899,color:#7A8899
linkStyle 12 color:#0E0C09
linkStyle 13 color:#0E0C09
Derrière les neuf agents se cache un écosystème complet : configuration centralisée, documentation auto-générée, skills activables à la demande et intégrations natives avec Supabase, Vercel, Render et Playwright. Voici comment tout cela s'articule.
Structure .opencode/
Le répertoire racine contient l'intégralité de la configuration de la Swarm. Chaque fichier et dossier a un rôle précis dans l'orchestration du pipeline de développement.
Bible du projet (~400 lignes). Définit la stack technique, les conventions, les agents, les skills, la palette de couleurs et le protocole comportemental. Lu par l'orchestrateur à chaque exécution.
Configuration centralisée du pipeline Swarm. Contrôle l'automatisation des issues, branches, PR, tests et les seuils de qualité.
Dépendances Node.js du workspace OpenCode — notamment les packages MCP (Supabase, Vercel, Render, Playwright).
Définitions des agents spécialisés. Chaque fichier décrit le rôle, les déclencheurs et le comportement d'un agent.
Modules de compétences spécialisées chargés à la demande. Chaque skill est un dossier autonome avec ses propres instructions, workflows et ressources.
Commandes slash disponibles dans l'IDE : /docs (documentation), /help (aide contextuelle), /status (état de la session).
Scripts d'automatisation Git : setup.ts (initialisation branche + issue), finish.ts (nettoyage, build, tests, PR), merge.ts (fusion).
Scripts utilitaires — notamment mcp-playwright.sh pour les tests E2E automatisés via Playwright.
swarm-workflow.json
Le fichier JSON central qui pilote l'ensemble du comportement de la Swarm. Chaque paramètre contrôle un aspect précis à travers 4 catégories. Extrait — 20 champs affichés sur ~40. Configuration complète dans <code>~/.opencode/swarm-workflow.json</code>.
Pipeline
Automatisation du cycle de vie des tâches.
La Swarm crée une issue GitHub pour chaque nouvelle tâche identifiée.
swarm.workflow.auto_create_github_issueUne branche feature/ est créée automatiquement au démarrage d'une tâche.
swarm.workflow.auto_create_branchUne pull request est ouverte automatiquement après validation des gates.
swarm.workflow.auto_create_prLes PR sont créées en mode brouillon, prêtes pour revue humaine optionnelle.
swarm.workflow.pr_draft_by_defaultLes tâches complexes sont automatiquement décomposées en sous-tâches atomiques.
swarm.workflow.auto_decompose_tasksNombre maximum de tâches traitées en parallèle dans une session.
swarm.workflow.max_tasks_per_sessionLes processus et fichiers temporaires sont nettoyés après chaque exécution.
swarm.workflow.cleanup_processes_after_runQualité
Gates qualité et seuils de validation.
Les gates qualité (tester + reviewer) sont appliquées sur les tâches MEDIUM et FULL.
swarm.workflow.enforce_quality_gatesLe merge est bloqué tant que le tester n'a pas validé la couverture ≥ 80 %.
swarm.workflow.require_tester_passLe merge est bloqué sans l'approbation du reviewer (security ≥ 1.0, quality ≥ 0.85).
swarm.workflow.require_reviewer_approveToute nouvelle feature nécessite au moins un test E2E Playwright avant merge.
swarm.workflow.require_e2e_for_new_featuresGit & Branches
Conventions de nommage et intégration GitHub.
Branche cible par défaut pour les pull requests.
swarm.github.default_base_branchToutes les branches suivent la convention feature/swarm-issue-{n}-{description}.
swarm.github.branch_prefixTests
Configuration des tests automatisés.
Commande pour démarrer le serveur de développement avant les tests E2E.
swarm.testing.e2e_frontend_commandURL cible pour les tests Playwright.
swarm.testing.e2e_frontend_urlNombre maximum de tentatives en cas d'échec des tests E2E.
swarm.testing.e2e_max_retriesDélai maximum avant abandon des tests E2E.
swarm.testing.e2e_timeout_minutesPourcentage minimum de couverture de code exigé.
swarm.testing.coverage_thresholdLe seuil de couverture est bloquant — aucun merge si non atteint.
swarm.testing.coverage_enforceSeuls les fichiers modifiés sont testés pour optimiser le temps d'exécution.
swarm.testing.test_scopeAGENTS.md
Le fichier <code>AGENTS.md</code> (~400 lignes) est la bible du projet — stack technique, conventions de code, palette de couleurs, protocole comportemental et checklist de livraison. Il est lu par l'orchestrateur à chaque exécution et définit l'intégralité des règles que tous les agents doivent respecter.
Architecture Globale
Le diagramme ci-dessous illustre l'ensemble du pipeline : de l'IDE aux intégrations MCP, en passant par les agents, les gates qualité et la documentation.
Supabase
MCPBase de données Postgres, authentification, Edge Functions et stockage. Utilisé pour les projets full-stack générés par la Swarm.
- Postgres managé
- Auth intégrée
- Edge Functions
- Migrations automatiques
Vercel
MCPDéploiement continu, CDN global, serverless functions. Cible de déploiement par défaut pour les projets frontend.
- Déploiement Git auto
- CDN global
- Preview deployments
- Analytics intégrés
Render
MCPHébergement de services web, cron jobs, Postgres managé. Utilisé pour les backends et bases de données.
- Web services
- Cron jobs
- Postgres
- Key-Value stores
Playwright
MCPTests end-to-end cross-browser. Intégré au pipeline Swarm pour valider chaque PR sur Chromium et mobile (iPhone 14).
- Tests multi-navigateurs
- Auto-waiting
- Visual comparisons
- iPhone 14 simulé
Context7
MCPRecherche de documentation temps réel pour tous les frameworks et bibliothèques. Résout les Library ID et interroge la doc à jour pour éviter les APIs obsolètes.
- Recherche documentation
- Résolution Library ID
- APIs à jour
- Multi-framework
21st.dev (Magic)
MCPGénération de composants UI via IA. Recherche, inspiration et raffinement de composants React/Next.js avec design system intégré.
- Génération composants
- Recherche UI
- Inspiration design
- Refinement visuel