Canvas (archive de conception)Plan d'exécution — lots ordonnés

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-planner en 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 versionSelector dé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.liquid injecté 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