Skip to content

v0.6.0

Choose a tag to compare

@cohix cohix released this 17 Apr 00:54
· 190 commits to main since this release

Release v0.6.0

Features

  • Multi-agent chat and workflows: Pass --agent <name> to chat or implement to run that session in a different agent's container without changing your repo config. In workflow files, add Agent: <name> to any step header to run that step in a specific agent — enabling pipelines where, for example, Claude plans and Codex implements. Before the first step runs, amux collects every distinct agent name required, checks that the corresponding image exists, and offers to download and build any that are missing. An --agent flag at the command line sets the default for steps that do not name an agent; it does not override steps that explicitly specify one. Both --flag value and --flag=value forms are accepted in both the CLI and the TUI command box.

  • amux config subcommand: View and edit configuration without manually opening JSON files.

    • amux config show — renders every config field across global and repo scopes in a table, including built-in defaults for unset fields and an override indicator when the repo value shadows the global value.
    • amux config get <field> — shows global value, repo value, and effective value for one field, with an explicit note about which scope wins.
    • amux config set [--global] <field> <value> — writes a value at the repo or global scope, with scope enforcement (e.g. runtime is global-only, agent is repo-only) and warnings when the new value will be shadowed by an override at the other scope.
    • The TUI gains a live config table: type config show in the command box to open it.
  • Configurable work item paths: amux is no longer tied to the aspec/work-items/ directory layout. Set work_items.dir and work_items.template in repo config to point specs new and implement at any directory in your project.

    • Template auto-discovery: if no template is configured, specs new scans the work items directory for *template.md files and prompts to save the match so you won't be asked again.
    • amux init offers to configure a custom work items directory interactively when aspec/ doesn't exist.
    • amux ready shows a warning (not an error) when no work items directory is configured and prints the config set command to fix it.
    • Paths are validated to stay within the git root.
  • Background yolo countdown: When a background tab's yolo-mode workflow step goes silent, the tab bar shows a live countdown without requiring you to switch to that tab. The tab alternates between yellow and purple every second, cycling ⚠️ yolo in N and 🤘 yolo in N. When the timer expires, the workflow auto-advances without any input. Switching to the tab mid-countdown opens the yolo dialog showing the time remaining — the timer is not reset. Pressing Ctrl+A or Ctrl+D while the dialog is open closes it and keeps the countdown running in the background.

  • Active-tab stuck suppression: On the currently active tab, the stuck timer and yolo countdown dialog will not fire while you are actively pressing keys or scrolling. Both the container and the user must be idle for 10 seconds before a stuck state is declared. Background tabs are unaffected and continue using output-time only.

Improvements

  • Modular Dockerfiles: Agent setup is split into a project base image (Dockerfile.dev) and per-agent images (.amux/Dockerfile.{agent} in the .amux/ directory). The project base contains only project tooling; agent images extend it with the AI agent binary. Updating your project toolchain no longer requires rebuilding agent images, and adding a new agent doesn't force a full base rebuild.

  • CLI/TUI flag unification: All command flags are now defined in a single CommandSpec table that both the CLI parser and the TUI input system are compiled against. Adding a new flag in one place automatically propagates to both surfaces, TUI autocomplete, and tests. Both --flag value and --flag=value forms are accepted identically everywhere.

  • init and ready now share a unified execute()/flow trait, reducing duplication and ensuring new steps appear consistently across both commands.

Fixes

  • Fixed workflow control board not allowing the "advance to next step" action when the next step uses a different agent than the current step.