Development
gwm is a small Rust crate (single binary). Build, test, and ship workflows are documented here.
- Testing: the integration test files (~1900+ tests across 75 test files, run on the ubuntu / macos / windows matrix), the mandatory red → green → refactor TDD loop, how to run a subset, and the
// regression:sentinel-test convention. - Contributing: the Gitmoji + Conventional-Commit format, branch naming, the PR checklist, and the rules around the
CHANGELOG.md/changelogs/<version>.mdsplit. - Stability: the 1.0 SemVer compatibility contract: which surfaces are covered (CLI, exit codes, JSON schemas, daemon RPC,
.gwm.toml), which are free to change (TUI, human strings, internal Rust API), the MSRV policy, and the deprecation process.
Quick reference
Section titled “Quick reference”cargo build # debug buildcargo test # ~1900+ tests across the integration files + unit testscargo fmt && cargo clippy -- -D warningscargo run # opens TUI in the current repocargo install --path . # install locallyA Nix dev shell is pinned in flake.nix, carrying the toolchain, rust-analyzer, clippy, rustfmt, cargo-watch, cargo-edit and the libgit2 build deps, without touching the host system:
nix developVs. bash script
Section titled “Vs. bash script”The full background, what changed from the original tools/worktree-manager.sh and why, lives in the contributing page under “history”.
Changelog
Section titled “Changelog”Released versions live under changelogs/<version>.md; the root CHANGELOG.md only holds the current [Unreleased] section plus an index of past releases.