Migration Guide¶
This guide covers migrating between AAM versions, platforms, and from manual artifact management to AAM.
CLI command changes (pkg subcommand)¶
If you used older AAM commands, note these changes:
| Old command | New command | Notes |
|---|---|---|
aam init <name> (package scaffolding) | aam pkg init <name> | Package scaffolding only. |
aam init (no args) | aam init | Unchanged — client setup (config, sources). |
aam create-package | aam pkg create | Create package from existing artifacts. |
aam validate | aam pkg validate | Validate package manifest and contents. |
aam pack | aam pkg pack | Build package archive. |
aam publish | aam pkg publish | Publish to registry. |
aam build | aam pkg build | Build package (e.g. platform-specific). |
Summary: aam init with no arguments is for client setup (creating ~/.aam/, config, sources). Use aam pkg init <name> to scaffold a new package in the current directory.
Migrating from Manual Skills to AAM¶
Step 1: Detect Existing Artifacts¶
This scans for skills, agents, prompts, and instructions not yet managed by AAM.
Step 2: Create Package¶
Interactive selection of artifacts and package metadata.
Step 3: Validate¶
Ensures the package is well-formed.
Step 4: Publish¶
Step 5: Update Workflow¶
Replace manual file copying with:
See Package Existing Skills Tutorial for details.
Migrating from Unscoped to Scoped Packages¶
Why Migrate?¶
Scoped packages (@author/name) provide:
- Clear ownership
- Namespace isolation
- Better organization
Migration Steps¶
1. Update Manifest¶
# Old
name: my-package
version: 1.5.0
# New
name: "@author/my-package"
version: 2.0.0 # Bump major version
2. Publish New Version¶
3. Deprecate Old Package¶
Add notice to old package README:
# Deprecated
This package has moved to `@author/my-package`.
Please update:
\`\`\`bash
aam install @author/my-package
\`\`\`
Optionally yank old versions:
4. Update Dependents¶
If other packages depend on the old name, update their aam.yaml:
Migrating Between AAM Versions¶
0.x to 1.x (Breaking Changes)¶
Changes:
- Manifest format updated
- New CLI commands
- Platform adapter refactor
Migration:
-
Backup:
-
Upgrade:
-
Update manifests:
-
Rebuild packages:
-
Test:
Patch Updates (0.1.x to 0.1.y)¶
No breaking changes. Just upgrade:
Migrating Between Registries¶
Local to HTTP Registry¶
1. Set Up HTTP Registry¶
2. Register and Login¶
3. Republish Packages¶
4. Update Consumers¶
# On consumer machines
aam registry add https://registry.yourcompany.com --name company --default
aam install @author/my-package
Git to HTTP Registry¶
Same as Local to HTTP above.
HTTP to Local (Offline Setup)¶
1. Create Local Registry¶
2. Download Packages¶
# Download from HTTP registry
aam install @author/package1 --no-deploy
aam install @author/package2 --no-deploy
3. Copy to Local Registry¶
4. Configure Local Registry¶
Migrating Between Platforms¶
Cursor to Claude¶
1. Install Package¶
AAM automatically converts: - .cursor/skills/ → .claude/skills/ - .cursor/rules/ → CLAUDE.md
2. Verify Deployment¶
Any Platform to Multi-Platform¶
# Enable all platforms
aam config set active_platforms cursor,claude,copilot,codex
# Redeploy
aam deploy
Migrating Lock Files¶
Regenerate Lock File¶
If aam-lock.yaml is out of sync:
This regenerates the lock file based on current installations.
Update Dependencies¶
Updates all packages to latest compatible versions and updates lock file.
Migrating Custom Configurations¶
Export Configuration¶
Import Configuration¶
Or copy config file:
Common Migration Issues¶
Manifest Format Changed¶
Error: Invalid manifest format
Solution:
Or manually update based on new schema.
Dependency Conflicts After Migration¶
Error: Could not resolve dependencies
Solution:
Platform Mismatch¶
Error: Artifacts deployed to wrong location
Solution:
# Check platform configuration
aam config list
# Set correct platform
aam config set default_platform <platform>
# Redeploy
aam deploy --platform <platform>
Lost Packages After Migration¶
Solution:
Check .aam.backup/ for backup:
Migration Checklist¶
Before major migrations:
- Backup
.aam/directory - Backup custom configuration (
~/.aam/config.yaml) - Note current AAM version (
aam --version) - List installed packages (
aam list > packages.txt) - Export configuration (
aam config list > config.txt)
After migration:
- Verify AAM version (
aam --version) - Check configuration (
aam config list) - Test package installation (
aam install test-package) - Verify deployment (
aam list) - Test platform functionality (reload IDE, check artifacts)
- Run diagnostics (
aam doctor)
Rollback¶
If migration fails:
# Uninstall new version
pip uninstall aam
# Reinstall old version
pip install aam==<old-version>
# Restore backup
rm -rf .aam
mv .aam.backup .aam
# Verify
aam --version
aam list
Getting Help¶
If migration issues persist:
- Check Common Issues
- Run
aam doctor - File an issue on GitHub with:
- Old AAM version
- New AAM version
- Migration steps taken
- Error messages
Next Steps¶
- Troubleshooting Index - More help
- Common Issues - Specific problems
- FAQ - Frequently asked questions