Plan d'exécution : lots ordonnés
Archive de conception. Cette page raconte ce qui etait vise le jour ou elle a ete ecrite, pas l'etat du code aujourd'hui. Ce qui a ete livre depuis est recense dans le README.
Archive de conception. Cette page raconte ce qui etait vise le jour ou elle a ete ecrite, pas l'etat du code aujourd'hui. Ce qui a ete livre depuis est recense dans le README.
← retour au README
7. Plan d'exécution : lots ordonnés
Chaque lot livre de façon incrémentale. Aucune estimation de durée : on enchaîne dans la session de production.
Lot 1 — Couche de connaissance Shopify exhaustive 🔴 bloquant
But : @Atlas accède à toute ressource Shopify d'une boutique.
Livrables :
- ~30 nouveaux outils dans
src/app/api/mcp/[storeId]/register-tools.ts(cf. tableau de la section 6) - Tous via la GraphQL Admin API 2025-10
- Cache Redis (Upstash) sur les requêtes fréquentes (TTL 60 s)
- Tests d'intégration sur une boutique de développement (Boutique Demo / Valise Demo)
Dépendances : aucune.
Lot 2 — File de tâches + modèles du Kernel
But : modèle Task + liste dans l'UI + exécution par agent via Workflow DevKit.
Livrables :
- Migration Prisma :
Task,TaskActivity - Server Actions :
createTask,assignAgent,runTask,cancelTask,reviewAndApprove - Exécution en arrière-plan via Workflow DevKit (durable, reprise après crash)
- Panneau gauche du workspace : liste des tâches (glisser-déposer, filtre par statut, choix de l'agent)
- Point d'entrée depuis le chat @Atlas (« ajoute X à ma file » → POST d'une tâche)
- Notifications Resend + SSE dans l'application
Dépendances : Lot 1 (les tâches utilisent les outils Shopify).
Nettoyage du workflow legacy :
- Supprimer la page de route
/workflow(devient/workspace?tab=tasks) - Consolider
collaborative-planner+compact-planneren un<TaskPlanner>unique - Préserver les composants de nœuds qui valent d'être réutilisés (chatbot, atlas-kernel, orchestrator, subagents-team, codebase-editor)
Lot 3 — Sandbox / système de branches
But : branches de thèmes draft avec une timeline de versions (pattern v0).
Livrables :
- Migration Prisma :
ThemeBranch,ThemeVersion - Server Actions GraphQL Shopify :
createBranch(themeCreate),editFiles(themeFilesUpsert),publish(themePublish),archive - Snapshot complet en V1 (jsonpatch en V2) à chaque message qui modifie un fichier
- API
restore,fork,publish,diff - Badge de timeline des versions dans l'en-tête de la zone centrale (slot
versionSelectordéjà prêt) - Nettoyage automatique des drafts inactifs depuis plus de 30 jours
Dépendances : Lot 2 (un message dans une conversation crée une version).
Lot 4 — IDE du Workspace (Worktree) V1
But : éditeur Monaco + arbre de fichiers + enregistrement → branche courante.
Livrables :
- Enveloppe Monaco chargée en différé via
next/dynamic({ ssr: false }) - Thème sur mesure aligné sur les tokens OKLch de BoostEcom (clair/sombre)
- Arbre de fichiers à gauche (templates Liquid, sections, snippets, JSON, CSS)
- Onglets multiples via
path+saveViewState=true - Enregistrer = push vers la branche courante (themeFilesUpsert)
- Cmd+S, Cmd+P, recherche, annulation
- Bascule Preview / Worktree dans l'en-tête de la zone centrale
Dépendances : Lot 3 (enregistrement vers la branche).
Lot 5 — Preview live au centre
But : iframe du storefront + rechargement à chaud à chaque édition.
Livrables :
- Route
/api/preview/[storeId]/*en proxy vers Shopify (cookies same- origin, contournement de la page de mot de passe) - Iframe avec
?preview_theme_id={branch.shopifyThemeId} - Snippet
boostecom-bridge.liquidinjecté dans le draft via themeFilesUpsert - Diffusion SSE à chaque édition → le script de l'iframe remplace le CSS à chaud ou recharge toute la page
- Bascule de vue Preview / Worktree / Split
Dépendances : Lot 3 (preview du thème draft courant), Lot 4 (une édition déclenche le rechargement).
Lot 6 — Terminal / console
But : panneau du bas = flux de sortie d'@Atlas + jobs.
Livrables V1 :
- Console SSE en lecture seule des sorties des appels d'outils + des événements Workflow DevKit
- Bascule en bas de la zone centrale
- Format unifié (horodatage, agent, niveau, payload)
Livrables V2 (bonus) :
- Lancement éphémère d'un Vercel Sandbox pour
shopify theme check,shopify theme push, scripts maison - POST
/api/sandbox/exec→ SSE stdout/stderr → console - Plafond d'heures CPU par organisation
Dépendances : Lot 2 (événements des tâches et des agents à diffuser).
Lot 7 — Rapports + scraping des concurrents
But : audits SEO/CRO/perf/concurrents intégrés au Kernel.
Livrables :
- Migration Prisma :
StoreReport - Réutilisation des patterns
ScanApp,ReportViewer,ActivityFeed,ActionPanel(audit de la Zone 6) - Orchestrateur de pipeline (calqué sur le tracking) pour SEO / CRO / PERF / COMPETITOR / SECURITY
- Déclencheur : manuel (bouton CTA) + cron hebdomadaire + après publication (audit automatique après chaque themePublish)
- Point d'entrée dans le panneau gauche « Reports »
- Notes épinglables depuis un rapport vers une tâche (
StoreNote)
Dépendances : Lot 1 (lecture Shopify), Lot 2 (créer une tâche à partir d'un problème détecté).
10. Checklist V1 (définition de terminé)
V1 considérée comme complète quand :
- @Atlas peut lire toute ressource Shopify d'une boutique via des outils exhaustifs (Lot 1)
- File de tâches fonctionnelle : créer, assigner, exécuter, relire (Lot 2)
- Workflow legacy archivé / consolidé sans régression (Lot 2)
- Branches de thème opérationnelles : créer, éditer, publier, restaurer (Lot 3)
- Badge de timeline des versions cliquable (restauration + fork + publication) (Lot 3)
- Enregistrement depuis l'IDE Monaco → branche courante, avec rechargement à chaud de la preview (Lot 4 + 5)
- Iframe de preview live avec remplacement du CSS à chaud ou rechargement complet selon le type de fichier (Lot 5)
- Panneau terminal en bas diffusant la sortie des agents et des jobs (Lot 6 V1)
- Rapports SEO / CRO / PERF accessibles depuis le panneau gauche (Lot 7 partiel)
- Aucune régression sur les parcours existants (chat, tableau de bord, compte, admin)
- Typecheck sans aucune erreur sur l'ensemble du dépôt
- Score Lighthouse SEO/Perf ≥ 90 sur les pages publiques (le workspace est protégé)
Suivant : tips-hacks.md