wip(docs): i18n (#12681)

This commit is contained in:
Adam
2026-02-09 11:34:35 -06:00
committed by GitHub
parent f74c0339cc
commit dc53086c1e
642 changed files with 192745 additions and 509 deletions

View File

@@ -0,0 +1,323 @@
---
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 une invite que vous souhaitez exécuter lorsque cette commande est exécutée dans 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.
Utilisez la commande en tapant `/` suivi du nom de la commande.
```bash frame="none"
"/test"
```
---
## Configurer
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 TUI :
```bash frame="none"
/test
```
---
### Réduction
Vous pouvez également définir des commandes à l'aide de fichiers markdown. Placez-les dans :
- Mondial : `~/.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
tu cours :
```bash frame="none"
/test
```
---
## Configuration rapide
Les invites pour les commandes personnalisées prennent en charge plusieurs espaces réservés et syntaxes spéciaux.
---
### Arguments
Transmettez les arguments aux commandes à laide de lespace 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 invite.
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 de l'invite.
---
### 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 linvite.
---
## Possibilités
Examinons les options de configuration en détail.
---
### Modèle
L'option `template` définit l'invite qui sera envoyée 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**. Sil nest 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 un 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**.
---
## Intégré
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.