Dropstone Docs

命令

為重複性任務建立自訂命令。

自訂命令讓你指定一個提示詞,在你的工作階段中執行該命令時執行。

/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\" }"

這會替換:

  • $1config.json
  • $2src
  • $3{ "key": "value" }

Shell 輸出

使用 !commandshell 命令輸出注入到你的提示詞中。

例如,建立一個分析測試涵蓋率的自訂命令:

---
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:

自訂命令可以覆蓋內建命令。如果你定義一個與內建命令同名的自訂命令,自訂命令會優先。

Ctrl+I