Dropstone Docs

コマンド

繰り返しのタスク用のカスタムコマンドを作成します。

カスタムコマンドを使用すると、セッション内でそのコマンドが実行されるときに実行したいプロンプトを指定できます。

/my-command

カスタムコマンドは、/init/undo/redo/help などの組み込みコマンドに加えて使用できます。詳細を確認


コマンドファイルを作成する

commands/ ディレクトリにマークダウンファイルを作成して、カスタムコマンドを定義します。

.dropstone/commands/test.md を作成します:

---
description: カバレッジレポート付きでテストを実行
agent: build
model: dropstone/dropstone-pro
---

カバレッジレポート付きで完全なテストスイートを実行し、失敗を表示します。
失敗したテストに焦点を当て、修正を提案します。

フロントマターはコマンドプロパティを定義します。コンテンツはテンプレートになります。

/ の後にコマンド名を入力してコマンドを使用します。

/test

設定

Dropstone 設定を通じてカスタムコマンドを追加するか、commands/ ディレクトリにマークダウンファイルを作成することで、カスタムコマンドを追加できます。


JSON

Dropstone configcommand オプションを使用します:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "command": {
    // これがコマンドの名前になります
    "test": {
      // これは LLM に送信されるプロンプトです
      "template": "カバレッジレポート付きで完全なテストスイートを実行し、失敗を表示します。\n失敗したテストに焦点を当て、修正を提案します。",
      // スラッシュコマンドパレットで説明として表示されます
      "description": "カバレッジレポート付きでテストを実行",
      "agent": "build",
      "model": "dropstone/dropstone-pro"
    }
  }
}

これでどのセッションからでもこのコマンドを実行できます:

/test

マークダウン

マークダウンファイルを使用してコマンドを定義することもできます。以下に配置します:

  • グローバル: ~/.config/dropstone/commands/
  • プロジェクト単位: .dropstone/commands/
---
description: カバレッジレポート付きでテストを実行
agent: build
model: dropstone/dropstone-pro
---

カバレッジレポート付きで完全なテストスイートを実行し、失敗を表示します。
失敗したテストに焦点を当て、修正を提案します。

マークダウンファイル名がコマンド名になります。たとえば、test.md を使用すると、以下を実行できます:

/test

プロンプト設定

カスタムコマンドのプロンプトは、複数の特別なプレースホルダーと構文をサポートしています。


引数

$ARGUMENTS プレースホルダーを使用して、コマンドに引数を渡します。

---
description: 新しいコンポーネントを作成
---

TypeScript サポート付きで $ARGUMENTS という名前の新しい React コンポーネントを作成します。
適切な型指定と基本的な構造を含めます。

引数を指定してコマンドを実行します:

/component Button

$ARGUMENTSButton に置き換えられます。

位置パラメータを使用して個別の引数にアクセスすることもできます:

  • $1 - 最初の引数
  • $2 - 2 番目の引数
  • $3 - 3 番目の引数
  • 以降も同様...

例:

---
description: コンテンツ付きで新しいファイルを作成
---

ディレクトリ $2 に $1 という名前のファイルを作成します
以下のコンテンツで:$3

コマンドを実行します:

/create-file config.json src "{ \"key\": \"value\" }"

これは以下を置き換えます:

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

シェル出力

!command を使用して、シェルコマンドの出力をプロンプトに挿入します。

たとえば、テストカバレッジを分析するカスタムコマンドを作成するには:

---
description: テストカバレッジを分析
---

現在のテスト結果:
!`npm test`

これらの結果に基づいて、カバレッジを増やすための改善を提案します。

または最近の変更をレビューするには:

---
description: 最近の変更をレビュー
---

最近の git コミット:
!`git log --oneline -10`

これらの変更をレビューし、改善を提案します。

コマンドはプロジェクトのルートディレクトリで実行され、その出力はプロンプトの一部になります。


ファイル参照

@ の後にファイル名を使用して、コマンドにファイルを含めます。

---
description: コンポーネントをレビュー
---

@src/components/Button.tsx のコンポーネントをレビューします。
パフォーマンスの問題をチェックし、改善を提案します。

ファイルコンテンツは自動的にプロンプトに含まれます。


オプション

設定オプションの詳細を見てみましょう。


テンプレート

template オプションは、コマンドが実行されるときに LLM に送信されるプロンプトを定義します。

{
  "command": {
    "test": {
      "template": "カバレッジレポート付きで完全なテストスイートを実行し、失敗を表示します。\n失敗したテストに焦点を当て、修正を提案します。"
    }
  }
}

これは必須の設定オプションです。


説明

description オプションを使用して、コマンドが何をするかについての簡潔な説明を提供します。

{
  "command": {
    "test": {
      "description": "カバレッジレポート付きでテストを実行"
    }
  }
}

これはスラッシュコマンドパレットのコマンドの横に表示されます。


エージェント

agent 設定を使用して、このコマンドを実行する agent を指定します(オプション)。 これが subagent の場合、デフォルトではサブエージェント呼び出しがトリガーされます。 この動作を無効にするには、subtaskfalse に設定します。

{
  "command": {
    "review": {
      "agent": "plan"
    }
  }
}

これはオプションの設定オプションです。指定されない場合、現在のエージェントがデフォルトになります。


サブタスク

subtask ブール値を使用して、コマンドが subagent 呼び出しをトリガーするように強制します。 これは、コマンドがプライマリコンテキストを汚さないようにしたい場合に便利で、agent 設定で modeprimary に設定されている場合でも、エージェントをサブエージェントとして機能するように強制します。

{
  "command": {
    "analyze": {
      "subtask": true
    }
  }
}

これはオプションの設定オプションです。


モデル

model 設定を使用して、このコマンドのデフォルトモデルをオーバーライドします。

{
  "command": {
    "analyze": {
      "model": "dropstone/dropstone-pro"
    }
  }
}

これはオプションの設定オプションです。


組み込み

Dropstone には /init/undo/redo/help などの複数の組み込みコマンドが含まれています。詳細を確認

Note:

カスタムコマンドは組み込みコマンドをオーバーライドできます。組み込みコマンドと同じ名前のカスタムコマンドを定義した場合、カスタムコマンドが優先されます。

Ctrl+I