Démarrer
Ce parcours sert à ouvrir un chantier : créer un projet neuf, prendre en charge un projet qui existe déjà, ou relier Effortless à votre agent. Vous y venez une fois par projet, ou une fois par machine pour le déploiement.
Ce que vous demandez à l'agent
« Crée un projet Effortless ici, avec le modèle tauri-react-tailwind. »
« Quels modèles de stack existent ? Montre-moi le détail de rust. »
effortless_stack_model_list« Ce dépôt existe déjà : prépare sa migration vers Effortless, sans rien écrire pour l'instant. »
« Applique la migration. »
« Mets ce projet à niveau avec la version courante d'Effortless. »
« Range le code de la racine dans codebase/. »
Ce que fait l'agent
Créer un projet neuf
effortless_stack_model_listliste les modèles disponibles (utilisable avant tout projet).effortless_stack_model_showdétaille un modèle : variables, stratégie de build, cycle test/lint/run. Paramètre :model_id.effortless_initcrée le projet dans le répertoire courant. Il passemodel_idpour appliquer le modèle (arborescence et normes sous.ai/ndd/), et peut passerproject_name,description,context(greenfield,existingoumigration). Il pose aussiAGENTS.mdetCLAUDE.md(voir Avec un agent).
Reprendre un projet existant
effortless_migrate_initanalyse le dépôt. Avecconfirm: false(défaut) c'est un aperçu sans écriture ; avecconfirm: trueil pose la configuration, un épic, une story etmigration_plan.json.effortless_migrate_applyexécute les déplacements du plan. Avecdry_run: truec'est un audit ; avecdry_run: falseil déplace réellement les fichiers et écritmigration_report.md.effortless_codebase_relocate, si vous le voulez, range le code racine souscodebase/<stack>/.dry_runvauttruepar défaut.
Mettre un projet à niveau
effortless_migrate rejoue les migrations jusqu'au schéma courant. confirm: false (défaut) montre ce qui serait fait ; confirm: true l'applique, avec des sauvegardes .bak. Les anciens verbes effortless_migrate_nomenclature et effortless_migrate_state sont dépréciés : ce sont des alias de effortless_migrate.
Déployer
effortless_deploy installe le serveur chez vos clients, le guide global et, pour Claude Code, la barre d'état (voir Avec un agent). targets limite les clients visés, scope choisit user (défaut) ou un projet, grant_permissions: true pose aussi les permissions du serveur. C'est une action sur votre machine : l'agent la lance à votre demande.
Ce que vous obtenez
- Un projet avec
effortless.json,.effortless/, l'arbre de dossiers du modèle et, si le modèle en porte, les normes sous.ai/ndd/. AGENTS.mdetCLAUDE.mdà la racine.- Pour une reprise :
migration_plan.json, puismigration_report.mdune fois le plan appliqué. - À l'écran : le projet s'ouvre depuis le sélecteur d'espaces de travail (Ouvrir un espace de travail) ; le déploiement se voit dans Préférences › MCP & Skills (Profil et préférences).
Quand l'agent est refusé
| Situation | Ce que dit le refus | Ce qu'il faut faire |
|---|---|---|
| Un verbe de projet est appelé hors d'un projet | mcp:racineProjetIntrouvable | Renseigner EFFORTLESS_PROJECT dans la configuration du serveur si le projet existe ailleurs ; sinon effortless_init en crée un ici. |
EFFORTLESS_PROJECT désigne un dossier sans projet | mcp:projetInexistantALEndroitDeclare | Appeler effortless_init à cet endroit : votre configuration n'est pas en cause. |
effortless_init sur un dossier déjà initialisé | create:alreadyExists | Passer force: true pour écraser, ou choisir un autre répertoire. |
effortless_init avec un model_id inconnu | create:modelUnknown | effortless_stack_model_list nomme les modèles disponibles. Rien n'est écrit. |
effortless_init avec un nom fait d'espaces | create:blankName | Passer un project_name avec au moins un caractère non blanc. |
effortless_migrate_init sur un projet déjà initialisé | adopt:alreadyInitialized | Passer force: true (une sauvegarde .bak est écrite). |
effortless_migrate_apply sans plan | adopt:planNotFound | effortless_migrate_init écrit le plan de migration. |
effortless_stack_model_show avec un modèle inconnu | message « modèle … introuvable », sans code | effortless_stack_model_list donne les identifiants valides. |
effortless_codebase_relocate en mode semi-auto | pas un refus : la réponse porte gated: true et aucun déplacement | Passer le projet en mode full avec effortless_mode_set. |
init avec force: true vide aussi .effortless/epics/, backlog.json et state.json : l'agent ne le fait qu'à votre demande explicite.