Skip to main content

Crate gwm

Crate gwm 

Source
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.toml plus 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, or subscribe for pushed updates when the worktree set changes — instead of spawning gwm per 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 gh CLI).
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=json CLI 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) and R (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-window and zellij action new-tab/new-pane so gwm 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.toml presets for gwm 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 daemon JSON-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