Skip to content

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 : /review au 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
$ARGUMENTS

Invoquez-la simplement :

/review
flowchart 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 the
team today: purpose, flow, key functions, edge cases. Use examples.
$ARGUMENTS

Correction 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 the
code (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 :

Terminal window
cp -r exemples/.opencode/commands/ .opencode/commands/

6. Bonnes pratiques

  • Commitez vos commandes avec le projet pour standardiser l’équipe.
  • Référencez AGENTS.md dans les commandes de revue pour aligner sur les conventions.
  • Combinez commande + agent : /review avec agent: code-reviewer donne 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.