Expand description
gwm — git worktree manager (lib root).
Used both by the gwm binary (src/main.rs) and by integration tests
under tests/. Module surface is intentionally pub for testability.
Modules§
- aliases
- CLI aliases —
[aliases]in.gwm.tomlplus a user-level fallback at~/.config/gwm/aliases.toml(issue #86). - bootstrap
- clean
gwm clean(issue #313): report and reclaim heavy build artifacts across worktrees.- cli
- command_
log - In-memory transcript of the external commands gwm runs (issue #226).
- config
- config_
cli - contract
- The frozen, versioned machine contracts gwm pledges to keep stable across a 1.0 line (issue #317).
- daemon
- Daemon mode: a long-running JSON-RPC 2.0 server exposing gwm’s
machine-readable surface over a unix domain socket (issue #38,
phase 2). Editors, statusbars, and tooling connect once and call
list/doctor/path, orsubscribefor pushed updates when the worktree set changes — instead of spawninggwmper query and parsing human output. - doctor
- Environment + worktree diagnostics. Aggregates a series of cheap checks into a single report so users (and CI) can answer “is my setup sane?” without running a dozen ad-hoc commands.
- error
- exec
gwm exec(issue #313): run a command across worktrees and roll up the results.- github
- Issue ↔ PR ↔ branch link storage + GitHub API fetch (via
ghCLI). - gitmoji
- Gitmoji mapping (issue #85).
- history
- Operation journal backing
gwm undo+gwm history(issue #29). - hooks
- Git hook installer (issue #85).
- issue_
templates - json_
api - Stable, machine-readable JSON surface shared by the
--format=jsonCLI flags (issue #38, phase 1) and the daemon’s JSON-RPC methods (phase 2). - labels
- GitHub label declarative management (issue #81).
- launcher
- Configurable command launchers for the TUI
l(git_tui) andR(review) keybindings — issue #75. - lifecycle
- milestones
- GitHub milestone declarative management (issue #82).
- multiplexer
- Terminal-multiplexer integration. Builds the argv vectors for
tmux new-window/split-windowandzellij action new-tab/new-panesogwm tmux <pattern>/gwm zellij <pattern>can open a worktree in one keystroke from inside an already-running multiplexer session. - naming
- pr_
templates - PR body renderer for the
[pr_template]config block (issue #84). - presets
- Built-in
.gwm.tomlpresets forgwm init --preset <name>(issue #37). - review
gwm review <PR#>(issue #308) — materialise an existing GitHub PR into an isolated worktree.- statusline
- The statusline consumer (issue #309): the first real client of the
gwm daemonJSON-RPC surface (issue #38). - sync
gwm sync(issue #24) — fetch + rebase / merge a worktree’s branch onto its configured upstream.- templating
- trust
- TOFU (trust-on-first-use) trust ledger for
.gwm.toml(issue #95). - tui
- workspace
- Workspace mode (issue #36): a bird’s-eye view across every git repo that
sits one level below a workspace root (e.g.
~/Projects). - worktree