Skip to content

v0.10.0

Latest

Choose a tag to compare

@cohix cohix released this 11 Jun 22:45

Release v0.10.0

This release adds a third agent runtime — Docker Sandboxes (microVM isolation) — and connects awman to GitHub: drive specs, workflows, and prompts directly from issues, and wait on CI inside a workflow.

Features

  • Docker Sandboxes runtime (experimental). A new runtime, docker-sbx-experimental, runs each agent session in a dedicated microVM via Docker's sbx CLI — hypervisor-grade isolation with a private kernel, filesystem, and Docker daemon per session. Set it with awman config set --global runtime docker-sbx-experimental. awman ready, awman chat, awman exec, and awman exec workflow all work end-to-end. Sandboxes are persistent: the agent-install cost is paid once per worktree, and later launches restart the existing sandbox. Supported on macOS arm64 and Windows x86_64; credentials are registered sandbox-scoped via sbx secret set and never written to disk. See Runtimes.

    • The runtime tier was refactored into a paradigm-honest AgentRuntimeEngine abstraction that cleanly separates container runtimes (Docker, Apple Containers) from sandbox runtimes, so each can diverge where the underlying technology demands it.
  • GitHub integration. A new --issue <ref> flag on new spec, exec workflow, and exec prompt fetches a GitHub issue and uses it as the input — no local work item file required. --issue accepts a bare number (resolved against the repo's GitHub remote), owner/repo#84 shorthand, or a full issue URL. Issues are fetched via the gh CLI, a GITHUB_TOKEN, or unauthenticated for public repos. See GitHub Integration.

  • CI polling and self-healing steps. Workflow setup/teardown phases gain two capabilities:

    • poll_ci step — blocks until the GitHub Actions run for the current branch/PR goes green, with a configurable interval and retry count.
    • on_failure block — any setup or teardown step can declare a remediation prompt; on failure, awman launches an agent to fix the problem and retries the step, up to max_attempts.
  • Context overlays. A new context() overlay gives agents a durable, shared on-disk workspace plus matching system-prompt instructions. Three scopes: context(global) (personal, cross-project), context(repo) (project-specific), and context(workflow) (per-invocation shared scratch space). Any scope can be made read-only, e.g. context(global:ro). See Overlays.

  • Configurable project base Dockerfile and XDG paths. The project base image path is no longer hardcoded to Dockerfile.dev — set a custom path (e.g. docker/Dockerfile.base) in .awman/config.json. awman init offers to create a fresh Dockerfile.dev or adopt an existing Dockerfile in the repo. awman now honours XDG_ base-directory environment variables when resolving its global ~/.awman/ directory. See Configuration.

  • Mouse scroll passthrough. When an agent TUI inside the container enables mouse tracking, scroll-wheel events are forwarded to the agent (so you can scroll its file listings, diffs, and log panels). Click-and-drag always stays with awman for text selection.

Improvements

  • Selectable, copyable execution-window text. Text in the execution window can now be selected and copied with the mouse.
  • TUI scrolling and stuck-detection fixes. Several scrolling glitches were fixed, and tab "stuck" detection is more reliable.
  • awman config works without the configured runtime installed. You can edit configuration even when the currently configured runtime is unavailable on the machine.

Fixes

  • Fixed the Codex agent passing the deprecated --full-auto flag in contexts where it is exec-only; yolo mode now uses the correct flag.

Upgrade path

curl -s https://prettysmart.dev/install/awman.sh | sh
awman ready

No config migration is required. To try the new microVM runtime, install the sbx CLI (brew install docker/tap/sbx), run sbx login, then awman config set --global runtime docker-sbx-experimental && awman ready.