Assist with system migration planning
-
Check Prerequisites
- Verify GitHub CLI (
gh) is installed and authenticated - Check if Linear MCP server is connected
- Ensure sufficient permissions in both systems
- Confirm backup storage is available
- Verify GitHub CLI (
-
Parse Migration Parameters
- Extract action and options from: $ARGUMENTS
- Valid actions: plan, analyze, migrate, verify, rollback
- Determine source and target systems
- Set migration scope and filters
-
Initialize Migration Environment
- Create migration workspace directory
- Set up logging and audit trails
- Initialize checkpoint system
- Prepare rollback mechanisms
-
Execute Migration Action Based on the selected action:
- Analyze source system structure
- Map fields between systems
- Identify potential conflicts
- Generate migration strategy
- Estimate time and resources
- Create detailed migration plan
- Count items to migrate
- Check data compatibility
- Identify custom fields
- Assess attachment sizes
- Calculate migration impact
- Generate pre-migration report
- Create full backup of source data
- Execute migration in batches
- Transform data between formats
- Preserve relationships
- Handle attachments and media
- Create progress checkpoints
- Log all operations
- Compare source and target data
- Validate all items migrated
- Check relationship integrity
- Verify custom field mappings
- Test cross-references
- Generate verification report
- Load rollback checkpoint
- Restore original state
- Clean up partial migrations
- Verify rollback completion
- Generate rollback report
migration-assistant [action] [options]plan- Create migration plananalyze- Assess migration scopemigrate- Execute migrationverify- Validate migration resultsrollback- Revert migration
--source <system>- Source system (github/linear)--target <system>- Target system (github/linear)--scope <items>- Items to migrate (all/issues/prs/projects)--dry-run- Simulate migration--parallel <n>- Parallel processing threads--checkpoint- Enable checkpoint recovery--mapping-file <path>- Custom field mappings--preserve-ids- Maintain reference IDs--archive-source- Archive after migration
# Plan GitHub to Linear migration
migration-assistant plan --source github --target linear
# Analyze migration scope
migration-assistant analyze --scope all
# Dry run migration
migration-assistant migrate --dry-run --parallel 4
# Execute migration with checkpoints
migration-assistant migrate --checkpoint --backup
# Verify migration completeness
migration-assistant verify --deep-check
# Rollback if needed
migration-assistant rollback --transaction-id 12345- Inventory source data
- Map data structures
- Identify incompatibilities
- Estimate migration time
- Generate migration plan
- Create full backup
- Validate permissions
- Set up target structure
- Configure mappings
- Test connectivity
- Transfer data in batches
- Maintain relationships
- Preserve metadata
- Handle attachments
- Update references
- Compare record counts
- Validate data integrity
- Check relationships
- Verify attachments
- Test functionality
- Update documentation
- Redirect webhooks
- Archive source data
- Generate reports
- Train users
mappings:
github_to_linear:
issue:
title: title
body: description
state: status
labels: labels
milestone: cycle
assignees: assignees
custom_fields:
- source: "custom.priority"
target: "priority"
transform: "map_priority"
relationships:
- type: "parent-child"
source: "depends_on"
target: "parent"
linear_to_github:
issue:
title: title
description: body
status: state
priority: labels
cycle: milestone- Storage capacity verification
- API rate limit assessment
- Permission validation
- Dependency checking
- Conflict detection
- Transaction logging
- Progress tracking
- Error recovery
- Checkpoint creation
- Performance monitoring
- Data verification
- Integrity checking
- Performance testing
- User acceptance
- Rollback readiness
{
"checkpoint": {
"id": "mig-20240120-1430",
"progress": {
"total_items": 5000,
"completed": 3750,
"failed": 12,
"pending": 1238
},
"state": {
"last_processed_id": "issue-3750",
"batch_number": 75,
"error_count": 12
}
}
}- Point-in-time recovery
- Selective rollback
- Relationship preservation
- Audit trail maintenance
- Zero data loss guarantee
- Batch processing
- Parallel transfers
- API call optimization
- Caching strategies
- Resource monitoring
- Executive summary
- Detailed item mapping
- Error analysis
- Performance metrics
- Recommendation list
- Map GitHub labels to Linear labels/projects
- Convert milestones to cycles
- Preserve issue numbers as references
- Migrate comments with user mapping
- Handle attachments and images
- Map Linear statuses to GitHub states
- Convert cycles to milestones
- Preserve Linear IDs in issue body
- Map Linear projects to labels
- Handle custom fields
- mcp-server-github
- mcp-server-linear
- Automatic retry with backoff
- Detailed error logging
- Partial failure recovery
- Manual intervention points
- Comprehensive error reports
- Always run analysis first
- Use dry-run for testing
- Migrate in phases for large datasets
- Maintain communication with team
- Keep source data until verified
- Document custom mappings
- Test rollback procedures
- Full audit trail
- Data retention compliance
- Privacy preservation
- Change authorization
- Migration certification
This command creates a complete migration package including backups, logs, and documentation. The migration can be resumed from checkpoints in case of interruption. All migrations are reversible within the retention period.