Pin a fleet of related Git repositories to exact commits with one shared lockfile
Run build or test commands across every repository in a multi-repo project at once
Open and track a single feature's pull requests across GitHub, GitLab, and Bitbucket together
| nastwinns/hawser | dhkts1/teamclaude-rs | elofight/emufight | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | easy | hard |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Hawser, used through a command called haw, is a tool for teams whose product is split across many separate Git repositories. When a product lives in ten repositories, it becomes hard to know which versions of each repository are meant to be used together, and there is often no reliable way to reproduce an identical set of checkouts on another machine or in a continuous integration pipeline. Hawser solves this by letting you write a manifest file that lists all the repositories in your project, then generating a lockfile that pins each one to an exact commit, similar to how package managers lock dependency versions. With hawser installed, a command clones every listed repository and writes the lockfile, another command checks whether the current set of repositories matches what the lockfile expects and can be used as a check in continuous integration, and further commands let you run a build, test, or any other command across every repository at once, in parallel. There is also a way to search across every repository at the same time using a single command. Beyond keeping repositories in sync, hawser can start a single feature branch across multiple repositories together, and it connects to GitHub, GitLab, and Bitbucket to open and track pull or merge requests that span those repositories, so a change that touches several repos can be reviewed and merged together. Running the tool without any extra arguments opens a terminal based dashboard showing every repository's branch and status. From there you can drill into a single repository's details, look at a pull request's reviewers and checks, or watch a continuous integration run in progress, and merge or approve changes without leaving the terminal. Hawser is a single, self contained program written in Rust and does not require Python or other separate scripting tools to run, and it works the same way on Windows, macOS, and Linux. It can be installed through several common package managers, and each release also ships signed binaries with checksums for anyone who wants to verify what they are installing. The project can be extended with plugins named with a haw prefix.
Hawser (haw) pins a multi-repo project to a shared lockfile and lets teams build, test, and review pull requests across all the repos together.
Mainly Rust. The stack also includes Rust, TUI, Git.
Use freely for any purpose, including commercial use, under either the MIT or Apache 2.0 license, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.