Stop maintaining five separate agent configs. Run promptosaurus init once — Promptosaurus generates production-ready configurations for Kilo, Cline, Claude, Cursor, and GitHub Copilot automatically. Switch tools or swap personas any time without starting over.
pip install promptosaurus
Built for engineering teams that take AI tooling seriously. Promptosaurus eliminates configuration drift and boilerplate sprawl across your AI assistant ecosystem.
A tool-agnostic configuration layer for all your agent definitions. Define Agent, Skill, Workflow, Tool, Rules, and Project models once — your setup handles translation to each tool's native format.
Select your team's roles — Frontend Software Engineer, Backend Software Engineer, DevOps, QA/Tester, and more — and get only the agents relevant to those personas. Universal agents (ask, debug, explain, plan, orchestrator) are always included.
Every builder supports output verbosity selection at build time. Choose minimal to save tokens in context windows, or verbose for rich, self-documenting configurations. Same config — two flavors.
Zero-config agent registration. The BuilderFactory and Registry automatically discover and register builders. Configurations are stored in .promptosaurus.yaml — edit directly or use promptosaurus update for guided changes.
A full Jinja2-powered rendering pipeline with custom filters, resolvers, and template handlers. Builders compose templates from your config into final text — deterministic, testable, extensible output generation.
Existing configurations continue to work without modification. The Loader and Parser subsystems handle both legacy Markdown/YAML formats and the new config format — upgrade at your own pace.
A rich CLI covers the full lifecycle: init, list, switch, swap, update, and validate. Integrate into your team's onboarding scripts or CI pipeline.
Built-in validation with promptosaurus validate checks your configuration for correctness, missing references, and schema compliance before any output is generated.
A clean pipeline from your configuration to tool-specific output. No magic — just a well-structured transformation layer.
Run promptosaurus init or edit .promptosaurus.yaml to define your agents, skills, and workflows. Store in YAML or Markdown — the loader handles both.
The CLI queries the central Registry for available modes, output ordering, and builder configuration. BuilderFactory instantiates the correct builder.
If a persona is active, PersonaFilter selects only the agents relevant to that team role. Irrelevant agents are excluded from the build pass.
Each Builder passes your config through Jinja2 template handlers. Custom filters and resolvers produce tool-specific syntax — YAML frontmatter, pure Markdown, or structured files.
Builders write their outputs to the correct target locations: .kilo/agents/, .clinerules, .claude/, .github/instructions/, .cursor/rules/.
Pick your AI coding assistant and Promptosaurus generates the right config files in the right format. No lowest-common-denominator compromises — each output is idiomatic to the tool it serves.
Generates YAML frontmatter + Markdown agent files for Kilo IDE. Run promptosaurus init and select Kilo as your target tool — files are written to the .kilo/agents/ directory automatically.
.kilo/agents/{agent_name}.md
---
name: code
description: Code implementation expert
subagents:
- test
- review
variant: verbose
---
# Code Agent
You are a senior software engineer...
Generates a pure Markdown .clinerules file. Select Cline during promptosaurus init and your agent configuration is rendered into Cline's natural-language rule format automatically.
.clinerules
use_skill invocation pattern# Code Agent Rules
You are a code implementation expert.
When writing tests, use_skill: testing-strategies
## Conventions
Follow the project's established patterns...
Generates the full .claude/ directory with agents, workflows, and skills as Markdown files. Select Claude during promptosaurus init to populate your entire Claude Code configuration tree.
.claude/
.claude/
agents/
code.md
debug.md
workflows/
code.md
skills/
testing-strategies.md
Generates YAML frontmatter + Markdown instruction files for GitHub Copilot. Select Copilot during promptosaurus init and your agent configs are written to .github/instructions/, version-controlled alongside your code.
.github/instructions/{agent}.md
---
applyTo: "**/*.py"
---
# Code Agent
Apply these instructions when writing
Python code in this repository...
Generates Markdown rules files for Cursor. Select Cursor during promptosaurus init and your configuration is written to both .cursor/rules/ and .cursorrules, keeping Cursor in sync with your AI toolchain.
.cursor/rules/ + .cursorrules
---
description: Code implementation
globs: ["**/*.py", "**/*.ts"]
---
# Code Agent
You are a senior software engineer.
Follow project conventions strictly...
pip install promptosaurus
uv add promptosaurus
# Initialize Promptosaurus in your project
promptosaurus init
# List all registered modes
promptosaurus list
# Switch to a different AI assistant tool
promptosaurus switch
# Swap the active persona
promptosaurus swap
# Update your configuration
promptosaurus update
# Validate your config before building
promptosaurus validate
This file is auto-generated by promptosaurus init. Edit it directly and run promptosaurus update to regenerate your configs — no need to re-run the interactive wizard.
# .promptosaurus.yaml — auto-generated by `promptosaurus init`
# Edit manually and run `promptosaurus update` to regenerate
tool: kilo-ide # kilo-ide | kilo-cli | cline | claude | cursor | copilot
variant: minimal # minimal | verbose
repo_type: single # single | monorepo
language: python
personas:
- backend-software-engineer
- qa-tester
# Run `promptosaurus update` after editing this file
Run promptosaurus init in your project root. The interactive wizard guides you through every choice:
$ promptosaurus init
? Which AI tool do you want to configure?
> Kilo IDE
Cline
Claude
Cursor
GitHub Copilot
? Repository type?
> Single-language
Multi-language monorepo
? Prompt variant?
> Minimal (fewer tokens)
Verbose (full documentation)
? Select personas for your team: (space to select, enter to confirm)
[x] Backend Software Engineer
[ ] Frontend Software Engineer
[x] Fullstack Software Engineer
[x] DevOps Engineer
[ ] QA/Tester
[ ] Data Engineer
[ ] Security Engineer
? Primary language?
> Python
TypeScript
Go
(other)
Generating configuration for Kilo IDE...
Written: .kilo/agents/code.md
Written: .kilo/agents/debug.md
Written: .kilo/agents/backend.md
Written: .promptosaurus.yaml
Done! Your Kilo IDE configuration is ready.
| Command | Description |
|---|---|
promptosaurus init |
Interactive initialization — sets up your project with the chosen AI tool |
promptosaurus list |
List all registered modes and available builders in the registry |
promptosaurus switch |
Interactively switch the active AI assistant tool (regenerates configs) |
promptosaurus swap |
Swap the active persona — re-filters agents for the new team role |
promptosaurus update |
Update configuration files after editing .promptosaurus.yaml |
promptosaurus validate |
Validate config — check for errors before committing |
Practical CLI workflows for common Promptosaurus scenarios. All examples use the interactive wizard or CLI commands.
pip install promptosaurus
# or: uv add promptosaurus
promptosaurus init
# ? Which AI tool? → Kilo IDE
# ? Repository type? → Single-language
# ? Prompt variant? → Verbose
# ? Personas? → Backend Software Engineer
# ? Language? → Python
# Output:
# Written: .kilo/agents/code.md
# Written: .kilo/agents/debug.md
# Written: .kilo/agents/backend.md
# Written: .promptosaurus.yaml
promptosaurus init
# ? Which AI tool? → Claude
# ? Repository type? → Multi-language monorepo
# ? Prompt variant? → Minimal
# ? Personas? → [x] Frontend Software Engineer
# [x] Backend Software Engineer
# [x] DevOps Engineer
# [x] QA/Tester
# ? Language? → TypeScript
# Output:
# Written: .claude/agents/frontend.md
# Written: .claude/agents/backend.md
# Written: .claude/agents/devops.md
# Written: .claude/agents/qa.md
# Written: .claude/agents/debug.md ← universal
# Written: .claude/agents/ask.md ← universal
# Written: .promptosaurus.yaml
# Currently configured for Kilo IDE, switching to Cursor
promptosaurus switch
# ? Which AI tool do you want to switch to?
# > Cursor
# Regenerating for Cursor...
# Written: .cursor/rules/code.mdc
# Written: .cursor/rules/debug.mdc
# Written: .cursorrules
# Done!
# Swap personas — a new team member is a Data Scientist
promptosaurus swap
# ? Update persona selection:
# [x] Backend Software Engineer
# [x] Data Scientist ← newly added
# [ ] Frontend Software Engineer
# Regenerating with updated personas...
# Done!
# Validate config integrity
promptosaurus validate
# Checking .promptosaurus.yaml...
# Checking registered agents...
# No issues found. Configuration is valid.
# Use as a CI step (GitHub Actions, etc.)
# - name: Validate Promptosaurus config
# run: promptosaurus validate
Want to extend Promptosaurus, add a new AI tool target, or integrate it into your own tooling? Here's everything you need to contribute or build on top of the library.
Browse issues, submit PRs, and read the contribution guide. The codebase is structured around five builders — each one is a self-contained, testable unit.
View on GitHub →Promptosaurus uses five internal builder classes that transform IR models into tool-specific outputs: KiloBuilder, ClineBuilder, ClaudeBuilder, CopilotBuilder, and CursorBuilder. Each implements a common build(agent, options) interface. BuilderFactory handles instantiation.
If you're integrating Promptosaurus into scripts or build pipelines, you can call builders directly:
from promptosaurus.builders.kilo_builder import KiloBuilder
from promptosaurus.ir.models import Agent
from promptosaurus.builders.config import BuildOptions
builder = KiloBuilder()
agent = Agent(
name="code",
description="Code implementation expert",
system_prompt="You are a senior software engineer..."
)
output = builder.build(agent, BuildOptions(variant="verbose"))
# Writes to .kilo/agents/code.md