Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smolcoder

smolcoder starts a persistent microsandbox microVM for a workspace, mounts the project at /workspace, and exposes it through SSH for shells and IDEs.

smolcoder ensure
smolcoder ssh
smolcoder open --ide code
smolcoder open --ide intellij

What it manages

  • Stable per-workspace sandbox names
  • Create/start/stop/delete through the Rust microsandbox crate
  • A bind mount of the current workspace at /workspace
  • A detached microVM that survives the wrapper process
  • A per-workspace OpenSSH config snippet using ProxyCommand
  • Generated per-workspace SSH keys under the user state directory
  • Per-workspace state under the user state directory
  • A JetBrains-ready base image with OpenSSH, curl, and mise

Usage

# Create or start the current workspace sandbox.
smolcoder ensure

# Interactive shell through OpenSSH + the generated ProxyCommand snippet.
smolcoder ssh

# Run a command through the same SSH path.
smolcoder ssh -- 'pwd'

# Print the generated ssh_config path.
smolcoder ssh config

# Use regular OpenSSH.
cfg="$(smolcoder ssh config)"; host="$(awk '/^Host /{print $2; exit}' "$cfg")"; ssh -F "$cfg" "$host"

# Serve an SSH listener in the foreground, matching msb's ssh serve shape.
smolcoder ssh serve

# Open IDEs over SSH.
smolcoder open --ide code
smolcoder open --ide intellij

# Stop or delete the sandbox.
smolcoder stop
smolcoder delete

Useful options:

smolcoder ensure --workspace /path/to/repo --name smolcoder-myrepo
smolcoder ensure --port 2223
smolcoder ensure --public-key ~/.ssh/id_ed25519.pub --identity-file ~/.ssh/id_ed25519
smolcoder ensure --cpus 2 --mem 1024
smolcoder open --ide intellij   # uses ghcr.io/manuschillerdev/smolcoder-base:latest and starts guest OpenSSH
smolcoder ensure --recreate

Requirements

  • Linux with KVM enabled, or macOS with Apple Silicon
  • ssh in PATH for OpenSSH, VS Code Remote-SSH, and JetBrains Gateway flows
  • code in PATH for VS Code launches

The default guest image is debian:bookworm-slim. JetBrains mode defaults to ghcr.io/manuschillerdev/smolcoder-base:latest, which includes OpenSSH, curl, and mise. A small guest init script still injects per-workspace SSH keys and starts OpenSSH for Gateway's long-lived tunnels.

About

Open a smolvm-backed remote SSH coding machine

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages