The hub for cross-repository development

One feature. Many repositories. One bundle.

KnitHub is the hosted home for Knit bundles — the cross-repo equivalent of a Git branch. When a feature spans your backend, frontend, and docs repositories, a bundle keeps its branches, commits, pull requests, reviews, and landing plan together as one unit of work.

No account needed to browse public projects, bundles, and profiles.

one feature, three repos
$ knit bundle "checkout flow"
created knit/checkout-flow in backend, frontend, docs

$ knit commit --all -m "Add checkout flow"
[backend 3f2a1c9] [frontend 8b04d2e] [docs 51c7e03]

$ knit publish create
backend  → PR #214 · frontend → PR #98 · docs → PR #41

$ knit land apply
✓ merged in order · checks green · deploy steps ran

The core idea

What is a bundle?

Modern features rarely fit inside a single repository — but Git branches, pull requests, and reviews all do. Bundles fix that mismatch.

A branch that spans repositories

A bundle is what a Git branch would be if it understood that your change touches several repositories at once. Creating one gives every involved repo its own feature branch and isolated worktree, while Knit records the whole thing as a single ledger of cross-repo commits.

Authored locally with Knit

You work with the open-source Knit CLI: stage, diff, and commit across repos with one command, then push the bundle here. Git stays the source of truth — Knit adds the cross-repo coordination layer on top.

Reviewed and landed on KnitHub

KnitHub renders each bundle as one reviewable unit: every commit group, every pull request, live CI and review state, and a landing plan that merges the PRs in the right order — instead of N disconnected PRs someone has to merge by hand, in their heads.

Features

Everything a multi-repo change needs

From the first branch to the final merge and deploy, the bundle stays one coherent thing.

Cross-repo bundles

Branch, commit, and track a feature across any number of Git repositories as one unit, with per-repo worktrees and a shared history ledger.

Coordinated pull requests

Publish the bundle's pull requests to GitHub together and watch their live state — checks, reviews, mergeability — side by side on one page.

Safe, ordered landing

Landing plans merge PRs in dependency order, gate on required checks, run deployment steps, and roll back when something fails mid-flight.

Cross-repo review with Gloss

Gloss reads a bundle and prepares a guided review: ranked reading order, explanations, and diffs that show companion changes across repos together.

Bundle runtimes

Spin up the whole stack from a bundle's worktrees — isolated Docker Compose project, allocated ports, its own database — to try a feature before it lands.

Activity across forges

Contribution graphs and profiles built from verified authorship across the forges you actually use, not just one host's view of your work.

How it works

From git clone to landed in three steps

Knit owns authoring on your machine. KnitHub is where the bundle becomes visible, reviewable, and landable.

  1. 1

    Install Knit and describe your repos

    Knit is a single open-source CLI. A project is a reusable template listing the repositories a feature usually touches.

    brew tap marc-merino/knit && brew install knit
    
    knit init my-platform
    knit project add backend ../backend
    knit project add frontend ../frontend
  2. 2

    Work in a bundle

    Create a bundle like you would a branch. Every repo gets its own feature branch and worktree; one command stages and commits across all of them.

    knit bundle "checkout flow"
    # ...edit code in the bundle's worktrees...
    knit commit --all -m "Add checkout flow"
  3. 3

    Push it to KnitHub

    Push the bundle's branches and artifact to KnitHub. It shows up in your dashboard with diffs, PRs, review state, and a landing plan.

    knit push --remote knithub
    knit publish create   # open the PRs together
    knit land apply       # merge in order, deploy

Open source

The Knit CLI is free and open source

Everything KnitHub displays is produced by an open CLI working against plain Git repositories. No lock-in: your branches, commits, and PRs live on your forge, and the bundle artifact is documented JSON.

Knit on GitHub
# macOS / Linux
brew tap marc-merino/knit && brew install knit

# or from crates.io (binary is `knit`)
cargo install knit-cli --version 0.1.0-alpha.1

FAQ

Frequently asked questions

Do I need an account to browse KnitHub?

No. Public projects, bundles, and user and organization profiles are browsable without signing in — start from the Explore page. An account (GitHub sign-in) is only needed to push your own bundles, manage projects, and land pull requests.

Does KnitHub replace GitHub?

No. Your repositories, branches, and pull requests stay on GitHub. Knit opens ordinary PRs there and KnitHub coordinates them — grouping the PRs of one feature, tracking their live state, and merging them in order when you land.

How is a bundle different from a monorepo?

A monorepo solves cross-cutting changes by putting everything in one repository. A bundle gives you the same single-unit workflow — one branch-like object, one review, one landing — while your code stays in separate repositories with their own history, access, and CI.

What is Gloss?

Gloss is the review companion to Knit. It reads a bundle and prepares a cross-repo review plan: a ranked reading order, explanations of each commit group, and diff views that keep companion changes from different repositories together.

Is Knit open source?

Yes. The Knit CLI is open source and installable via Homebrew or crates.io. It works against plain Git repositories, and the bundle artifact it produces is documented JSON, so your workflow is portable.

Stop reviewing one feature as five pull requests

Sign in with GitHub to push your first bundle, or look around first — the Explore page is open to everyone.