指令
自訂指令允許您指定一個提示詞,當在 TUI 中執行該指令時會執行這個提示詞。
/my-command自訂指令是 /init、/undo、/redo、/share、/help 等內建指令之外的補充。了解更多。
建立指令檔案
在 commands/ 目錄中建立 markdown 檔案來定義自訂指令。
建立 .slopcode/commands/test.md:
---description: Run tests with coverageagent: buildmodel: 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.frontmatter 定義指令屬性,內容則成為範本。
透過輸入 / 後跟指令名稱來使用該指令。
"/test"設定
您可以透過 SlopCode 設定或在 commands/ 目錄中建立 markdown 檔案來新增自訂指令。
JSON
在 SlopCode 設定中使用 command 選項:
{ "$schema": "https://slopcode.dev/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 中執行這個指令:
/testMarkdown
您還可以使用 markdown 檔案定義指令。將它們放在:
- 全域:
~/.config/slopcode/commands/ - 專案層級:
.slopcode/commands/
---description: Run tests with coverageagent: buildmodel: 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 允許您執行:
/test提示詞設定
自訂指令的提示詞支援多種特殊佔位符和語法。
參數
使用 $ARGUMENTS 佔位符向指令傳遞參數。
---description: Create a new component---
Create a new React component named $ARGUMENTS with TypeScript support.Include proper typing and basic structure.帶參數執行指令:
/component Button$ARGUMENTS 將被替換為 Button。
您還可以使用位置參數存取各個參數:
$1- 第一個參數$2- 第二個參數$3- 第三個參數- 以此類推…
例如:
---description: Create a new file with content---
Create a file named $1 in the directory $2with the following content: $3執行指令:
/create-file config.json src "{ \"key\": \"value\" }"替換結果為:
$1替換為config.json$2替換為src$3替換為{ "key": "value" }
Shell 輸出
使用 !command 將 bash 指令輸出注入到提示詞中。
例如,建立一個分析測試覆蓋率的自訂指令:
---description: Analyze test coverage---
Here are the current test results:!`npm test`
Based on these results, suggest improvements to increase coverage.或者查看最近的變更:
---description: Review recent changes---
Recent git commits:!`git log --oneline -10`
Review these changes and suggest any improvements.指令在專案的根目錄中執行,其輸出會成為提示詞的一部分。
檔案參照
使用 @ 後跟檔案名稱在指令中參照檔案。
---description: Review component---
Review the component in @src/components/Button.tsx.Check for performance issues and suggest improvements.檔案內容會自動包含在提示詞中。
選項
讓我們詳細了解各設定選項。
Template
template 選項定義執行指令時傳送給 LLM 的提示詞。
{ "command": { "test": { "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes." } }}這是一個必需的設定選項。
Description
使用 description 選項提供指令功能的簡要說明。
{ "command": { "test": { "description": "Run tests with coverage" } }}當您輸入指令時,這將在 TUI 中顯示為說明。
Agent
使用 agent 設定可選擇指定由哪個代理執行此指令。
如果這是一個子代理,該指令預設會觸發子代理呼叫。
要停用此行為,請將 subtask 設定為 false。
{ "command": { "review": { "agent": "plan" } }}這是一個可選的設定選項。如果未指定,預設使用您當前的代理。
Subtask
使用 subtask 布林值強制指令觸發子代理呼叫。
如果您希望指令不污染主要上下文,這會很有用,它會強制代理作為子代理執行,
即使代理設定中的 mode 設定為 primary。
{ "command": { "analyze": { "subtask": true } }}這是一個可選的設定選項。
Model
使用 model 設定覆寫此指令的預設模型。
{ "command": { "analyze": { "model": "anthropic/claude-3-5-sonnet-20241022" } }}這是一個可選的設定選項。
內建指令
SlopCode 包含多個內建指令,如 /init、/undo、/redo、/share、/help;了解更多。
如果您定義了同名的自訂指令,它將覆寫內建指令。