Skip to content

v0.5.0

Choose a tag to compare

@DimmKirr DimmKirr released this 21 Apr 06:17
· 241 commits to main since this release
5f7a47f

Changes

Vagrant engine (no Docker required)

Run cells as native VMs instead of Docker containers — useful for Apple Silicon without Docker Desktop, or when you need full Linux kernel features.

cell claude --macos          # provision Debian ARM64 VM via UTM, then open Claude Code
cell build --macos           # re-apply nixhome flake inside the VM
cell rdp --list              # shows docker + vagrant cells side by side

Set permanently in .devcell.toml:

[cell]
engine = "vagrant"
vagrant_provider = "utm"     # utm (macOS) or libvirt (Linux)
vagrant_box = "utm/bookworm"

On first run: scaffolds a Vagrantfile, starts the VM, installs Nix single-user, and applies the same home-manager configuration used by Docker images. Subsequent runs skip provisioning if already done.

cell models: cloud + local side by side

cell models now shows Anthropic, OpenAI, and Google models (via OpenRouter) alongside local ollama models, ranked by SWE-Bench score and speed.

cell models                  # all models, ranked
cell models --source=local   # ollama only
cell models --source=cloud   # OpenRouter only
cell models --format=json    # machine-readable output

Results are cached on disk (XDG_CACHE_HOME/devcell/) and refreshed in the background — no network wait on repeat invocations.

cell login: bot-detection bypass redesigned

The two-phase login flow now passes Cloudflare, Kasada, and similar systems:

  • Phase 1: opens a clean browser on your host — no --remote-debugging-port, no CDP flags, indistinguishable from a normal user session
  • Phase 2: after you close the browser, a separate headless CDP instance reads cookies from the same profile and writes storage-state.json

Your fingerprint (User-Agent, platform, browser brands) is read from your real installed Chrome binary and saved alongside the session so Patchright replays with a matching identity.

cell login https://example.com   # clean browser → you log in → cookies sync to container
cell login --force https://...   # wipe saved session and start fresh

cell claude: auto-selects best available model

When use_ollama = true and no model is pinned in config, cell claude now queries running ollama instances and sets ANTHROPIC_MODEL to the top-ranked model by composite SWE-Bench + speed score. No manual model configuration needed.

codex --ollama: local ollama provider

cell codex --ollama          # use ollama as local provider

Or set permanently: use_ollama = true in [codex] section of .devcell.toml. Injects --oss, --local-provider ollama, and CODEX_OSS_BASE_URL automatically.

--format flag for machine-readable output

All listing commands now accept --format=text|json|yaml:

cell models --format=json
cell rdp --list --format=yaml
cell vnc --list --format=json

Prose output is suppressed in non-text modes.

Android module

modules = ["android"]

Adds: ADB + fastboot (all platforms), Android SDK + build-tools + emulator + apktool + jadx (x86_64 only).

docker_privileged config

[cell]
docker_privileged = true

Adds --privileged to docker run. Required for workloads that need /dev/kvm, nested Docker, or full Linux capabilities inside the container.

Build error hints

cell build now parses docker build output for known failure patterns and shows actionable hints — disk space exhaustion, nix eval errors, package collisions — instead of raw build output.

Fixes

  • cell rdp --list and cell vnc --list now show vagrant-engine cells alongside Docker containers
  • Image registry consolidated to public.ecr.aws/w1l3v2k8/devcell (GHCR mirror removed from docs)
  • Codex nixhome config no longer sets stale oss_provider = "lms" entry

What's Changed

  • Run cells as native VMs instead of Docker containers — useful for Apple Silicon without Docker Desktop, or when you need full Linux kernel features. by @DimmKirr in #35

Full Changelog: v0.4.2...v0.5.0