mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
* docs(coding-agent): improve getting started documentation * docs(coding-agent): correct getting started details * docs(coding-agent): clarify SDK entry point * docs(coding-agent): restructure guides and references * docs(coding-agent): improve getting started guides * docs(coding-agent): refresh integration guides * docs(coding-agent): improve terminal and CLI guides * docs(coding-agent): refresh customisation guides * docs(coding-agent): clarify project trust terminology * docs(coding-agent): simplify customisation guidance * docs(coding-agent): improve runtime and reference guidance * Fix settings reference * feat(coding-agent): add Crowdin documentation sync * docs(coding-agent): separate CLI and slash command references * docs(coding-agent): correct compaction reference * docs(coding-agent): streamline package documentation * docs(coding-agent): split RPC reference documentation * Update configuration docs * Shorten config docs * docs(coding-agent): refine configuration references * docs(coding-agent): streamline settings reference * docs(coding-agent): clarify configuration reference * docs(coding-agent): clarify project trust exception * docs(coding-agent): simplify keybindings reference * docs(coding-agent): remove Crowdin integration * docs(coding-agent): turn themes reference into guide * docs(coding-agent): consolidate model and authentication docs * docs(tui): require Component.invalidate() (fixes #9358) * docs(coding-agent): document offline catalog behavior (fixes #8684) * docs(coding-agent): preserve established documentation routes * docs(coding-agent): reorganize documentation navigation * docs(coding-agent): correct audited behavior Clarify provider, session, local-model, Termux, TUI, SDK, debug, and extension behavior. Simplify the documentation audit to report only clear user-visible contradictions. * docs(coding-agent): fix broken documentation links
59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
# Prompt Templates
|
|
|
|
Prompt templates turn Markdown files into reusable `/` commands. Use one when you want to reuse the same prompt without adding executable behavior or a larger set of supporting instructions.
|
|
|
|
A template can accept arguments and appear in command completion. Pi can load templates from personal configuration, project configuration, an explicit path, or a Pi package. Project configuration loads only after project trust is granted.
|
|
|
|
## Create a template
|
|
|
|
Create `~/.pi/agent/prompts/review.md`:
|
|
|
|
```markdown
|
|
---
|
|
description: Review staged git changes
|
|
argument-hint: "[focus]"
|
|
---
|
|
Review the staged changes. Focus on ${1:-correctness, security, and error handling}.
|
|
```
|
|
|
|
The filename becomes the command name, so this template is available as `/review`. The `description` appears in command completion. If it is omitted, Pi uses the first non-empty line.
|
|
|
|
`argument-hint` is optional. Use `<angle brackets>` for required arguments and `[square brackets]` for optional arguments.
|
|
|
|
Run `/reload` after adding or changing a template in an active session.
|
|
|
|
<a id="invoke-a-template"></a>
|
|
|
|
## Use a template
|
|
|
|
Type the template command in the editor:
|
|
|
|
```text
|
|
/review
|
|
/review concurrency
|
|
```
|
|
|
|
Pi expands the template before the resulting text enters the agent. Extensions receive the raw input first through the `input` event unless an extension command with the same name handles it.
|
|
|
|
Templates support these substitutions:
|
|
|
|
| Syntax | Result |
|
|
|---|---|
|
|
| `$1`, `$2`, … | One positional argument |
|
|
| `$@` or `$ARGUMENTS` | All arguments joined with spaces |
|
|
| `${1:-default}` | First argument, or a default value |
|
|
| `${@:-default}` | All arguments, or a default value |
|
|
| `${@:N}` | Arguments starting at position `N` |
|
|
| `${@:N:L}` | `L` arguments starting at position `N` |
|
|
|
|
Arguments follow shell-like quoting, so `/review "API compatibility"` supplies one argument containing a space.
|
|
|
|
<a id="choose-where-it-loads"></a>
|
|
|
|
## Add it to Pi
|
|
|
|
Place the template in your user or project prompt directory. Conventional prompt directories load direct `.md` children only.
|
|
|
|
Settings and packages can select nested Markdown files; a package manifest can narrow discovery with explicit paths and globs. See [Settings](settings.md#resources) and [Pi Packages](packages.md) for these options.
|
|
|
|
Project templates become commands in the editor after trust is granted. Review their content before trusting an unfamiliar project. See [Security](security.md#understand-project-trust).
|