mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
Decouple metadata prompt contract from overridable style
Metadata prompts (workspace title + branch, commit message, PR) mixed the functional contract with style guidance in one block, and project-owner instructions from paseo.json were appended after the defaults with an "override where they conflict" notice — so custom wording competed with the built-in style instead of replacing it. Each prompt is now a non-overridable contract (what to produce, the JSON shape, correctness/safety rules) plus style slots that paseo.json instructions replace wholesale. Title and branch style are now separate keys (metadataGeneration.title vs .branchName); previously branchName instructions also shaped the title.
This commit is contained in:
@@ -10,12 +10,15 @@ category: Configuration
|
||||
|
||||
Paseo asks a language model to write short pieces of text for you so you don't have to. This is separate from the agent you're talking to: it's a small, one-shot call made in the background.
|
||||
|
||||
Paseo generates three kinds of metadata:
|
||||
Paseo generates these kinds of metadata:
|
||||
|
||||
- **Workspace titles** — a short, task-shaped label for a workspace, shown in the sidebar.
|
||||
- **Worktree branch names** — a slug for the branch a new worktree agent runs on.
|
||||
- **Commit messages** — a concise message for the changes you're committing.
|
||||
- **Pull request title and body** — drafted from the diff when you open a PR.
|
||||
|
||||
A workspace title and its branch name are produced together from the same prompt, but you configure their wording independently (see below).
|
||||
|
||||
## How a model is chosen
|
||||
|
||||
You don't have to configure anything — Paseo picks a model automatically. It builds an ordered list of candidates and tries each one until a generation succeeds, so a slow or unavailable model falls through to the next.
|
||||
@@ -66,6 +69,7 @@ You can steer the wording of each kind of metadata per repository with a `paseo.
|
||||
```json
|
||||
{
|
||||
"metadataGeneration": {
|
||||
"title": { "instructions": "Keep titles to a few words, no leading verb." },
|
||||
"branchName": { "instructions": "Use the format <type>/<scope>-<short-desc>." },
|
||||
"commitMessage": { "instructions": "Follow Conventional Commits." },
|
||||
"pullRequest": { "instructions": "Include a Testing section in the body." }
|
||||
@@ -73,4 +77,4 @@ You can steer the wording of each kind of metadata per repository with a `paseo.
|
||||
}
|
||||
```
|
||||
|
||||
Each key is optional; only the ones you set are affected. The instructions are added to the prompt for that metadata type, on top of the provider selection above.
|
||||
Each key is optional; only the ones you set are affected. Your instructions **replace** the default style for that metadata type — they are not appended to it — so your wording never competes with Paseo's defaults. The functional requirements (what to produce and the output format) always apply and cannot be overridden.
|
||||
|
||||
Reference in New Issue
Block a user