explaingit

nastwinns/hawser

Analysis updated 2026-05-18

5RustAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

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.

Mindmap

mindmap
  root((hawser))
    What it does
      Multi-repo lockfile
      Cross-repo build and test
      Cockpit dashboard
    Tech stack
      Rust
      TUI
      Git
    Use cases
      Sync repo fleet
      Run CI drift check
      Track cross-repo PRs
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Pin a fleet of related Git repositories to exact commits with one shared lockfile

USE CASE 2

Run build or test commands across every repository in a multi-repo project at once

USE CASE 3

Open and track a single feature's pull requests across GitHub, GitLab, and Bitbucket together

What is it built with?

RustTUIGit

How does it compare?

nastwinns/hawserdhkts1/teamclaude-rselofight/emufight
Stars555
LanguageRustRustRust
Setup difficultyeasyeasyhard
Complexity3/52/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min
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.

In plain English

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.

Copy-paste prompts

Prompt 1
Help me write a haw.toml manifest for my multi-repo project and run haw sync
Prompt 2
Show me how to use hawser's cockpit to review pull requests across several repos at once
Prompt 3
Set up a CI drift check using haw verify for my project's repositories

Frequently asked questions

What is hawser?

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.

What language is hawser written in?

Mainly Rust. The stack also includes Rust, TUI, Git.

What license does hawser use?

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.

How hard is hawser to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is hawser for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.