diff --git a/README.md b/README.md index eeadd9e..f1fa409 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,14 @@ npm install docker compose up -d ``` +For projects using a specific language version (Ruby, Python, etc.), install it via mise in the runtime script. mise automatically picks up `.ruby-version`, `.python-version`, `.node-version`, and `.tool-versions` files: + +```bash +# your-project/.agent-vm.runtime.sh +mise install +bundle install +``` + ### MCP servers The base VM comes with [Chrome DevTools MCP](https://github.com/ChromeDevTools/chrome-devtools-mcp) pre-configured for Claude, giving the agent headless browser access. @@ -201,6 +209,7 @@ Each VM is fully isolated — agents must authenticate independently inside thei |----------|----------| | Core | git, curl, wget, jq, build-essential, unzip, zip | | Python | python3, pip, venv | +| Version manager | [mise](https://mise.jdx.dev/) (Ruby, Python, Node, etc.) | | Node.js | Node.js 24 LTS (via NodeSource) | | Search | ripgrep, fd-find | | Utilities | htop, GitHub CLI (gh) | diff --git a/agent-vm.setup.sh b/agent-vm.setup.sh index 6786485..b12abf1 100644 --- a/agent-vm.setup.sh +++ b/agent-vm.setup.sh @@ -23,11 +23,18 @@ sudo apt-get install -y \ ripgrep fd-find htop \ unzip zip \ ca-certificates \ - iptables + iptables \ + libssl-dev libreadline-dev zlib1g-dev libyaml-dev libffi-dev # Set zsh as default shell sudo chsh -s /usr/bin/zsh "$(whoami)" +# Install mise (polyglot version manager for Ruby, Python, Node, etc.) +echo "Installing mise..." +curl https://mise.run | sh +echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc +echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshenv + # Install Docker from official repo (includes docker compose) echo "Installing Docker..." sudo install -m 0755 -d /etc/apt/keyrings