Skip to content

Comment fonctionnent les commandes ​

Le point essentiel à retenir : OpenSpec dispose de deux types de commandes, qui s'exécutent dans deux environnements différents.

  • Les commandes openspec ... s'exécutent dans votre terminal. (Exemple : openspec init.)
  • Les commandes /opsx:... s'exécutent dans le chat de votre assistant IA. (Exemple : /opsx:propose.)

Si vous tapez /opsx:propose dans votre terminal et que rien ne se passe, c'est pour cette raison. Vous vous adressez à la mauvaise moitié d'OpenSpec. Les commandes slash ne sont pas des commandes de terminal. Ce sont des instructions que vous donnez à votre assistant de codage IA, dans la même fenêtre de chat où vous taperiez normalement « ajouter un formulaire de connexion ».

Cette distinction unique est l'obstacle le plus courant pour les nouveaux utilisateurs, alors clarifions-la parfaitement.

Les deux moitiés ​

OpenSpec est un seul projet portant deux casquettes.

L'interface CLI (moitié terminal). Un programme nommé openspec que vous installez et exécutez depuis votre shell. Il configure votre projet, liste et valide les modifications, affiche un tableau de bord et archive les travaux terminés. Vous tapez ces commandes dans iTerm, le terminal VS Code, PowerShell, ou n'importe où où vous exécuteriez git ou npm.

bash
openspec init        # configurer OpenSpec dans ce projet
openspec list        # voir les modifications actives
openspec view        # ouvrir le tableau de bord interactif

Les commandes slash (moitié chat). Des commandes courtes comme /opsx:propose et /opsx:apply que vous tapez dans votre assistant IA. Celles-ci indiquent à l'IA de suivre le flux de travail OpenSpec : rédiger une proposition, écrire les spécifications, construire à partir de la liste des tâches, archiver une fois terminé. Vous tapez ces commandes dans Claude Code, Cursor, Devin Desktop, Copilot, ou tout autre assistant que vous utilisez.

text
/opsx:propose add-dark-mode    (tappé dans votre chat IA)
/opsx:apply                    (tappé dans votre chat IA)
/opsx:archive                  (tappé dans votre chat IA)

Voici le modèle mental en une image :

text
        VOTRE TERMINAL                          CHAT DE VOTRE ASSISTANT IA
   ┌──────────────────────┐               ┌──────────────────────────────┐
   │  $ openspec init     │   installe    │  /opsx:propose add-dark-mode  │
   │  $ openspec list     │  ──────────►  │  /opsx:apply                  │
   │  $ openspec view     │   commandes   │  /opsx:archive                │
   └──────────────────────┘    & compétences│                              │
        exécutez openspec ici                     exécutez /opsx:* ici

Remarquez la flèche. Exécuter openspec init dans votre terminal est ce qui installe les commandes slash dans votre outil IA. La moitié terminal configure la moitié chat. Après cela, la conduite au quotidien se fait principalement dans le chat.

« Comment puis-je démarrer le mode interactif ? » ​

Il n'y a pas de mode interactif séparé à démarrer. Cette question revient souvent, elle mérite donc une réponse simple.

Vous n'entrezyez pas dans un mode spécial OpenSpec. Vous ouvrez simplement votre assistant de codage IA comme vous le faites habituellement, et vous tapez une commande slash dans le chat. La commande slash est la manière dont vous « entrez » dans OpenSpec. Votre assistant la reconnaît, charge la compétence OpenSpec correspondante et commence à suivre le flux de travail.

Les vraies instructions sont donc :

  1. Ouvrez votre assistant de codage IA (Claude Code, Cursor, Devin Desktop, etc.) dans votre projet.
  2. Tapez /opsx:propose dans son chat, au même endroit où vous tapez toute autre demande.
  3. Observez l'autocomplétion : si OpenSpec est installé, vous verrez /opsx:propose, /opsx:apply et autres apparaître lorsque vous tapez le slash.

C'est tout. Pas de mode à basculer, pas de daemon à lancer, pas de fenêtre séparée.

Une chose qui est vraiment interactive réside dans le terminal : openspec view. Il ouvre un tableau de bord pour parcourir vos spécifications et modifications. Mais il s'agit d'un visualiseur, pas de l'outil avec lequel vous proposez et construisez. La construction se fait via les commandes slash dans le chat.

Pourquoi cette séparation existe-t-elle ? ​

Il est utile de le comprendre, car cela explique pourquoi OpenSpec fonctionne avec plus de 30 outils IA différents.

La CLI est le moteur. Elle connaît les règles : à quoi ressemble un dossier de modification, quels artefacts dépendent desquels, comment fusionner un delta spec dans votre source de vérité. C'est identique partout.

Les commandes slash sont le volant, et chaque outil IA a un volant légèrement différent. Claude Code les appelle des commandes. Cursor et Devin Desktop ont leurs propres formats. Certains outils les appellent des compétences. Lorsque vous exécutez openspec init, OpenSpec génère le bon type de fichier pour chaque outil que vous avez sélectionné, afin que l'intention /opsx:propose fonctionne peu importe quel assistant vous préférez.

La force de cette conception : vous apprenez le flux de travail une fois et le transportez d'un outil à l'autre. L'inconvénient : la syntaxe exacte d'une commande peut varier légèrement d'un outil à l'autre, ce qui fait l'objet de la section suivante.

Syntaxe des commandes slash par outil ​

L'intention est identique partout. L'orthographe suit le fichier chargé par votre outil.

Fichier de commande de votre outilComment le taperOutils exemples
.../commands/opsx/<id>.*/opsx:proposeClaude Code, Gemini CLI, Crush
.../opsx-<id>.*/opsx-proposeCursor, GitHub Copilot (IDE), Devin Desktop, Trae, Oh My Pi
.amazonq/prompts/opsx-<id>.md@opsx-proposeAmazon Q Developer
aucun — compétences uniquement/openspec-proposeCodeArts, ForgeCode, Hermes, Mistral Vibe, Zed Agent, .agents partagé
aucun — Kimi Code/skill:openspec-proposeKimi Code
aucun — Codex CLI$openspec-proposeCodex

Devin est le seul outil qui apparaît sur deux lignes. Devin Desktop lit .devin/workflows/, donc /opsx-propose y fonctionne ; Devin Local ne le fait pas, donc sur cet agent, utilisez la compétence /openspec-propose à la place. Les compétences qu'OpenScript écrit dans .devin/skills/ fonctionnent sur les deux, c'est pourquoi elles se référencent mutuellement par nom de compétence.

Chaque outil est répertorié dans Comment invoquer — ce tableau est la référence officielle. Deux lignes ne sont pas du tout des commandes slash : Amazon Q charge ses fichiers dans une bibliothèque de prompts invoquée avec @, et les trois dernières lignes utilisent le nom de la compétence, qui n'est pas l'identifiant de commande (/opsx:apply est la compétence openspec-apply-change).

En cas de doute, lisez la ligne « Démarrage rapide » imprimée par openspec init : elle utilise déjà la forme enregistrée par vos outils. Taper un slash et observer l'autocomplétion fonctionne également, pour les outils qui affichent des commandes slash.

Comment les commandes sont arrivées là : compétences et commandes ​

Lorsque vous exécutez openspec init (ou openspec update), OpenScript écrit de petits fichiers dans votre projet afin que votre outil IA puisse trouver le flux de travail. Selon votre outil et vos paramètres, il s'agit de compétences, de commandes, ou des deux.

  • Les compétences résident dans des emplacements tels que .claude/skills/openspec-*/SKILL.md. Elles constituent la norme émergente inter-outils : un dossier d'instructions que votre assistant détecte automatiquement.
  • Les commandes résident dans des emplacements tels que .cursor/commands/opsx-<id>.md ou .claude/commands/opsx/<id>.md — la mise en page est celle de l'outil, et c'est lui qui décide comment taper la commande. Il s'agit des anciens fichiers de commandes slash spécifiques à chaque outil. Codex ne génère pas de fichiers de commandes ; utilisez .agents/skills/openspec-*.

Vous n'avez pas besoin de savoir lequel votre outil utilise. Vous tapez simplement la commande slash et cela fonctionne. Mais savoir que ces fichiers existent aide lorsqu'un problème survient : si vos commandes disparaissent, cela signifie généralement que ces fichiers sont manquants ou obsolètes, et openspec update les régénère.

Voir Outils pris en charge pour les chemins exacts par outil, et Guide de migration pour savoir comment les compétences ont remplacé l'ancienne approche basée uniquement sur les commandes.

Confirmer que l'installation est réussie ​

Vérifications rapides, de la plus rapide à la moins rapide :

  1. Tapez un slash dans votre chat IA. Commencez à taper /opsx et observez les suggestions d'autocomplétion. Si elles apparaissent, vous êtes prêt. Sur un outil basé uniquement sur les compétences (Codex, Kimi Code, CodeArts, ForgeCode, Hermes, Mistral Vibe, Zed Agent, ou la cible .agents partagée), /opsx ne sera jamais complété, même avec une installation saine ; essayez plutôt le nom de la compétence indiqué dans le tableau ci-dessus.
  2. Recherchez les fichiers. Pour Claude Code, vérifiez que .claude/skills/ contient des dossiers openspec-*. D'autres outils utilisent leurs propres répertoires (Outils pris en charge les répertorie).
  3. Relancez la configuration. Depuis la racine de votre projet, exécutez openspec update. Cela régénère les fichiers de compétences et de commandes pour tous les outils que vous avez configurés.
  4. Redémarrez votre assistant. De nombreux outils analysent les compétences et les commandes au démarrage, donc une nouvelle fenêtre peut être l'étape manquante.

Quelles commandes ai-je exactement ? ​

Par défaut, OpenScript installe l'ensemble core de commandes slash :

  • /opsx:explore : réfléchissez à une idée avec l'IA avant de vous engager dans une modification (excellente première étape lorsque vous hésitez)
  • /opsx:propose : créez une modification et rédigez tous ses artefacts de planification en une seule étape
  • /opsx:apply : construisez la modification en parcourant sa liste de tâches
  • /opsx:update : révisez les artefacts de planification d'une modification et maintenez leur cohérence
  • /opsx:sync : fusionnez les mises à jour de spécification d'une modification dans vos spécifications principales (généralement automatique)
  • /opsx:archive : terminez une modification et classez-la

Un rythme par défaut recommandé : explore lorsque vous réfléchissez à ce qu'il faut faire, puis propose, apply, archive. Le guide Explorer d'abord explique pourquoi cette étape initiale porte ses fruits.

Il existe également un ensemble étendu pour ceux qui souhaitent un contrôle plus fin (/opsx:new, /opsx:continue, /opsx:ff, /opsx:verify, /opsx:bulk-archive, /opsx:onboard). Vous l'activez avec openspec config profile, puis l'appliquez avec openspec update.

Nouveau venu dans tout cela ? /opsx:onboard (dans l'ensemble étendu) vous guide à travers une modification complète sur votre propre base de code, en narrant chaque étape. C'est l'introduction la plus conviviale possible.

Pour savoir ce que fait chaque commande en détail, consultez Commandes. Pour savoir quand utiliser laquelle, consultez Flux de travail.

Une première exécution propre ​

En réunissant le tout, voici la séquence complète avec chaque étape étiquetée par l'endroit où elle se produit.

text
TERMINAL   $ npm install -g @fission-ai/openspec@latest
TERMINAL   $ cd your-project
TERMINAL   $ openspec init
              (installe les commandes slash dans votre outil IA)

CHAT IA      /opsx:explore
              (optionnel : réfléchissez d'abord à l'idée avec l'IA)

CHAT IA      /opsx:propose add-dark-mode
              (l'IA rédige la proposition, les spécifications, la conception, les tâches)

CHAT IA      /opsx:apply
              (l'IA construit, cochant les tâches)

CHAT IA      /opsx:archive
              (la modification est fusionnée dans vos spécifications et classée)

Deux étapes de terminal pour la configuration. Ensuite, vous travaillez dans le chat. C'est le rythme.

Liens connexes ​

  • Démarrage rapide : le tutoriel complet pour le premier changement
  • Commandes : chaque commande slash en détail
  • CLI : chaque commande de terminal en détail
  • Outils pris en charge : syntaxe par outil et emplacements de fichiers
  • FAQ : plus de réponses rapides
  • Dépannage : correctifs lorsque les commandes n'apparaissent pas