Buckets:
| title: コマンド | |
| description: 反復的なタスク用のカスタムコマンドを作成します。 | |
| カスタムコマンドを使用すると、TUI でコマンドを実行するときに実行するプロンプトを指定できます。 | |
| ```bash frame="none" | |
| /my-command | |
| ``` | |
| カスタムコマンドは、`/init`、`/undo`、`/redo`、`/share`、`/help` などの組み込みコマンドに追加されます。 [詳細はこちら](/docs/tui#commands)。 | |
| ## コマンドファイルの作成 | |
| カスタムコマンドを定義するには、`commands/` ディレクトリに Markdown ファイルを作成します。 | |
| `.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. | |
| ``` | |
| フロントマターはコマンドのプロパティを定義します。内容がテンプレートとなります。 | |
| `/` に続けてコマンド名を入力して、コマンドを使用します。 | |
| ```bash frame="none" | |
| "/test" | |
| ``` | |
| ## 設定 | |
| カスタムコマンドは、OpenCode 設定を通じて、または `commands/` ディレクトリに Markdown ファイルを作成することによって追加できます。 | |
| ### JSON | |
| OpenCode [設定](/docs/config)で `command` オプションを使用します: | |
| ```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" | |
| } | |
| } | |
| } | |
| ``` | |
| これで、TUI で次のコマンドを実行できるようになります。 | |
| ```bash frame="none" | |
| /test | |
| ``` | |
| ### Markdown | |
| Markdown ファイルを使用してコマンドを定義することもできます。それらを次の場所に置きます。 | |
| - グローバル: `~/.config/opencode/commands/` | |
| - プロジェクトごと: `.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. | |
| ``` | |
| Markdown ファイル名がコマンド名になります。たとえば、`test.md` を使用すると、 | |
| あなたは実行します: | |
| ```bash frame="none" | |
| /test | |
| ``` | |
| ## プロンプト構成 | |
| カスタムコマンドのプロンプトは、いくつかの特別なプレースホルダーと構文をサポートしています。 | |
| ### 引数 | |
| `$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. | |
| ``` | |
| 引数を指定してコマンドを実行します。 | |
| ```bash frame="none" | |
| /component Button | |
| ``` | |
| そして、`$ARGUMENTS` は `Button` に置き換えられます。 | |
| 位置パラメータを使用して個々の引数にアクセスすることもできます。 | |
| - `$1` - 最初の引数 | |
| - `$2` - 2 番目の引数 | |
| - `$3` - 3 番目の引数 | |
| - 等々... | |
| 例えば: | |
| ```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 | |
| ``` | |
| 次のコマンドを実行します。 | |
| ```bash frame="none" | |
| /create-file config.json src "{ \"key\": \"value\" }" | |
| ``` | |
| これは以下を置き換えます。 | |
| - `$1` と `config.json` | |
| - `$2` と `src` | |
| - `$3` と `{ "key": "value" }` | |
| ### シェル出力 | |
| _!`command`_ を使用して、[bash コマンド](/docs/tui#bash-commands) の出力をプロンプトに挿入します。 | |
| たとえば、テストカバレッジを分析するカスタムコマンドを作成するには、次のようにします。 | |
| ```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. | |
| ``` | |
| または、最近の変更を確認するには: | |
| ```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. | |
| ``` | |
| コマンドはプロジェクトのルートディレクトリで実行され、その出力はプロンプトの一部になります。 | |
| ### ファイル参照 | |
| `@` の後にファイル名を指定して、コマンドにファイルを含めます。 | |
| ```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. | |
| ``` | |
| ファイルの内容はプロンプトに自動的に含まれます。 | |
| ## オプション | |
| 設定オプションを詳しく見てみましょう。 | |
| ### テンプレート | |
| `template` オプションは、コマンドの実行時に LLM に送信されるプロンプトを定義します。 | |
| ```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." | |
| } | |
| } | |
| } | |
| ``` | |
| これは**必須**の設定オプションです。 | |
| ### 説明 | |
| `description` オプションを使用して、コマンドの動作の簡単な説明を入力します。 | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "test": { | |
| "description": "Run tests with coverage" | |
| } | |
| } | |
| } | |
| ``` | |
| これは、コマンドを入力すると TUI に説明として表示されます。 | |
| ### エージェント | |
| オプションで、`agent` 設定を使用して、このコマンドを実行する [agent](/docs/agents) を指定します。 | |
| これが [subagent](/docs/agents/#subagents) の場合、コマンドはデフォルトでサブエージェントの呼び出しをトリガーします。 | |
| この動作を無効にするには、`subtask` を `false` に設定します。 | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "review": { | |
| "agent": "plan" | |
| } | |
| } | |
| } | |
| ``` | |
| これは**オプション**の設定オプションです。指定しない場合、デフォルトで現在のエージェントが使用されます。 | |
| ### サブタスク | |
| `subtask` ブール値を使用して、コマンドが [subagent](/docs/agents/#subagents) 呼び出しを強制的にトリガーします。 | |
| これは、コマンドがプライマリコンテキストを汚染せず、エージェントがサブエージェントとして動作するように**強制**する場合に便利です。 | |
| [agent](/docs/agents) 設定で `mode` が `primary` に設定されている場合でも。 | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "analyze": { | |
| "subtask": true | |
| } | |
| } | |
| } | |
| ``` | |
| これは**オプション**の設定オプションです。 | |
| ### モデル | |
| `model` 設定を使用して、このコマンドのデフォルトモデルをオーバーライドします。 | |
| ```json title="opencode.json" | |
| { | |
| "command": { | |
| "analyze": { | |
| "model": "anthropic/claude-3-5-sonnet-20241022" | |
| } | |
| } | |
| } | |
| ``` | |
| これは**オプション**の設定オプションです。 | |
| ## 組み込み | |
| OpenCode には、`/init`、`/undo`、`/redo`、`/share`、`/help` などのいくつかの組み込みコマンドが含まれています。 [詳細はこちら](/docs/tui#commands)。 | |
| :::note | |
| カスタムコマンドは組み込みコマンドをオーバーライドできます。 | |
| ::: | |
| 同じ名前のカスタムコマンドを定義すると、組み込みコマンドがオーバーライドされます。 | |
Xet Storage Details
- Size:
- 8.32 kB
- Xet hash:
- 70ddd5a62ad8806a438567541223f8e91000575662677c15ea44a3e3aec9636e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.