Importar un backlog de Spec Kit en OrgGen
Spec Kit regenera su archivo de tareas: la identidad de una tarea depende por tanto de su funcionalidad Y de su número, y un número que vuelve con otro título no sobrescribe nada. Esta guía dice qué lee OrgGen de la versión 1.1.0, qué devuelve el plan y qué queda a mano.
El texto completo de esta guía existe por ahora solo en francés. El título y el resumen de arriba sí están traducidos.
Ce que lit OrgGen : le `tasks.md` d’une fonctionnalité
OrgGen lit le fichier `tasks.md` que Spec Kit génère pour une fonctionnalité, tel quel — Spec Kit v1.1.0 (dépôt github/spec-kit, révision e1fa857, lue le 2026-10-03). Une ligne de tâche a la forme que Spec Kit documente : une case, un identifiant, des marqueurs facultatifs, une description.
- [ ] T006 [P] [US1] Create Album model in src/models/album.tsTon agent appelle `import_tasks` avec `format: "speckit-tasks"` et le contenu du fichier dans `text`. Pour plusieurs fonctionnalités, ou si le fichier ne porte pas la ligne « Design documents from /specs/<NNN-fonctionnalité>/ », précède chaque fichier de `=== FILE: specs/<NNN-fonctionnalité>/tasks.md ===`.
Ce que chaque élément devient
| Dans le `tasks.md` | Dans OrgGen |
|---|---|
| `- [ ] T001 …` / `- [x] T001 …` | une tâche à faire / faite |
| `[P]` | l’étiquette `parallel` |
| le titre de phase (« Phase 1: Setup ») | l’étiquette `phase:<nom>` |
| `## … User Story 1 – Titre (Priority: P1)` | une tâche PARENTE `<fonctionnalité>:US1` — son but et son test indépendant en corps, la priorité en étiquette ; ses tâches `[US1]` en sont les sous-tâches |
| le statut d’une user story | DÉRIVÉ de ses tâches (toutes faites = faite, une entamée = en cours), recalculé à chaque rejeu en mise à jour |
| la fonctionnalité | pas une tâche : un préfixe d’identité et l’étiquette `feature:<dossier>` ; le bloc qui la porte est celui que tu désignes (`cellRef` ou `cellId`) |
L’identité : `T001` n’est unique que par fonctionnalité
Spec Kit régénère son fichier : le numéro `T001` d'une fonctionnalité n'est pas celui d'une autre, et il peut changer quand le fichier est refait. L'identité d'une tâche importée est donc `<fonctionnalité>:T001`. Le dossier de la fonctionnalité vient du chemin que tu fournis, sinon de la ligne « Design documents from … » ; ni l'un ni l'autre, et le fichier est refusé plutôt que deviné.
- Un numéro qui revient avec un AUTRE titre n'écrase rien : il sort en conflit (`title-changed`) et la tâche existante reste telle quelle.
- Une tâche insérée au milieu décale tout ce qui suit : un numéro neuf dont le titre est celui d'une tâche existante sous un autre numéro sort en conflit (`renumbered`) au lieu d'être créé en double.
- Après une renumérotation, rien de ce qui est décalé n'est écrit : annule le lot (`rollback_import`, à blanc d'abord) puis réimporte le fichier, ou importe-le sous une autre `source`.
Le geste, dans l’ordre
- Tu colles le `tasks.md` à ton agent — le chat d'OrgGen, ou un client MCP qui envoie une clé d'API.
- Il appelle `import_tasks` avec `format: "speckit-tasks"`. Par défaut c'est un calcul : le plan est rendu (créées, mises à jour, ignorées, conflits, erreurs) sans rien écrire.
- Ton agent a pour consigne de te montrer ce plan. Lis surtout les conflits et les erreurs.
- Rien ne s'écrit sans un second appel explicite, avec `dryRun: false` et le même lot. L'agent garde l'`importId` rendu.
- Un doute après coup : `list_imports` retrouve le lot, `rollback_import` l'annule — d'abord à blanc.
Rejouer, mettre à jour, annuler
- Rejouer ne duplique jamais : la clé de rejeu est `(source, identité)`. Recoller le même fichier ne crée rien.
- Avec `onExisting: "update"`, l'import réécrit les champs fournis d'une tâche déjà importée — seulement si personne ne l'a modifiée depuis ; sinon elle sort en conflit, jamais écrasée. C'est ainsi que la progression (les cases cochées) se propage, user stories comprises.
- Annuler un lot supprime ce qu'il a créé et garde ce qu'un humain a modifié. Les mises à jour qu'il a faites ne sont pas restaurées.
- Une tâche terminée garde sa date d'achèvement quand l'export la porte — `tasks.md` n'en porte pas : la tâche cochée prend la date de l'import.
Ce qui ne se transporte pas
- Les sections hors tâches du fichier : « Dependencies & Execution Order », « Notes », les exemples de lancement en parallèle.
- Les dépendances écrites en prose dans la description d'une tâche : seules les phases et les user stories structurent.
- La fonctionnalité elle-même : ce n'est pas une tâche, elle se range dans un bloc (`cellRef` ou `cellId`).
Pruébalo con tu propio caso
Describe tu situación en una frase — OrgGen construye el diagrama y hace el cálculo.
Pruébalo con tu propio caso