命令
為重複性任務建立自訂命令。
自訂命令讓你指定一個提示詞,在你的工作階段中執行該命令時執行。
/my-command
自訂命令是除了內建命令(如 /init、/undo、/redo、/help)之外的補充。深入了解。
建立命令檔案
在 commands/ 目錄中建立 markdown 檔案以定義自訂命令。
建立 .dropstone/commands/test.md:
---
description: Run tests with coverage
agent: build
model: dropstone/dropstone-pro
---
執行完整的測試套件並產生涵蓋率報告,顯示任何失敗。
專注於失敗的測試並建議修復方案。
前置資料定義命令屬性。內容成為範本。
輸入 / 後跟著命令名稱來使用該命令。
/test
設定
你可以透過 Dropstone 設定或在 commands/ 目錄中建立 markdown 檔案來新增自訂命令。
JSON
在你的 Dropstone 設定 中使用 command 選項:
{
"$schema": "https://dropstone.io/schema/config.json",
"command": {
// 這會成為命令的名稱
"test": {
// 這是將被發送給 LLM 的提示詞
"template": "執行完整的測試套件並產生涵蓋率報告,顯示任何失敗。\n專注於失敗的測試並建議修復方案。",
// 在斜線命令選擇板中顯示為描述
"description": "執行涵蓋率測試",
"agent": "build",
"model": "dropstone/dropstone-pro"
}
}
}
現在你可以從任何工作階段執行此命令:
/test
Markdown
你也可以使用 markdown 檔案定義命令。將它們放在:
- 全域:
~/.config/dropstone/commands/ - 按專案:
.dropstone/commands/
---
description: Run tests with coverage
agent: build
model: dropstone/dropstone-pro
---
執行完整的測試套件並產生涵蓋率報告,顯示任何失敗。
專注於失敗的測試並建議修復方案。
markdown 檔案名稱會成為命令名稱。例如,test.md 讓你執行:
/test
提示詞設定
自訂命令的提示詞支援多個特殊預留位置和語法。
引數
使用 $ARGUMENTS 預留位置將引數傳遞給命令。
---
description: Create a new component
---
建立一個名為 $ARGUMENTS 的新 React 元件,具有 TypeScript 支援。
包括適當的型別和基本結構。
使用引數執行命令:
/component Button
$ARGUMENTS 將被替換為 Button。
你也可以使用位置參數存取個別引數:
$1- 第一個引數$2- 第二個引數$3- 第三個引數- 以此類推...
例如:
---
description: Create a new file with content
---
在目錄 $2 中建立名為 $1 的檔案
內容如下:$3
執行命令:
/create-file config.json src "{ \"key\": \"value\" }"
這會替換:
$1為config.json$2為src$3為{ "key": "value" }
Shell 輸出
使用 !command 將shell 命令輸出注入到你的提示詞中。
例如,建立一個分析測試涵蓋率的自訂命令:
---
description: Analyze test coverage
---
以下是目前的測試結果:
!`npm test`
根據這些結果,建議改進以提高涵蓋率。
或審查最近的變更:
---
description: Review recent changes
---
最近的 git 提交:
!`git log --oneline -10`
審查這些變更並建議任何改進。
命令在你的專案根目錄中執行,其輸出成為提示詞的一部分。
檔案參考
使用 @ 後跟著檔案名稱在你的命令中包含檔案。
---
description: Review component
---
審查 @src/components/Button.tsx 中的元件。
檢查效能問題並建議改進。
檔案內容會自動包含在提示詞中。
選項
讓我們詳細查看設定選項。
範本
template 選項定義執行命令時將發送給 LLM 的提示詞。
{
"command": {
"test": {
"template": "執行完整的測試套件並產生涵蓋率報告,顯示任何失敗。\n專注於失敗的測試並建議修復方案。"
}
}
}
這是一個必需的設定選項。
描述
使用 description 選項提供命令功能的簡短描述。
{
"command": {
"test": {
"description": "執行涵蓋率測試"
}
}
}
這會在斜線命令選擇板中的命令旁邊顯示。
代理
使用 agent 設定來選擇性地指定哪個代理應執行此命令。
如果這是一個子代理,該命令預設會觸發子代理呼叫。
若要停用此行為,請將 subtask 設定為 false。
{
"command": {
"review": {
"agent": "plan"
}
}
}
這是一個選擇性的設定選項。如果未指定,預設為你的目前代理。
子任務
使用 subtask 布林值強制命令觸發子代理呼叫。
如果你想讓命令不污染你的主要上下文,這會很有用,並將強制代理作為子代理行動,
即使 agent 設定中的 mode 設定為 primary。
{
"command": {
"analyze": {
"subtask": true
}
}
}
這是一個選擇性的設定選項。
模型
使用 model 設定來覆蓋此命令的預設模型。
{
"command": {
"analyze": {
"model": "dropstone/dropstone-pro"
}
}
}
這是一個選擇性的設定選項。
內建
Dropstone 包括多個內建命令,如 /init、/undo、/redo、/help。深入了解。
Note:
自訂命令可以覆蓋內建命令。如果你定義一個與內建命令同名的自訂命令,自訂命令會優先。