Skip to content

Releases: dzungtr/codex-agents

Release list

cdxa v0.1.0

Choose a tag to compare

@dzungtr dzungtr released this 22 Jul 13:00
c10a69d

First official release of the cdxa CLI — a single Go binary that is both a terminal cockpit for running several codex agents in parallel and a headless CLI for codex thread delegation (ADR 0005).

Launched without a subcommand, cdxa opens the cockpit TUI; with a subcommand (spawn, output, send, skills, notify-hook) it performs headless JSON-only work.

Highlights

  • Cockpit TUI — single list view of every codex thread across all projects (running, waiting, finished), with enter to resume, i composer to launch, r quick-reply, x interrupt, a archive, / to filter. Threads that need your input are surfaced at the top.
  • Headless subcommands for codex-to-codex delegation:
    • cdxa spawn — launch a subthread into a worktree (or --workspace inplace)
    • cdxa output — collect a subthread's last-turn output (blocking with --wait)
    • cdxa send — follow-up into a living subthread
    • cdxa skills — list / fetch the embedded skill registry
    • cdxa notify-hook — codex App Server notification hook used by the cockpit
  • ADR-driven design — see docs/adr/ for the architectural decisions behind the binary, the subthread CLI, the skills command, and the unified-binary choice.

Install

go install github.com/dzungtr/codex-agents/cmd/cdxa@v0.1.0

Or build from source:

git clone https://github.com/dzungtr/codex-agents
cd codex-agents
git checkout v0.1.0
go build ./cmd/cdxa

See the README for the persistent-tmux-server prerequisite on systemd-logind hosts and full keybind / command reference.


Auto-generated changelog of every PR since the project began follows.

What's Changed

  • docs: add design reference assets and ADR 0001 (cockpit architecture) by @dzungtr in #7
  • Add read-only codex-agents cockpit list by @dzungtr in #8
  • Launch: worktree-per-thread detached tmux sessions + enter/exit by @dzungtr in #9
  • Slice 3: Statuses — waiting/working/closed derivation via notify hook by @dzungtr in #10
  • Slice 5: Quick-reply from the list (cheap-path) by @dzungtr in #11
  • Add interrupt and archive-with-cleanup from the list by @dzungtr in #12
  • docs: promote issue #1 Results into ADR 0001 Measured results by @dzungtr in #13
  • docs: add repo root README by @dzungtr in #14
  • discover codex profiles from $CODEX_HOME/*.config.toml (no -p when empty) by @dzungtr in #21
  • fix: forward mouse wheel to codex in cockpit-launched tmux panes by @dzungtr in #22
  • fix: forward mouse wheel to codex as mouse events in thread tmux panes by @dzungtr in #23
  • feat: live message/token counts via codex App Server (ADR 0002) by @dzungtr in #24
  • fix: three cockpit composer/attach/tmux bugs (closes #25) by @dzungtr in #26
  • docs: ADR 0003 cdxa subthread CLI + CONTEXT.md by @dzungtr in #34
  • fix(ui): restore visible selection highlight in cockpit list by @dzungtr in #35
  • feat(cdxa): output command — collect completed turns (#28) by @dzungtr in #37
  • feat(cdxa): spawn command — launch subthread into worktree (#29) by @dzungtr in #36
  • feat(cdxa): spawn --workspace inplace mode (#30) by @dzungtr in #38
  • feat(cdxa): send command — follow-up into a living subthread (#31) by @dzungtr in #39
  • feat(cdxa): output --wait blocking collection (#32) by @dzungtr in #40
  • docs: subthread delegation cookbook (#33) by @dzungtr in #41
  • docs: promote cdxa subthread CLI results into ADR 0003 by @dzungtr in #42
  • fix(ui): bound the cockpit list to the terminal height by @dzungtr in #43
  • fix(archive): retire codex's own thread record on archive (#44) by @dzungtr in #45
  • feat(launch): composer always runs new threads in-place by @dzungtr in #46
  • docs(adr): ratify codex thread id as single source of truth for cockpit thread identity (#47/#48) by @dzungtr in #50
  • fix(launch): codex thread id is the single source of truth by @dzungtr in #51
  • docs(adr): promote measured results for #47/#48 into ADR 0001 by @dzungtr in #52
  • docs: ADR 0004 (cdxa skills command) + CONTEXT.md vocabulary by @dzungtr in #59
  • Skill content: cdxa-spawn.md (#54) by @dzungtr in #61
  • Embed registry: go:embed skill .md into a map[string][]byte (#55) by @dzungtr in #63
  • fix(cdxa): respect agentstate.Hidden + state_5 recency_at column (#60) by @dzungtr in #64
  • cdxa skills subcommand: install + idempotent overwrite + JSON output (#56) by @dzungtr in #65
  • Skill content sanity test (#57) by @dzungtr in #66
  • docs(adr): promote measured results for #53 into ADR 0004 by @dzungtr in #68
  • fix(launcher): snap shot known codex ids before in-place launch (#67) by @dzungtr in #70
  • docs: document persistent tmux server prerequisite for issue #69 by @dzungtr in #71
  • docs: add cdxa preview image to readme by @dzungtr in #72
  • docs(adr): ADR 0005 — unified cdxa binary by @dzungtr in #73
  • refactor(cockpit): extract TUI wiring into internal/cockpit (slice #75) by @dzungtr in #82
  • fix(launcher): add tmux*:extkeys to terminal-features pattern by @dzungtr in #83
  • feat(cdxa): wire unified dispatch (notify-hook + no-args cockpit) by @dzungtr in #84
  • chore(tmuxstatus): dedup terminal-features; enable focus-events by @dzungtr in #85
  • docs(adr-0001): note code-only fix from #78 (terminal-features) by @dzungtr in #86
  • feat(binaries): delete cmd/codex-agents shim (slice #77) by @dzungtr in #87
  • docs(adr-0005): promote measured results for #74 (unified cdxa binary) by @dzungtr in #89
  • fix(tmuxstatus): preserve tmux defaults in terminal-features; escalate to extended-keys always by @dzungtr in #90

New Contributors

Full Changelog: https://github.com/dzungtr/codex-agents/commits/v0.1.0