Guide des commandes OpenCode

Commandes OpenCode : commandes personnalisées, arguments et usage sûr

La distinction essentielle est simple : les commandes slash intégrées contrôlent la TUI actuelle, tandis que les commandes personnalisées d’OpenCode transforment un prompt répétitif en flux nommé. Commencez par un fichier Markdown dans .opencode/commands/, utilisez $ARGUMENTS seulement quand l’entrée varie réellement et vérifiez le prompt produit avant d’autoriser une modification de fichier ou une commande Shell. Cette page couvre les commandes intégrées, la configuration Markdown et JSON, les arguments positionnels, la sortie Shell, les références de fichiers et les erreurs fréquentes.

Mot-clé principal
commandes OpenCode
Documentation vérifiée
19 août 2026
Lecture
14 minutes
Schéma d’un terminal OpenCode relié aux commandes intégrées, aux fichiers Markdown et à la configuration JSON
Les commandes OpenCode relient les actions de la TUI à des définitions réutilisables.

Réponse rapide

Les commandes OpenCode ont trois niveaux utiles

Choisissez le niveau le plus petit qui résout la tâche afin de garder le raccourci vérifiable.

NiveauFonctionExemple
Commande TUI intégréeContrôle la session actuelle ou une action intégrée./help, /undo
Commande personnaliséeDéploie un prompt nommé depuis Markdown ou JSON./review avec $ARGUMENTS
Commande ShellS’exécute dans le terminal sur une surface distincte.npm test, git status

Une commande personnalisée ne remplace ni l’installation de la CLI, ni le fournisseur, ni la politique de permissions. Pour opencode introuvable, consultez le guide de déploiement; pour les modèles, le guide des fournisseurs; pour les changements, le guide des permissions. Vérifiez les noms avec la documentation officielle Commands et /help.

Commandes intégrées

Utiliser les commandes slash dans la TUI actuelle

OpenCode fournit /init, /undo, /redo, /share et /help. Ce ne sont ni des alias Shell ni des entrées à placer dans package.json. Saisissez-les dans l’interface OpenCode et lisez le résultat avant de poursuivre.

/help est le premier contrôle lorsque la liste de la version installée est incertaine. /undo et /redo ne remplacent pas les commits Git. Avec /share, vérifiez les données de session rendues visibles avant de l’utiliser avec du code privé. La liste intégrée peut changer selon les versions.

Exemple Markdown

Commencer par une commande personnalisée de projet

Un fichier Markdown se vérifie dans Git et reste proche du dépôt qui l’utilise.

  1. Créez .opencode/commands/review.md à la racine du projet.
  2. Ajoutez une description courte et une tâche à limite claire.
  3. Testez dans une petite branche et vérifiez le prompt et le diff.

.opencode/commands/review.md

L’exemple demande un plan de revue sans écrire automatiquement.

---
description: Review the current changes
---
Review the current Git changes. Explain risky behavior,
missing tests, and the smallest safe follow-up.
Do not edit files until I approve the plan.

Le nom du fichier devient celui de la commande : elle s’appelle /review. Le dossier ~/.config/opencode/commands/ convient aux workflows personnels et globaux; .opencode/commands/ convient aux chemins, tests et règles d’équipe. « Examiner les changements et proposer un plan » est plus contrôlable que « tout réparer ».

Configuration JSON

Utiliser l’objet command avec les réglages du projet

Les commandes peuvent aussi être définies dans l’objet command d’une configuration JSON ou JSONC. C’est utile pour choisir un agent ou un modèle précis. Les chemins, le schéma et la priorité restent couverts par le guide opencode.jsonc.

{
  "$schema": "https://opencode.ai/config.json",
  "command": {
    "test-review": {
      "template": "Review the latest test output and list the first three fixes.",
      "description": "Review test output",
      "agent": "plan"
    }
  }
}
OptionUsageÀ vérifier
templatePrompt envoyé lors de l’exécution.Il existe et borne la tâche.
descriptionCourte indication pour la découverte.Elle décrit le résultat.
agentSélection d’un agent nommé.Ses outils et permissions conviennent.
modelRemplacement du modèle pour ce flux.L’identifiant existe chez le fournisseur.

La configuration n’est pas un coffre-fort. Les clés et tokens doivent rester dans le chemin d’identifiants prévu par le fournisseur. Une commande qui utilise des fichiers ou le Shell se relit comme un script.

Arguments et contexte

Utiliser des variables seulement quand le flux varie

$ARGUMENTS reçoit toute la chaîne; $1 et $2 séparent les valeurs positionnelles.

Schéma des arguments OpenCode passant du terminal à un modèle Markdown, un fichier JSON et une sortie Shell
Les arguments doivent entrer dans un petit modèle avec une destination claire.
---
description: Create a file with supplied values
---
Create a file named $1 in directory $2.
Use this content: $3
Show the proposed path before writing.

/create-file config.json src "{ \"key\": \"value\" }" fournit trois valeurs. Le modèle doit expliquer leur usage et afficher le chemin avant l’écriture. Pour une seule phrase libre, $ARGUMENTS est plus simple.

Utilisez @src/components/Button.tsx pour référencer un fichier, et !`npm test` ou !`git log --oneline -10` pour injecter une sortie Shell dans le prompt. Comme la commande part de la racine du projet, évitez les opérations destructrices ou les secrets dans les modèles réutilisables.

Les arguments sont des entrées, pas des permissions. Commencez par une vérification en lecture seule, approuvez ensuite une petite modification, puis automatisez seulement dans un dépôt de confiance.

Usage sûr

Garder les noms, prompts et permissions prévisibles

Une commande personnalisée portant le même nom peut remplacer une commande intégrée. Évitez help, undo et share sauf si ce remplacement est volontaire. Un nom comme review-tests indique mieux le résultat attendu.

Relisez les fichiers de commandes comme du code : diff du prompt, réponse, fichiers référencés et Shell proposé. Vérifiez les agents et modèles avec le guide Agents; pour Skills et MCP, utilisez les guides Skills et MCP.

SymptômeNiveau probablePremier contrôle
Commande slash absenteChemin ou nomVérifier fichier, dossier, frontmatter et racine.
Résultat incorrectPrompt ou argumentsTester une requête courte et un argument.
Sortie Shell risquéeContexte ShellExécuter manuellement et vérifier dossier et droits.
Comportement intégré modifiéCollision de nomsRenommer et comparer avec /help.

Vérification

Six contrôles avant l’usage en équipe

  1. Périmètre : décrire entrée et sortie en une phrase.
  2. Emplacement : choisir projet ou global et documenter.
  3. Entrées : tester valeurs normales, absentes, citées et chemins.
  4. Contexte : vérifier fichiers et sortie avant une modification.
  5. Droits : commencer en lecture ou ask et approuver un petit changement.
  6. Retour arrière : conserver le fichier dans Git et noter comment désactiver la commande.

Ce parcours permet d’isoler les pannes : une commande absente indique souvent un chemin, un mauvais résultat le prompt ou les arguments, une édition refusée les permissions et une erreur de modèle le fournisseur.

FAQ

Questions sur les commandes OpenCode

À quoi servent les commandes OpenCode ?

Les commandes intégrées contrôlent la TUI. Les commandes personnalisées regroupent des prompts répétitifs pour les revues, les tests et les modèles de fichiers.

Où se trouve le dossier des commandes personnalisées ?

Les commandes de projet sont dans .opencode/commands/ et les commandes globales dans ~/.config/opencode/commands/. Le nom du fichier devient le nom de commande.

Comment passer des arguments ?

Utilisez $ARGUMENTS pour toute la chaîne ou $1, $2 pour des valeurs séparées. Citez les valeurs contenant des espaces ou du JSON.

Pourquoi ma commande n’apparaît-elle pas ?

Contrôlez le dossier, la racine, le nom, le frontmatter et les collisions, puis comparez /help avec la documentation officielle.

Sources officielles

Vérifier les détails sensibles à la version

Cette page a été vérifiée le 19 août 2026 avec la documentation officielle d’OpenCode. Les noms et chemins peuvent évoluer.

Résumé

Utilisez les commandes intégrées pour la TUI, Markdown pour les workflows de projet vérifiables et JSON quand la commande doit rester avec la configuration. Gardez les arguments explicites, considérez la sortie Shell comme un contexte non fiable, évitez les collisions et testez chaque changement avec une tâche courte et réversible.