tw
Twigg CLI for trunk-based version control and stacked commits
TLDR
SYNOPSIS
tw [command] [args...]
DESCRIPTION
tw is the command-line client for Twigg, an open-source version control system and software forge (not a Git wrapper) built for closed-team collaboration. The default workflow is trunk-based development with small stacked commits: each change is a short-lived commit reviewed and submitted independently, stacking on parents rather than long feature branches.The CLI manages a local commit graph with local ids (#N) and versions (vM), server ids (c/N), and a current commit (@). Day-to-day flow is edit → tw commit → tw push for review, tw pull to update, and tw rebase when restacking. Hierarchical OWNERS, integrated code review, and path-filtered CI/CD are first-class on the server side.Install prebuilt binaries from twigg.vc (Linux, macOS Intel/Apple Silicon, Windows) or build with Go: cd tw && go install from the monorepo. Hosted service at https://twigg.vc; optional Git mirror for interoperability. Source and server components are AGPL-3.0.
PARAMETERS
init
Initialize Twigg metadata in the current directory.clone user/repo
Clone a repository from the Twigg server (prompts for a CLI key if needed).key CLIKEY_
Store the authentication key from user settings (tw_key_...).commit title
Snapshot tracked files into a new local commit with the given title.push
Push the current commit and unsubmitted parents until a commit already on the server is reached. May trigger path-based CI.pull [servercommit_]
Pull submitted commits, or a specific pending server commit (server id syntax, e.g. c/7).rebase [source] target
Rebase source (default: current commit @) onto target. Descendants are rebased automatically. Conflicts produce conflicted commits to resolve with amend rather than aborting mid-stack.st, status
Working-tree and conflict status.amend
Create a new version of the current commit after editing (including conflict resolution).restore, load, server, ci-list
Restore a previous commit version; load files without committing; set server repository URL; list CI configs that would run for the current commit. See official docs for full flags.-a
With the default stack view, show all commit versions / history edges (e.g. rebase lineage).version, -v
Print the CLI version.
CAVEATS
Not compatible with Git commands in the same working tree model—Twigg is a separate VCS. Authentication uses a generated CLI key, not SSH by default. Conflicted rebases create conflict-bearing commits that block some operations until amend resolves them. Self-hosting and local builds need the full monorepo stack (Go, and for servers: node, docker/LXD as applicable). Public repositories were not supported on the hosted forge at first release (GitHub is used as a read-only source mirror for Twigg itself).
HISTORY
Developed as a from-scratch VCS and forge emphasizing big-tech-style trunk-based stacked workflows. Released as open source under AGPL-3.0 with documentation at twigg.vc/docs. Production use reported for the project's own development and partner companies.