A universal configuration solution that takes your prompts, MCP servers, custom commands, autonomous agents, and event hooks on a journey across every AI editor. Define your complete AI editor setup once in a standardized format, then PrompTrek automatically generates optimized configurations for GitHub Copilot, Cursor, Continue, Claude Code, and more.
AI coding assistants like GitHub Copilot, Cursor, Continue, and others all use different prompt formats and configuration methods. When working across teams or switching between editors, you have to maintain separate prompt configurations for each tool. PrompTrek solves this by:
- Universal Format: Create prompts once in a standardized format (now with schema v3.0.0 - cleaner architecture!)
- Multi-Editor Support: Generate prompts for any supported AI editor automatically (no
targetsfield needed!) - Bidirectional Sync: Parse editor files back to
.promptrek.yamlwithout data loss (lossless sync) - Plugin Ecosystem: Configure MCP servers, custom commands, autonomous agents, and event hooks with clean top-level fields (mcp_servers, commands, agents, hooks)
- Auto .gitignore Management: Automatically exclude generated editor files from version control
- Team Consistency: Share prompt configurations across team members regardless of their editor choice
- Easy Migration: Switch between AI editors without losing your prompt configurations
Note on Versioning: PrompTrek has two version numbers:
- Application version (currently 0.4.0): The version of the PrompTrek tool itself
- Schema version (v1.x, v2.x, v3.x): The format version of your
.promptrek.yamlconfiguration filesThroughout this documentation, version numbers like "v3.0.0" or "v2.1" refer to schema versions, not application versions.
- Create a universal prompt file (
.promptrek.yaml) using the schema v3.1 format (recommended):
schema_version: "3.1.0"
metadata:
title: "My Project Assistant"
description: "AI assistant for React TypeScript project"
tags: [react, typescript, web]
content: |
# My Project Assistant
## Project Details
**Technologies:** React, TypeScript, Node.js
## Development Guidelines
### General Principles
- Use TypeScript for all new files
- Follow React functional component patterns
- Write comprehensive tests
### Code Style
- Use functional components with hooks
- Prefer const over let
- Use meaningful variable names
variables:
PROJECT_NAME: "my-react-app"- Generate editor-specific prompts:
# Generate for GitHub Copilot
promptrek generate --editor copilot
# Generate for Cursor
promptrek generate --editor cursor
# Generate for all configured editors
promptrek generate --all- Use the generated prompts in your preferred editor!
New in v0.4.0! PrompTrek now features an interactive CLI mode that guides you through common workflows without memorizing commands.
Simply run promptrek without any command:
promptrekYou'll see a beautiful ASCII banner and an interactive menu:
____ _____ _
| _ \ _ __ ___ _ __ ___ |_ _| __ ___| | __
| |_) | '__/ _ \| '_ ` _ \ | || '__/ _ \ |/ /
| __/| | | (_) | | | | | | | || | | __/ <
|_| |_| \___/|_| |_| |_| |_||_| \___|_|\_\
Universal AI Editor Prompt Management (v0.4.0)
? What would you like to do?
β― π Initialize new project
βοΈ Generate editor configurations
π Configure plugins (MCP servers, commands, agents)
π Migrate schema version
π Validate configuration
π€ Sync from editor files
β Help & Documentation
π Exit
The wizard guides you through:
-
π Project Initialization
- Detects existing configurations
- Helps you choose schema version (v3.0 recommended)
- Sets up pre-commit hooks automatically
- Configures .gitignore for editor files
-
βοΈ Editor Configuration
- Auto-detects your PrompTrek config
- Interactive editor selection (multi-select)
- Variable override prompts
- Headless mode option for autonomous agents
- Preview mode before generating files
-
π Plugin Management
- List configured MCP servers, commands, agents, and hooks
- Generate plugin files for selected editors
- Auto-confirm options for batch operations
-
π Schema Migration
- Guides through v1 β v2 β v3 migration
- Shows what will change before migrating
- Optional backup of original files
- Validates migrated output
-
π Validation & Sync
- Interactive configuration validation
- Strict mode option
- Sync editor files back to PrompTrek config
- Preview changes before applying
- No memorization required - Discover features through the interface
- Guided workflows - Step-by-step prompts reduce errors
- Fast onboarding - New users can start without reading docs
- Power user friendly - All CLI commands still work as before
- CI/CD compatible - Easily integrates with automation and CI/CD pipelines
All existing CLI commands continue to work exactly as before:
# Traditional commands still work
promptrek init --template react
promptrek generate --editor cursor
promptrek validate config.yaml
# Force interactive mode with flag
promptrek --interactive
promptrek -iThe interactive mode automatically detects if you're in a CI/CD environment (non-TTY) and falls back to showing help text.
PrompTrek automatically manages .gitignore to prevent committing generated editor files:
# Initialize project - automatically adds editor files to .gitignore
promptrek init --output project.promptrek.yaml
# Configure .gitignore manually
promptrek config-ignores
# Remove already-committed editor files from git
promptrek config-ignores --remove-cachedWhat gets ignored:
- Generated editor configurations (
.github/copilot-instructions.md,.cursor/rules/*.mdc, etc.) - User-specific configuration directory (
.promptrek/) containingvariables.promptrek.yamlanduser-config.promptrek.yaml
Configuration option:
# Disable automatic .gitignore management
ignore_editor_files: falseπ Complete documentation is available on our GitHub Pages site:
- Quick Start Guide - Get up and running in minutes
- JSON Schema Files - Published schemas for v2.0, v2.1, and v3.0 with editor autocompletion support
- User Guide - Comprehensive documentation covering:
- UPF Specification - Universal Prompt Format details
- Advanced Features - Variables and multi-document support
- Editor Adapters - All supported AI editors
- Adapter Capabilities - Feature comparison matrix
- Sync Feature - Bidirectional synchronization
- Pre-commit Integration - Automated workflows
- Contributing Guide - How to contribute to the project
For technical architecture and development planning, see the developer documentation on our website:
- System Architecture - Technical design and structure
- Project Structure - Repository organization
- Changelog Process - Contribution guidelines
- Pre-commit Implementation - Technical implementation details
- UV Workflows - Developer workflows
- GitHub Copilot -
.github/copilot-instructions.md,.github/instructions/*.instructions.md,.github/prompts/*.prompt.md- Repository-wide and path-specific instructions with bidirectional sync - Cursor -
.cursor/rules/index.mdc,.cursor/rules/*.mdc,AGENTS.md,.cursorignore,.cursorindexingignore- Modern 2025 rules system with metadata-driven configuration (Always/Auto Attached rule types) and project overview - Continue -
.continue/rules/*.md- Organized markdown rules directory with bidirectional sync support - Kiro -
.kiro/steering/*.md- Comprehensive steering system with YAML frontmatter - Cline -
.clinerules/*.md,.vscode/settings.json(MCP) - VSCode autonomous AI agent with markdown rules - Claude Code -
.claude/CLAUDE.md,.mcp.json,.claude/agents/*.md,.claude/commands/*.md,.claude/settings.local.json- Rich context format with full plugin ecosystem (MCP servers, custom commands, autonomous agents, event hooks) - Windsurf -
.windsurf/rules/*.md- Organized markdown rule files for AI-powered coding assistance - Amazon Q -
.amazonq/rules/*.md,.amazonq/cli-agents/*.json- Rules directory and CLI agents with sync support - JetBrains AI -
.assistant/rules/*.md- Markdown rules for IDE-integrated AI assistance
See the examples/ directory for sample configurations:
- NX Monorepo - Multi-package workspace with NX
- Microservices + Kubernetes - Cloud-native architecture
- React Native Mobile - Cross-platform mobile apps
- FastAPI Backend - Modern Python async API
- Next.js Full-Stack - App Router with SSR
- Rust CLI Tool - Systems programming
- Go Backend Service - High-performance APIs
- Data Science ML - MLOps and experiments
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and install from source
git clone https://github.com/flamingquaks/promptrek.git
cd promptrek
uv sync# Clone and install from source
git clone https://github.com/flamingquaks/promptrek.git
cd promptrek
pip install -e .Note: PrompTrek is not yet available on PyPI. Install from source using the methods above.
# 1. Initialize a new project with pre-commit hooks (v2 format by default)
uv run promptrek init --template react --output my-project.promptrek.yaml --setup-hooks
# or with traditional pip: promptrek init --template react --output my-project.promptrek.yaml --setup-hooks
# 2. Validate your configuration
uv run promptrek validate my-project.promptrek.yaml
# 3. Generate editor-specific prompts
uv run promptrek generate my-project.promptrek.yaml --all
# 4. Your AI editor prompts are ready!
ls .github/copilot-instructions.md
ls .cursor/rules/index.mdc
ls .continue/rules/Note: The --setup-hooks flag automatically configures pre-commit hooks to validate your .promptrek.yaml files and prevent accidental commits of generated files.
PrompTrek supports schema v3.1.0, which refines the agent model and adds workflow support while maintaining full backward compatibility with schema v3.0.x:
Application vs Schema Versions: PrompTrek application version 0.4.0 supports schema versions v1.x, v2.x, v3.0.x, and v3.1.x. The schema version is specified in your
.promptrek.yamlfile'sschema_versionfield.
What's New in Schema v3.1.0:
- β¨ Refined Agent Model -
promptfield replacessystem_promptfor consistency with commands - π Workflow Support - Multi-step workflows with
multi_step,tool_calls, and structured steps - β 100% Backward Compatible - schema v3.0.x and v2.x files continue to work with automatic migration
- π Production Ready - Latest stable configuration schema for all new projects
Before (schema v2.x) vs After (schema v3.1):
# v2.x - Nested structure (legacy)
schema_version: "2.1.0"
plugins: # β Wrapper (removed in v3.0)
mcp_servers: [...]
commands: [...]
# v3.1 - Flat structure with refined agent model (recommended)
schema_version: "3.1.0"
# No plugins wrapper
mcp_servers: [...] # β
Top-level
commands: [...] # β
Top-level
agents: # β
Refined model with 'prompt' field
- name: code-reviewer
prompt: "You are a code reviewer..." # β
New field nameMigration Between Schema Versions:
# Auto-migrate schema v2.x/v3.0 to v3.1
promptrek migrate project.promptrek.yaml -o project-v3.1.promptrek.yaml
# Migrate in place
promptrek migrate project.promptrek.yaml --in-placeDocumentation:
- π V3 Migration Guide - Complete migration instructions
β οΈ Deprecation Warnings - Understanding deprecation messages- π― Recommended for all new projects - Use v3.1 schema for latest features
The schema v2.x format with nested plugin support (superseded by schema v3.1):
Migration to Schema v3.1: All schema v2.x features are available in schema v3.1 with cleaner syntax:
# Migrate schema v2.x files to v3.1
uv run promptrek migrate old.promptrek.yaml -o new.promptrek.yaml
# Create new schema v3.1 file (default)
uv run promptrek init
# Schema v2.x files still work but show migration suggestions
uv run promptrek generate old-v2.promptrek.yaml --allSchema v3.1 Format Example:
schema_version: "3.1.0"
metadata:
title: "My Project"
description: "AI assistant"
version: "1.0.0"
author: "Your Name"
tags: [ai, project]
content: |
# My Project
## Guidelines
- Write clean code
- Follow best practices
variables:
PROJECT_NAME: "my-project"
GITHUB_TOKEN: "ghp_your_token_here"
# Top-level plugin configurations (v3.0 clean structure)
mcp_servers:
- name: github
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_TOKEN: "{{{ GITHUB_TOKEN }}}"
description: "GitHub API integration"
trust_metadata:
trusted: true
trust_level: full
commands:
- name: review-code
description: "Review code for quality"
prompt: |
Review the selected code for:
- Code quality and best practices
- Security vulnerabilities
- Performance optimizations
output_format: markdown
agents:
- name: test-generator
description: "Generate unit tests"
system_prompt: "Generate comprehensive tests with Jest"
tools: [file_read, file_write, run_tests]
trust_level: partial
requires_approval: true
# Optional: For multi-file editors with metadata support
documents:
- name: "typescript"
content: |
# TypeScript Guidelines
- Use strict TypeScript settings
- Prefer interfaces over types
description: "TypeScript coding guidelines"
file_globs: "**/*.{ts,tsx}"
always_apply: false # Auto-attached to TypeScript files only
- name: "testing"
content: |
# Testing Standards
- Write unit tests for all functions
- Aim for 80% coverage
# Metadata fields are optional - smart defaults will be usedPrompTrek supports schema v3.0+ which provides MCP server integration with clean top-level fields (no plugins wrapper):
Supported Plugin Types:
- MCP Servers (
mcp_servers) - Model Context Protocol servers for external tools (filesystem, GitHub, databases, etc.) - Custom Commands (
commands) - Slash commands for AI editors - Autonomous Agents (
agents) - AI agents with specific tools and permissions - Event Hooks (
hooks) - Event-driven automation workflows
Editor Support Matrix:
| Editor | MCP Servers | Custom Commands | Agents | Config Location |
|---|---|---|---|---|
| Claude Code | β | β | β | .mcp.json (project root) |
| Cursor | β | β | β | .cursor/mcp.json (project) |
| Continue | β | β | .continue/config.json (unified) |
|
| Cline | β | .vscode/settings.json (project) |
||
| Kiro | β | .kiro/settings/mcp.json (project) |
||
| Windsurf | β | ~/.codeium/windsurf/mcp_config.json (system-wide) |
||
| Amazon Q | β | .amazonq/mcp.json (project) |
β
= Full support |
MCP Server Configuration Strategy:
PrompTrek uses a project-first strategy with system-wide fallback:
- Try project-level first (
.editor/mcp.json) - Preferred for team collaboration - Fall back to system-wide (
~/.editor/mcp.json) - Only when project-level isn't supported - User confirmation required - For system-wide changes (especially Windsurf)
Plugin Commands:
# Generate MCP servers for an editor
promptrek plugins generate project.promptrek.yaml -e claude
# Generate for all supported editors
promptrek plugins generate project.promptrek.yaml --all
# Force system-wide generation (skip project-level)
promptrek plugins generate project.promptrek.yaml -e windsurf --force-system-wide
# Auto-confirm system-wide changes (skip prompts)
promptrek plugins generate project.promptrek.yaml -e windsurf --yes
# Dry run to preview without writing
promptrek plugins generate project.promptrek.yaml -e cursor --dry-run -v
# Override variables at generation time
promptrek plugins generate project.promptrek.yaml -e claude \
-V GITHUB_TOKEN=ghp_newtoken \
-V API_KEY=secret123Example Files:
See examples/v21-plugins/ for comprehensive examples:
mcp-servers.promptrek.yaml- MCP server configurationscustom-commands.promptrek.yaml- Slash command examplesautonomous-agents.promptrek.yaml- Agent configurationscomplete-example.promptrek.yaml- All features combined
promptrek init- Create a new universal prompt file with templates (use--setup-hooksto automatically configure pre-commit)promptrek validate- Check your configuration for errorspromptrek generate- Create editor-specific promptspromptrek preview- Preview generated output without creating filespromptrek sync- Sync editor files back to PrompTrek formatpromptrek migrate- Migrate v1/v2.x files to v3.0 formatpromptrek plugins list- List all plugins in a .promptrek.yaml filepromptrek plugins generate- Generate plugin files for a specific editorpromptrek plugins validate- Validate plugin configurationpromptrek plugins sync- Sync plugins from editor filespromptrek agents-β οΈ [DEPRECATED] Generate agent-specific instructions (usepromptrek generate --allinstead)promptrek install-hooks- Set up pre-commit hooks (use--activateto activate automatically)promptrek list-editors- Show supported editors and their status
For detailed usage instructions, see GETTING_STARTED.md.
PrompTrek includes pre-commit hooks to ensure code quality and prevent accidental commits of generated files:
# Install development dependencies
uv sync --group dev
# or with pip: pip install -e .[dev]
# Install pre-commit hooks
uv run pre-commit install
# Run hooks manually (optional)
uv run pre-commit run --all-filesThe pre-commit hooks will:
- Validate
.promptrek.yamlfiles usingpromptrek validate - Prevent committing generated prompt files (they should be generated locally)
- Run code formatting (black, isort) and linting (flake8, yamllint)
- Check for common issues (trailing whitespace, merge conflicts, etc.)
PrompTrek generates editor-specific files that should not be committed to version control:
.github/copilot-instructions.md,.github/instructions/,.github/prompts/- GitHub Copilot.cursor/,AGENTS.md,.cursorignore,.cursorindexingignore- Cursor.continue/- Continue.claude/- Claude Code.windsurf/- Windsurf.clinerules/- Cline.kiro/- Kiro.amazonq/- Amazon Q.assistant/- JetBrains AI
These files are automatically ignored via .gitignore and the pre-commit hooks will prevent accidental commits.
This project is actively developing! We welcome:
- Bug reports and feature requests
- Pull requests for additional editor support
- Documentation improvements
- Testing and feedback on the UPF format
- Ideas for advanced features
PrompTrek uses Conventional Commits for automated changelog generation:
# Commit format
type(scope): description
# Examples
feat(adapters): add support for new editor
fix(parser): handle edge case in YAML parsing
docs(readme): update installation instructionsAll commit messages are validated in CI. See Changelog Process for detailed guidelines.
PrompTrek maintains high quality standards with comprehensive testing:
- Continuous Integration: Tests run on every push and PR across multiple Python versions (3.9-3.12)
- Cross-Platform Testing: Validates functionality on Linux, macOS, and Windows
- Security Scanning: Automated security vulnerability detection
- Code Quality: Enforced formatting (black), import sorting (isort), and linting (flake8)
- Coverage: Maintains >80% test coverage with detailed reporting
- Unit Tests: Test individual components and functions
- Integration Tests: Test complete workflows and CLI functionality
- Performance Tests: Monitor memory usage and execution speed
- Compatibility Tests: Ensure compatibility across Python versions and platforms
# Install development dependencies
uv sync --group dev
# Run all tests
make test-fast # Fast tests without coverage
make test # All tests with coverage
# Run specific test categories
uv run python -m pytest tests/unit/ # Unit tests only
uv run python -m pytest tests/integration/ # Integration tests only
# Code quality checks
make format # Format code
make lint # Run linters
make typecheck # Type checking# Install development dependencies
uv sync --group dev
# or with pip: pip install -e ".[dev]"
# Run all tests
uv run pytest
# Run with coverage
pytest --cov=src/promptrek --cov-report=html
# Run specific test categories
pytest tests/unit/ # Unit tests only
pytest tests/integration/ # Integration tests only
# Code quality checks
black src/ tests/ # Format code
isort src/ tests/ # Sort imports
flake8 src/ tests/ # Lint code
mypy src/ # Type checkingFor detailed uv workflows, see UV Workflows Guide.
For contribution guidelines, see CONTRIBUTING.md.
- Getting Started Guide - Comprehensive setup and usage guide
- Advanced Template Features - Variables and multi-document support
- Editor Adapters - Detailed guide to all supported AI editors
Use template variables to create reusable, customizable prompts:
metadata:
title: "{{{ PROJECT_NAME }}} Assistant"
author: "{{{ AUTHOR_EMAIL }}}"
variables:
PROJECT_NAME: "MyProject"
AUTHOR_EMAIL: "team@example.com"Override variables from CLI:
promptrek generate --editor claude project.promptrek.yaml \
-V PROJECT_NAME="CustomProject" \
-V AUTHOR_EMAIL="custom@example.com"Generate optimized configurations for all major AI coding assistants:
- GitHub Copilot β
.github/copilot-instructions.md+ path-specific instructions + bidirectional sync - Cursor β
.cursor/rules/index.mdc+.cursor/rules/*.mdc+AGENTS.mdwith metadata-driven rules (Always/Auto Attached) - Continue β
.continue/rules/*.mdwith organized rules + bidirectional sync - Kiro β
.kiro/steering/*.mdwith YAML frontmatter - Cline β
.clinerules/*.mdwith project-specific rules - Claude Code β
.claude/CLAUDE.md,.mcp.json,.claude/agents/*.md,.claude/commands/*.md,.claude/settings.local.jsonwith full plugin ecosystem - Windsurf β
.windsurf/rules/*.mdwith organized guidelines - Amazon Q β
.amazonq/rules/*.md+ CLI agents + sync support - JetBrains AI β
.assistant/rules/*.mdfor IDE integration
MIT License - see LICENSE file for details.
Visit our comprehensive GitHub Pages site for:
- Detailed documentation and user guides
- Quick start tutorials
- Contributing guidelines
- Community feedback and support
