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

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.
| Niveau | Fonction | Exemple |
|---|---|---|
| Commande TUI intégrée | Contrôle la session actuelle ou une action intégrée. | /help, /undo |
| Commande personnalisée | Déploie un prompt nommé depuis Markdown ou JSON. | /review avec $ARGUMENTS |
| Commande Shell | S’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.
- Créez
.opencode/commands/review.mdà la racine du projet. - Ajoutez une description courte et une tâche à limite claire.
- 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"
}
}
}| Option | Usage | À vérifier |
|---|---|---|
template | Prompt envoyé lors de l’exécution. | Il existe et borne la tâche. |
description | Courte indication pour la découverte. | Elle décrit le résultat. |
agent | Sélection d’un agent nommé. | Ses outils et permissions conviennent. |
model | Remplacement 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.

---
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ôme | Niveau probable | Premier contrôle |
|---|---|---|
| Commande slash absente | Chemin ou nom | Vérifier fichier, dossier, frontmatter et racine. |
| Résultat incorrect | Prompt ou arguments | Tester une requête courte et un argument. |
| Sortie Shell risquée | Contexte Shell | Exécuter manuellement et vérifier dossier et droits. |
| Comportement intégré modifié | Collision de noms | Renommer et comparer avec /help. |
Vérification
Six contrôles avant l’usage en équipe
- Périmètre : décrire entrée et sortie en une phrase.
- Emplacement : choisir projet ou global et documenter.
- Entrées : tester valeurs normales, absentes, citées et chemins.
- Contexte : vérifier fichiers et sortie avant une modification.
- Droits : commencer en lecture ou ask et approuver un petit changement.
- 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.