プロンプトテンプレート
pi は prompt templates を作成できます。ワークフローに合わせて構築するよう依頼してください。
プロンプト テンプレートは、完全なプロンプトに展開される Markdown スニペットです。エディターに「/name」と入力してテンプレートを呼び出します。name は.md を除いたファイル名です。
所在地
Pi は以下から prompt templates をロードします:
- グローバル:
~/.pi/agent/prompts/*.md - プロジェクト:
.pi/prompts/*.md(プロジェクトが信頼された後のみ) - パッケージ:
prompts/ディレクトリまたはpackage.jsonのpi.promptsエントリ - 設定:
promptsファイルまたはディレクトリを含む配列 - CLI:
--prompt-template <path>(繰り返し可能)
--no-prompt-templates で検出を無効にします。
形式
---
description: Review staged git changes
---
Review the staged changes (`git diff --cached`). Focus on:
- Bugs and logic errors
- Security issues
- Error handling gaps- ファイル名がコマンド名になります。
review.mdは/reviewになります。 descriptionはオプションです。欠落している場合は、空ではない最初の行が使用されます。argument-hintはオプションです。設定すると、オートコンプリート ドロップダウンの説明の前にヒントが表示されます。
引数のヒント
オートコンプリートで予期される引数を表示するには、frontmatter で argument-hint を使用します。必須の引数には <angle brackets> を使用し、オプションの引数には [square brackets] を使用します。
---
description: Review PRs from URLs with structured issue and code analysis
argument-hint: "<PR-URL>"
---これは、オートコンプリート ドロップダウンで次のように表示されます。
→ pr <PR-URL> — Review PRs from URLs with structured issue and code analysis
is <issue> — Analyze GitHub issues (bugs or feature requests)
wr [instructions] — Finish the current task end-to-end
cl — Audit changelog entries before release使用法
エディターで「/」と入力し、その後にテンプレート名を入力します。オートコンプリートには、使用可能なテンプレートが説明とともに表示されます。
/review # Expands review.md
/component Button # Expands with argument
/component Button "click handler" # Multiple arguments引数
テンプレートは、位置引数、デフォルト、および単純なスライスをサポートしています。
$1、$2、...位置引数- 結合されたすべての引数に対して
$@または$ARGUMENTS ${1:-default}は、存在するか空でない場合は arg 1 を使用し、それ以外の場合はdefault${@:-default}または${ARGUMENTS:-default}は、存在するか空でない場合はすべての引数を使用し、それ以外の場合はdefault${@:N}N 番目の位置からの引数 (1 から始まるインデックス)- N で始まる
L引数の場合は${@:N:L}
例:
---
description: Create a component
---
Create a React component named $1 with features: $@デフォルト値はオプションの引数に役立ちます。
Summarize the current state in ${1:-7} bullet points.使用法: /component Button "onClick handler" "disabled support"
ルールをロードしています
prompts/でのテンプレートの検出は非再帰的です。- サブディレクトリにテンプレートが必要な場合は、
prompts設定またはパッケージ マニフェストを介して明示的に追加します。