Versioning
.prompt uses semantic versioning to manage changes and ensure backward compatibility. Both the prompt and its contract are versioned together.
Version Fields
init do@major: 1 # Stability version — callers pin to this@version: 1.3 # Precise version (major.minor)end init
| Field | Managed By | Purpose |
|---|---|---|
@major | Developer | Stability — bumping major allows breaking changes |
@version | Container/Dev | Precision — managed via major.minor format |
Breaking Changes
These require bumping @major:
- Removing or renaming parameters
- Changing parameter types
- Removing response fields
- Changing response field types
Non-Breaking Changes
These auto-bump @minor:
- Adding parameters with defaults
- Adding optional response fields
- Changing documentation
- Editing prompt content
How It Works
- You edit a .prompt file and save
- Container detects what changed
- If breaking — prompts you to bump major version
- If non-breaking — auto-bumps minor on commit
- Old version archived to
archive/
Folder Structure
priv/prompts/
├── concept_explanation.prompt # current — always latest
├── practice.prompt
├── skills/
│ ├── milton_model.prompt
│ ├── meta_model.prompt
│ └── archive/
│ └── milton_model_v1.prompt
└── archive/
└── concept_explanation_v1.promptFor Callers
Pin to a major version to receive non-breaking updates automatically:
client.render(
"concept_explanation",
major=1, # Get latest 1.x.x
params={...}
)Breaking Change Detection
Breaking Change Detection
The container warns you on save and gives a hard warning at git commit if unversioned breaking changes exist.
Next Steps
- API Reference — HTTP endpoints
- Getting Started — Quick start guide