Buckets:
| title: Commandes | |
| description: Créez des commandes personnalisées pour les tâches répétitives. | |
| Les commandes personnalisées vous permettent de spécifier un prompt que vous souhaitez exécuter lorsque cette commande est exécutée dans le TUI. | |
| ```bash frame="none" | |
| /my-command | |
| ``` | |
| Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/init`, `/undo`, `/redo`, `/share`, `/help`. [En savoir plus](/docs/tui#commands). | |
| ## Créer des fichiers de commandes | |
| Créez des fichiers markdown dans le répertoire `commands/` pour définir des commandes personnalisées. | |
| Créez `.opencode/commands/test.md` : | |
| ```md title=".opencode/commands/test.md" | |
| description: Run tests with coverage | |
| agent: build | |
| model: anthropic/claude-3-5-sonnet-20241022 | |
| Run the full test suite with coverage report and show any failures. | |
| Focus on the failing tests and suggest fixes. | |
| ``` | |
| Le frontmatter définit les propriétés de la commande. Le contenu devient le modèle (template). | |
| Utilisez la commande en tapant `/` suivi du nom de la commande. | |
| ```bash frame="none" | |
| "/test" | |
| ``` | |
| ## Configuration | |
| Vous pouvez ajouter des commandes personnalisées via la configuration OpenCode ou en créant des fichiers markdown dans le répertoire `commands/`. | |
| ### JSON | |
| Utilisez l'option `command` dans votre OpenCode [config](/docs/config) : | |
| ```json title="opencode.jsonc" {4-12} | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "command": { | |
| // This becomes the name of the command | |
| "test": { | |
| // This is the prompt that will be sent to the LLM | |
| "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.", | |
| // This is shown as the description in the TUI | |
| "description": "Run tests with coverage", | |
| "agent": "build", | |
| "model": "anthropic/claude-3-5-sonnet-20241022" | |
| } | |
| } | |
| } | |
| ``` | |
| Vous pouvez maintenant exécuter cette commande dans le TUI : | |
| ```bash frame="none" | |
| /test | |
| ``` | |
| ### Markdown | |
| Vous pouvez également définir des commandes à l'aide de fichiers markdown. Placez-les dans : | |
| - Global : `~/.config/opencode/commands/` | |
| - Par projet : `.opencode/commands/` | |
| ```markdown title="~/.config/opencode/commands/test.md" | |
| description: Run tests with coverage | |
| agent: build | |
| model: anthropic/claude-3-5-sonnet-20241022 | |
| Run the full test suite with coverage report and show any failures. | |
| Focus on the failing tests and suggest fixes. | |
| ``` | |
| Le nom du fichier markdown devient le nom de la commande. Par exemple, `test.md` permet d'exécuter : | |
| ```bash frame="none" | |
| /test | |
| ``` | |
| ## Configuration rapide | |
| Les prompts pour les commandes personnalisées prennent en charge plusieurs espaces réservés et syntaxes spéciaux. | |
| ### Arguments | |
| Transmettez les arguments aux commandes à l’aide de l’espace réservé `$ARGUMENTS`. | |
| ```md title=".opencode/commands/component.md" | |
| description: Create a new component | |
| Create a new React component named $ARGUMENTS with TypeScript support. | |
| Include proper typing and basic structure. | |
| ``` | |
| Exécutez la commande avec des arguments : | |
| ```bash frame="none" | |
| /component Button | |
| ``` | |
| Et `$ARGUMENTS` sera remplacé par `Button`. | |
| Vous pouvez également accéder à des arguments individuels à l'aide de paramètres de position : | |
| - `$1` - Premier argument | |
| - `$2` - Deuxième argument | |
| - `$3` - Troisième argument | |
| - Et ainsi de suite... | |
| Par exemple: | |
| ```md title=".opencode/commands/create-file.md" | |
| description: Create a new file with content | |
| Create a file named $1 in the directory $2 | |
| with the following content: $3 | |
| ``` | |
| Exécutez la commande : | |
| ```bash frame="none" | |
| /create-file config.json src "{ \"key\": \"value\" }" | |
| ``` | |
| Celui-ci remplace : | |
| - `$1` avec `config.json` | |
| - `$2` avec `src` | |
| - `$3` avec `{ "key": "value" }` | |
| ### Sortie du shell | |
| Utilisez _!`command`_ pour injecter la sortie [bash command](/docs/tui#bash-commands) dans votre prompt. | |
| Par exemple, pour créer une commande personnalisée qui analyse la couverture des tests : | |
| ```md title=".opencode/commands/analyze-coverage.md" | |
| description: Analyze test coverage | |
| Here are the current test results: | |
| !`npm test` | |
| Based on these results, suggest improvements to increase coverage. | |
| ``` | |
| Ou pour consulter les modifications récentes : | |
| ```md title=".opencode/commands/review-changes.md" | |
| description: Review recent changes | |
| Recent git commits: | |
| !`git log --oneline -10` | |
| Review these changes and suggest any improvements. | |
| ``` | |
| Les commandes s'exécutent dans le répertoire racine de votre projet et leur sortie fait partie du prompt. | |
| ### Références de fichiers | |
| Incluez les fichiers dans votre commande en utilisant `@` suivi du nom du fichier. | |
| ```md title=".opencode/commands/review-component.md" | |
| description: Review component | |
| Review the component in @src/components/Button.tsx. | |
| Check for performance issues and suggest improvements. | |
| ``` | |
| Le contenu du fichier est automatiquement inclus dans le prompt. | |
| ## Options | |
| Examinons les options de configuration en détail. | |
| ### Template | |
| L'option `template` définit le prompt qui sera envoyé au LLM lors de l'exécution de la commande. | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "test": { | |
| "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes." | |
| } | |
| } | |
| } | |
| ``` | |
| Il s'agit d'une option de configuration **obligatoire**. | |
| ### Description | |
| Utilisez l'option `description` pour fournir une brève description de ce que fait la commande. | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "test": { | |
| "description": "Run tests with coverage" | |
| } | |
| } | |
| } | |
| ``` | |
| Ceci est affiché comme description dans le TUI lorsque vous tapez la commande. | |
| ### Agent | |
| Utilisez la configuration `agent` pour spécifier éventuellement quel [agent](/docs/agents) doit exécuter cette commande. | |
| S'il s'agit d'un [subagent](/docs/agents/#subagents), la commande déclenchera un appel de sous-agent par défaut. | |
| Pour désactiver ce comportement, définissez `subtask` sur `false`. | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "review": { | |
| "agent": "plan" | |
| } | |
| } | |
| } | |
| ``` | |
| Il s'agit d'une option de configuration **facultative**. S’il n’est pas spécifié, la valeur par défaut est votre agent actuel. | |
| ### Sous-tâche | |
| Utilisez le booléen `subtask` pour forcer la commande à déclencher une invocation de [subagent](/docs/agents/#subagents). | |
| Ceci est utile si vous souhaitez que la commande ne pollue pas votre contexte principal et **force** l'agent à agir en tant que sous-agent, | |
| même si `mode` est défini sur `primary` dans la configuration [agent](/docs/agents). | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "analyze": { | |
| "subtask": true | |
| } | |
| } | |
| } | |
| ``` | |
| Il s'agit d'une option de configuration **facultative**. | |
| ### Modèle | |
| Utilisez la configuration `model` pour remplacer le modèle par défaut pour cette commande. | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "analyze": { | |
| "model": "anthropic/claude-3-5-sonnet-20241022" | |
| } | |
| } | |
| } | |
| ``` | |
| Il s'agit d'une option de configuration **facultative**. | |
| ## Commandes intégrées | |
| opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/share`, `/help` ; [en savoir plus](/docs/tui#commands). | |
| :::note | |
| Les commandes personnalisées peuvent remplacer les commandes intégrées. | |
| ::: | |
| Si vous définissez une commande personnalisée portant le même nom, elle remplacera la commande intégrée. | |
Xet Storage Details
- Size:
- 7.58 kB
- Xet hash:
- e7c4ec4e6f97e34b93dd2f186f0518ad65313740152fd52f523829575f480c94
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.