Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
amux
command
|
|
|
amux-harness
command
Command amux-harness is a headless render/perf harness for amux.
|
Command amux-harness is a headless render/perf harness for amux. |
|
internal
|
|
|
app/activity
Package activity implements tmux session activity detection using screen-delta hysteresis and tag-based output timestamps.
|
Package activity implements tmux session activity detection using screen-delta hysteresis and tag-based output timestamps. |
|
config
Package config loads and represents amux configuration: assistant definitions, UI settings, and resolved on-disk paths.
|
Package config loads and represents amux configuration: assistant definitions, UI settings, and resolved on-disk paths. |
|
data
Package data persists workspace records to disk via WorkspaceStore, using atomic JSON reads/writes keyed by workspace ID plus per-repo lookup.
|
Package data persists workspace records to disk via WorkspaceStore, using atomic JSON reads/writes keyed by workspace ID plus per-repo lookup. |
|
e2e/fakeagent
command
Command fakeagent is a deterministic stand-in for a real raw-mode coding agent (Claude Code / Codex / Cline) for amux end-to-end tests.
|
Command fakeagent is a deterministic stand-in for a real raw-mode coding agent (Claude Code / Codex / Cline) for amux end-to-end tests. |
|
fsatomic
Package fsatomic provides crash-safe single-file persistence: data is written to a temp file in the target directory, synced to disk, and then atomically moved over the target.
|
Package fsatomic provides crash-safe single-file persistence: data is written to a temp file in the target directory, synced to disk, and then atomically moved over the target. |
|
git
Package git wraps the git CLI for amux's worktree-per-workspace model: creating and removing worktrees and branches, computing diffs, and watching the working tree for changes.
|
Package git wraps the git CLI for amux's worktree-per-workspace model: creating and removing worktrees and branches, computing diffs, and watching the working tree for changes. |
|
logging
Package logging is amux's file-based logger.
|
Package logging is amux's file-based logger. |
|
messages
Package messages defines the shared Bubble Tea message vocabulary exchanged between the app message pump and the UI panes: user intents, lifecycle events, and cross-pane notifications.
|
Package messages defines the shared Bubble Tea message vocabulary exchanged between the app message pump and the UI panes: user intents, lifecycle events, and cross-pane notifications. |
|
perf
Package perf is lightweight, opt-in instrumentation: named counters (Count) and timers (Record/Time) that flush to a log for the headless harness and the perf baselines.
|
Package perf is lightweight, opt-in instrumentation: named counters (Count) and timers (Record/Time) that flush to a log for the headless harness and the perf baselines. |
|
pprofhttp
Package pprofhttp builds the opt-in pprof server used by amux binaries.
|
Package pprofhttp builds the opt-in pprof server used by amux binaries. |
|
process
Package process provides cross-platform process-group teardown: it kills a process together with its descendants (KillProcessGroup) so agent process trees do not survive the tmux session that launched them.
|
Package process provides cross-platform process-group teardown: it kills a process together with its descendants (KillProcessGroup) so agent process trees do not survive the tmux session that launched them. |
|
pty
Package pty manages the pseudo-terminals that back hosted agents: it spawns agent processes (Agent) attached to a PTY (Terminal), sizes them, and streams their byte output to the UI for parsing by internal/vterm.
|
Package pty manages the pseudo-terminals that back hosted agents: it spawns agent processes (Agent) attached to a PTY (Terminal), sizes them, and streams their byte output to the UI for parsing by internal/vterm. |
|
safego
Package safego provides panic-safe goroutine helpers (Go, Run) with a pluggable PanicHandler, so background work can never crash the TUI on an otherwise-unrecovered panic.
|
Package safego provides panic-safe goroutine helpers (Go, Run) with a pluggable PanicHandler, so background work can never crash the TUI on an otherwise-unrecovered panic. |
|
shellutil
Package shellutil holds small, security-sensitive shell helpers shared across packages so their behavior can't drift between copies.
|
Package shellutil holds small, security-sensitive shell helpers shared across packages so their behavior can't drift between copies. |
|
supervisor
Package supervisor runs named background workers under a restart/backoff policy and surfaces fatal worker errors through a pluggable error handler instead of letting an unrecovered failure take down the app.
|
Package supervisor runs named background workers under a restart/backoff policy and surfaces fatal worker errors through a pluggable error handler instead of letting an unrecovered failure take down the app. |
|
testutil
Package testutil provides small polling helpers shared across test packages, so individual tests don't re-derive deadline/poll loops (which tend to drift in interval and failure messaging).
|
Package testutil provides small polling helpers shared across test packages, so individual tests don't re-derive deadline/poll loops (which tend to drift in interval and failure messaging). |
|
tmux
Package tmux is a thin wrapper over the tmux CLI used to host agent sessions: it creates and kills sessions, captures pane contents and scrollback, resizes windows, and reads/writes the @amux_* activity tags that coordinate detection and reattach across amux instances.
|
Package tmux is a thin wrapper over the tmux CLI used to host agent sessions: it creates and kills sessions, captures pane contents and scrollback, resizes windows, and reads/writes the @amux_* activity tags that coordinate detection and reattach across amux instances. |
|
ui/center
Package center implements the center-pane Bubble Tea model: the agent tab strip, per-tab PTY I/O and flushing, the diff viewer, and mouse/keyboard text selection.
|
Package center implements the center-pane Bubble Tea model: the agent tab strip, per-tab PTY I/O and flushing, the diff viewer, and mouse/keyboard text selection. |
|
ui/common
Package common holds UI building blocks shared across panes: theming (colors, styles, icons), widgets (dialogs, file picker, toasts), text selection, and the low-level PTY/tmux plumbing used by the center and sidebar terminals.
|
Package common holds UI building blocks shared across panes: theming (colors, styles, icons), widgets (dialogs, file picker, toasts), text selection, and the low-level PTY/tmux plumbing used by the center and sidebar terminals. |
|
ui/compositor
Package compositor composes vterm snapshots and UI layers into a single rendered frame.
|
Package compositor composes vterm snapshots and UI layers into a single rendered frame. |
|
ui/dashboard
Package dashboard implements the dashboard pane: the project and workspace tree with keyboard and mouse navigation plus a toolbar for workspace actions.
|
Package dashboard implements the dashboard pane: the project and workspace tree with keyboard and mouse navigation plus a toolbar for workspace actions. |
|
ui/diff
Package diff implements the diff viewer shown in a center tab, rendering a git change as scrollable, syntax-aware output.
|
Package diff implements the diff viewer shown in a center tab, rendering a git change as scrollable, syntax-aware output. |
|
ui/layout
Package layout computes pane geometry: it tracks the layout mode and divides the terminal into the dashboard, center, and sidebar regions (Manager).
|
Package layout computes pane geometry: it tracks the layout mode and divides the terminal into the dashboard, center, and sidebar regions (Manager). |
|
ui/ptyio
Package ptyio holds the low-level PTY/tmux plumbing shared by the center and sidebar terminals: the PTY read loop and output forwarding/merging, PTY-noise filtering and overflow trimming, and tmux session bootstrap/restore (capture, snapshot, scrollback).
|
Package ptyio holds the low-level PTY/tmux plumbing shared by the center and sidebar terminals: the PTY read loop and output forwarding/merging, PTY-noise filtering and overflow trimming, and tmux session bootstrap/restore (capture, snapshot, scrollback). |
|
ui/sidebar
Package sidebar implements the sidebar pane: the workspace file tree plus an embedded tmux-backed terminal with its own PTY I/O and text selection.
|
Package sidebar implements the sidebar pane: the workspace file tree plus an embedded tmux-backed terminal with its own PTY I/O and text selection. |
|
update
Package update implements self-update: it compares the running version against GitHub releases and downloads, checksum-verifies, and installs a newer binary, skipping Homebrew and go-install builds.
|
Package update implements self-update: it compares the running version against GitHub releases and downloads, checksum-verifies, and installs a newer binary, skipping Homebrew and go-install builds. |
|
validation
Package validation guards untrusted input before it reaches git or the filesystem: it sanitizes strings and validates assistant names, base refs, project paths, and workspace names.
|
Package validation guards untrusted input before it reaches git or the filesystem: it sanitizes strings and validates assistant names, base refs, project paths, and workspace names. |
|
vterm
Package vterm is a terminal emulator: it parses a stream of ANSI/VT escape sequences into a cell grid plus scrollback and renders that state back to ANSI.
|
Package vterm is a terminal emulator: it parses a stream of ANSI/VT escape sequences into a cell grid plus scrollback and renders that state back to ANSI. |
Click to show internal directories.
Click to hide internal directories.