Teleport helps you migrate all your Mac settings, packages, dotfiles, and configurations from one Mac to another. Export everything to a .teleport archive and import it on your new Mac.
- CLI framework with
exportandimportcommands - SwiftUI Mac app with navigation structure
- Category-based organization (8 categories defined)
- Shared manifest schema (Go & Swift)
- Basic export/import file handling
# Install CLI
brew install xorforce/tap/teleport-cli
# Install macOS App
brew install --cask xorforce/tap/teleportDownload the latest release from GitHub Releases:
- CLI:
teleport-cli-darwin-arm64.tar.gz(Apple Silicon) orteleport-cli-darwin-amd64.tar.gz(Intel) - App:
Teleport.dmg
# Clone the repository
git clone https://github.com/xorforce/teleport.git
cd teleport
# Build CLI
cd teleport-cli
go build -o teleport .
# Build App (requires Xcode)
cd ../teleport-app
xcodebuild -project teleport-app.xcodeproj -scheme teleport-app -configuration Release# Export your settings
teleport export -o my-settings.teleport
# Import settings
teleport import my-settings.teleport- Launch Teleport from Applications
- Select categories to export
- Click "Export Settings"
- Transfer the
.teleportfile to your new Mac - Import on the new Mac
The macOS app is not notarized with Apple. On first launch:
- Right-click the app and select Open, then click Open again
- Or run:
xattr -cr /Applications/teleport-app.app - Or go to System Settings > Privacy & Security and click Open Anyway
teleport/
├── teleport-app/ # SwiftUI Mac application
├── teleport-cli/ # Go CLI application
├── scripts/ # Build scripts
└── README.md
- CLI: Go 1.21+
- Mac App: macOS 13.0+, Xcode 15.0+
# Install all development dependencies
make setupThis installs:
- golangci-lint - Go linter
- swiftlint - Swift/SwiftUI linter
- swiftformat - Swift formatter
- pre-commit - Git hooks manager
# Run all linters
make lint
# Lint only Go code
make lint-go
# Lint only Swift code
make lint-swift
# Auto-fix lint issues where possible
make lint-fix
# Format all code
make fmt# Run all tests
make test
# Run Go tests with coverage
make test-go-coverage
# Run Swift tests
make test-swift# Build everything
make build
# Build release versions
make build-releasePre-commit hooks run automatically on every commit to catch issues early:
# Install hooks (done automatically by make setup)
pre-commit install
# Run hooks manually on all files
make pre-commitmake help # Show all available targets- Fork the repository
- Create a feature branch
- Install dev dependencies:
make setup - Make your changes
- Run linters:
make lint - Run tests:
make test - Submit a pull request
MIT License - see LICENSE for details.