Help us shape the future of Go! Take the 2026 Go Developer Survey

limabean

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2026 License: MIT Imports: 1 Imported by: 0

README

lint MIT license macOS with Lima 2.x

limabean creates disposable Ubuntu dev VMs on your Mac from layered Lima templates. Each VM has a complete, version-pinned toolchain and your git identity. It pushes with your SSH keys without ever copying them in, and appears in Claude Desktop as an SSH connection.

  • One command per VM. limabean new dev is ready in about a minute.
  • Batteries included. Docker Engine, Go, Python, Kubernetes tooling, Terraform and 30+ CLI tools, pinned with mise.
  • Keys stay on your Mac. SSH keys stay in your agent, a scoped GitHub token lives in your Keychain, and your git and AWS config are mounted read-only.
  • Secrets without files. API keys and tokens come from your Keychain, 1Password, environment variables or commands, chosen when you create a VM.
  • Built for Claude. Every VM is registered as an SSH connection in Claude Desktop.
  • Safe to throw away. rm and rebuild refuse to run while you have unpushed work.
  • Plain Lima underneath. Templates are ordinary YAML and shell, and limactl always works.

Quick start

brew install lima
go install github.com/rossedman/limabean/cmd/limabean@latest   # or download a release

limabean init       # save settings, fix ~/.ssh/config, check your setup

# optional: log VMs into GitHub for gh and the API (scoped tokens: docs/github.md)
gh auth token --hostname github.com | limabean github login --with-token

limabean new dev    # create a VM; a form asks which secrets it gets
limabean ssh dev    # or: ssh lima-dev

Prebuilt binaries for Apple Silicon and Intel are on the releases page.

Creating a VM with limabean new, listing it, then running docker inside it

How it works

Your Mac connects to the Lima VM over ssh lima-dev, forwards its ssh-agent and mounts the git config read-only. The VM is built from an OS layer, a base layer and an environment.

Commands

Command What it does
limabean init / doctor Set up, and check prerequisites
limabean new [name] [env] Create a VM, choosing its secrets
limabean ls List VMs
limabean ssh <name> [cmd] Open a shell or run a command
limabean get <name> <repo> Clone a repository into the VM with ghq
limabean rebuild <name> Recreate from the current templates
limabean stop / rm <name> Stop or delete a VM
limabean secrets set NAME [ref] Give VMs an API key or setting
limabean github login Give VMs a GitHub token for gh and the API
limabean claude sync Sync VMs with Claude Desktop

Documentation

Contributing

Issues and pull requests are welcome. CI runs go test, go vet, gofmt, shellcheck and limactl tmpl validate, and every pull request gets a snapshot build to try; see Customizing.

License

MIT

Documentation

Overview

Package limabean embeds the VM templates, so the limabean binary works on its own. See internal/templates for how they're written out for Lima.

Index

Constants

This section is empty.

Variables

View Source
var Templates embed.FS

Templates is the templates/ directory: Lima templates, provisioning scripts and the files they install.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
limabean command
Command limabean creates and manages disposable Linux dev VMs on macOS.
Command limabean creates and manages disposable Linux dev VMs on macOS.
internal
claude
Package claude registers VMs as SSH connections in Claude Desktop, through the "sshConfigs" list in ~/.claude/settings.json.
Package claude registers VMs as SSH connections in Claude Desktop, through the "sshConfigs" list in ~/.claude/settings.json.
cli
Package cli is limabean's command line, built with Cobra and Viper.
Package cli is limabean's command line, built with Cobra and Viper.
config
Package config loads limabean's settings with Viper.
Package config loads limabean's settings with Viper.
github
Package github checks GitHub tokens against the GitHub API.
Package github checks GitHub tokens against the GitHub API.
keychain
Package keychain stores generic passwords in the macOS login Keychain through the `security` command.
Package keychain stores generic passwords in the macOS login Keychain through the `security` command.
lima
Package lima drives Lima through the limactl command, its stable interface.
Package lima drives Lima through the limactl command, its stable interface.
secrets
Package secrets manages the environment variables limabean installs in VMs.
Package secrets manages the environment variables limabean installs in VMs.
templates
Package templates gives limactl a directory of templates to read.
Package templates gives limactl a directory of templates to read.
ui
Package ui is limabean's terminal interface: status lines, spinners, boxes and tables in the README palette, and huh forms for prompts.
Package ui is limabean's terminal interface: status lines, spinners, boxes and tables in the README palette, and huh forms for prompts.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL