Migration Guide
Migrate to SystemPrompt from other platforms or upgrade between versions
On this page
This guide covers migrating to SystemPrompt from other platforms and upgrading between versions.
Upgrading SystemPrompt
Check Current Version
systemprompt --version
Update CLI
# From crates.io
cargo install systemprompt-cli --force
# From source
git pull
cargo build --release -p systemprompt-cli
Update Core (for projects using submodule)
cd core
git fetch origin
git checkout v0.0.14 # or desired version
cd ..
cargo build
Run Migrations
After upgrading, always run migrations:
systemprompt infra db migrate
Version Compatibility
Breaking Changes
Major version changes (0.x to 1.0, 1.x to 2.0) may include breaking changes:
| Version | Breaking Changes |
|---|---|
| 0.0.14 | Template variable naming |
| 0.0.13 | MCP transport updates |
| 0.0.12 | OAuth scope format |
Database Migrations
Migrations are forward-only. To rollback:
- Restore from backup
- Downgrade crates
- Rebuild
# Backup before upgrade
systemprompt infra db backup --output backup.sql
# Restore if needed
systemprompt infra db restore --input backup.sql
Migrating from Other Platforms
From LangChain/LangGraph
SystemPrompt provides similar agent orchestration with production features:
| LangChain | SystemPrompt |
|---|---|
| Agent | Agent (A2A protocol) |
| Tool | MCP Tool |
| Chain | Agent workflow |
| Memory | Database state |
Migration steps:
- Define agents in
services/agents/ - Convert tools to MCP servers
- Implement prompts as system prompts
- Use database for state management
From AutoGen
| AutoGen | SystemPrompt |
|---|---|
| AssistantAgent | Agent |
| UserProxyAgent | CLI interface |
| GroupChat | Multi-agent A2A |
From Custom Implementations
If migrating from a custom agent implementation:
- Authentication - Map to OAuth2/WebAuthn
- Tools - Convert to MCP format
- State - Migrate to PostgreSQL
- Config - Convert to YAML in
services/
Data Migration
Export Existing Data
# Export to JSON
systemprompt admin export --format json --output data.json
# Export specific tables
systemprompt infra db query "SELECT * FROM users" --format csv > users.csv
Import Data
# Import from JSON
systemprompt admin import --input data.json
# Import SQL
psql -h localhost -U systemprompt -d systemprompt < data.sql
Content Migration
For content migration from other CMS:
- Export to Markdown with frontmatter
- Place in
services/content/ - Sync to database:
systemprompt cloud sync local content --direction to-db -y
Configuration Migration
Environment Variables to Profiles
Convert environment variables to profile configuration:
# Old: environment variables
export DATABASE_URL="postgres://..."
export API_KEY="sk-..."
# New: profile configuration
systemprompt cloud profile create production
systemprompt admin config set-secret database.password "..."
systemprompt admin config set-secret anthropic.api_key "sk-..."
Docker Compose Updates
Update Docker Compose for new versions:
# docker-compose.yml
services:
systemprompt:
image: systemprompt/systemprompt:0.0.14 # Update version
environment:
- SYSTEMPROMPT_PROFILE=production
volumes:
- ./services:/app/services
Testing Migration
Pre-Migration Checklist
- Backup database
- Document current configuration
- Test in staging environment
- Verify all agents function
- Check MCP server connectivity
Post-Migration Verification
# Verify services
systemprompt infra services status
# Test agents
systemprompt admin agents list
systemprompt admin agents message <agent> "test"
# Verify MCP servers
curl http://localhost:3000/api/v1/mcp/registry
# Check content
systemprompt core content list
Rollback Procedure
If migration fails:
- Stop services:
systemprompt infra services stop --all - Restore database backup
- Revert code changes
- Restart with previous version