04 — Commandes
04 — Automatiser avec des commandes
Objectif : transformer vos prompts récurrents en commandes /nom réutilisables, pour gagner du temps et garder des pratiques homogènes.
1. Pourquoi des commandes ?
Si vous tapez régulièrement le même prompt (revoir un commit, écrire un message de commit, générer un test, expliquer le code…), créez une commande :
- Moins de frappe :
/reviewau lieu de dix lignes de prompt. - Rigueur : la commande impose un standard (ex. la checklist de revue).
- Partageable : vous committez vos commandes et toute l’équipe en profite.
2. Structure d’une commande
Une commande est un fichier Markdown dans .opencode/command/ (projet) ou ~/.config/opencode/command/ (global). Le nom du fichier (sans .md) devient le nom de la commande.
.opencode/command/review.md :
---description: Reviews the current diff and reports bugs, security and style issues.agent: code-reviewer---
Review the current changes (git diff) and report:- bugs and edge cases- security issues- performance concerns- style violations against AGENTS.md
$ARGUMENTSInvoquez-la simplement :
/reviewflowchart LR A[/"saisie : /review"/] --> B[Commande review.md] B --> C["template : consignes de revue"] C --> D["$ARGUMENTS : ce que vous ajoutez"] D --> E["agent : code-reviewer"] E --> F[/"rapport de revue structuré"/] style A fill:#fef9c3,stroke:#ca8a04,color:#713f12 style B fill:#eef2ff,stroke:#4f46e5,color:#312e81 style C fill:#ecfeff,stroke:#0891b2,color:#164e63 style D fill:#f0fdf4,stroke:#16a34a,color:#14532d style E fill:#f5f3ff,stroke:#7c3aed,color:#4c1d95 style F fill:#fef2f2,stroke:#dc2626,color:#7f1d1d$ARGUMENTS est remplacé par tout ce que vous tapez après la commande. Vous pouvez aussi utiliser $1, $2… pour des arguments positionnels.
3. Champs du frontmatter
| Champ | Rôle |
|---|---|
description |
Ce que fait la commande (affichée dans l’autocomplétion /) |
agent |
Agent qui exécute la commande (ex. code-reviewer) |
model |
Modèle à utiliser pour cette commande |
variant |
Variante (ex. thinking) |
subtask |
Exécuter en tâche de fond |
Le corps du fichier (après le frontmatter) est le prompt : c’est le champ template. Ne mettez pas de clé template dans le frontmatter.
4. Exemples de commandes utiles
Commit propre
.opencode/command/commit.md :
---description: Writes a concise conventional commit message for the current changes.---
Analyze the current git diff. Write a conventional commit message(type(scope): subject) that summarizes the change in one line,then provide a short body. Show the exact command to run.Explication de code
.opencode/command/explain.md :
---description: Explains how a file or feature works, step by step.---
Explain the requested file or feature like I'm a developer joining theteam today: purpose, flow, key functions, edge cases. Use examples.$ARGUMENTSCorrection des tests
.opencode/command/fixtests.md :
---description: Runs the tests and fixes failures iteratively.---
Run the test suite. For each failure, diagnose the root cause, fix thecode (not the test unless the test is wrong), and re-run until green.Report the final state of the suite.5. Le fichier fourni
La commande exemples/.opencode/commands/review.md est prête à copier :
cp -r exemples/.opencode/commands/ .opencode/commands/6. Bonnes pratiques
- Commitez vos commandes avec le projet pour standardiser l’équipe.
- Référencez
AGENTS.mddans les commandes de revue pour aligner sur les conventions. - Combinez commande + agent :
/reviewavecagent: code-reviewerdonne une revue systématique et sérieuse. - Après création ou modification, redémarrez Opencode.
Passez au chapitre 05 — AI engineer pour les workflows d’intelligence artificielle.