vaco-machine-setup
v1.0.3
Published
Full machine setup & migration — backup creds/configs, install tools, restore on a new machine
Maintainers
Readme
vaco-machine-setup
Full machine setup & migration tool. Backs up credentials, AI agent state, and tool configs from your current machine — then installs everything on a new machine.
Install
From npm registry
npm install -g vaco-machine-setupFrom local checkout
git clone <repo-url> vaco-machine-setup
cd vaco-machine-setup
npm install -g .Or install directly in your home project:
npm install vaco-machine-setup
npx vaco-setup --helpFrom a tarball (no network)
# Package it on the old machine
npm pack
# Copy vaco-machine-setup-1.0.0.tgz to the new machine
npm install -g vaco-machine-setup-1.0.0.tgzVerify installation
vaco-setup --version
vaco-setup --helpWorkflow
Step 1: Backup your current machine
vaco-setup backup --output ./my-backup.tar.gzThis collects:
- Credentials: SSH keys, git config, Docker auth, Claude auth, npmrc
- AI state: Claude Code sessions/projects/skills, Hermes config, OpenCode config
- Agent skills: All 21 installed skills (caveman, do, make-plan, etc.)
- Tool configs: Neovim, tmux, starship, btop, lazygit, and 15+ more
- Shell configs:
.zshrc,.bashrc - Manual binaries: VPS agent
Output: ./my-backup.tar.gz (~1-5 MB)
Step 2: Copy backup to the new machine
scp ./my-backup.tar.gz user@new-machine:~/
# or USB, or any other transfer methodStep 3: Install tools on the new machine
# On the new machine (requires sudo for system packages)
vaco-setup installOr with agent skills:
vaco-setup install --with-skillsThis installs:
- System deps: curl, git, docker, tmux, zsh
- CLI tools: neovim, starship, fzf, btop, lazygit, bat, lsd, ripgrep, fd
- Dev runtimes: bun, uv, node, python, go, rust
- AI agents: opencode, rtk, hermes, iii, claude-code, gemini-cli, qwen-code
- Python tools: glances (pipx), kimi-cli, mempalace (uv)
Step 4: Restore configs from backup
vaco-setup restore ./my-backup.tar.gz --forceRestores all backed-up files to their correct locations with proper permissions (SSH keys → 600, credentials → 600, etc.)
All-in-one
vaco-setup full ./my-backup.tar.gz --with-skills --forceThis runs install + restore in sequence.
Options
| Flag | Description |
|------|-------------|
| --output <path> | Backup destination path |
| --with-skills, -s | Also install agent skills from GitHub (slow) |
| --force | Overwrite existing config files during restore |
| --exclude-skills | Exclude AI skill files from backup |
| --exclude-state | Exclude non-essential AI state from backup |
Manual steps after setup
exec zsh # Restart shell
claude login # Claude Code authentication
ssh -T [email protected] # Verify SSH keys work
gcloud auth login # If using Google CloudWhat gets backed up (full list)
~/.ssh/ SSH keys, config, known_hosts
~/.gitconfig Git identity
~/.docker/config.json Docker registry auth
~/.claude/ Claude Code settings, credentials
~/.hermes/config.yaml Hermes agent config
~/.agents/ Installed agent skills + skill-lock
~/.agent-link/ Agent-link hub (skills, agents, rules, workflows)
~/.config/opencode/ OpenCode config, plugins, memory
~/.config/rtk/ RTK filter rules
~/.config/starship.toml Shell prompt
~/.config/nvim/ Neovim config
~/.config/tmux/ Tmux config
~/.config/btop/ System monitor config
~/.config/fastfetch/ System info config
~/.config/lazygit/ Git TUI config
~/.config/lazydocker/ Docker TUI config
~/.config/nushell/ Nushell config
~/.config/fish/ Fish shell config
~/.config/colima/ Container runtime config
~/.config/zed/ Zed editor config
~/.config/gcloud/ Google Cloud auth
~/.zshrc Zsh config
~/.bashrc Bash config
~/bin/vps-agent VPS agent binaryDevelopment
git clone <repo>
cd vaco-machine-setup
npm link # Link locally for testing
# Test backup
vaco-setup backup --output /tmp/test.tar.gz --exclude-state
# Test help
vaco-setup --helpPackage structure
├── bin/setup-vaco.js CLI entry point
├── scripts/install-tools.sh Tool installation (bash)
├── config/ Default config templates
├── lib/backup-list.js Definitive file list for backup/restore
└── package.json npm package definitionTo publish:
npm login
npm publishLicense
MIT
