Git-native collaboration platform
About · Installation · Quick Start · Documentation · Contributing
GitSocial is a CLI/TUI Go binary that stores issues, PRs, and other collaboration in git itself, as commits with structured trailers on gitmsg/* branches.
A single idempotent command mirrors a project from GitHub or other hosts to an S3-compatible bucket you own; the bucket serves a complete static site of the project (code, timeline, issues, releases, etc.), and doubles as a plain git clone source:
gitsocial mirror https://github.com/owner/repo s3://<endpoint>/<bucket>/<prefix>
GitSocial.org is served this way. The forge becomes optional: issues, PRs, releases, and posts can be created with the CLI/TUI (demo) and pushed like any other commits, and other repositories followed through a timeline.
brew trust gitsocial-org/tap
brew install gitsocial-org/tap/gitsocial
Or using installation script
curl -fsSL https://gitsocial.org/install.sh | sh
scoop bucket add gitsocial https://github.com/gitsocial-org/scoop-bucket.git
scoop install gitsocial
go install github.com/gitsocial-org/gitsocial/cli/gitsocial@latest
Or download a binary from releases.
gitsocial mirror https://github.com/owner/repo s3://<endpoint>/<bucket>/<prefix> --url https://your-domain/
--url is the site's public address. mirror asks for the bucket credentials on first run; public access and the domain are one-time provider-dashboard steps. On a large repository try -n 100 first (all flags).
Clone it from GitHub or any host, then from the project directory:
gitsocial import # import issues, PRs, etc
gitsocial tui # explore in the terminal
gitsocial config credentials set s3.example.com # paste the access + secret key
gitsocial remote add s3://s3.example.com/mybucket/myrepo --default --site
gitsocial push
Anyone can then fetch it with gitsocial clone s3://s3.example.com/mybucket/myrepo, or with plain git clone from the bucket's public URL.
| Document | Description |
|---|---|
| GitMsg Protocol | Core message format, headers, refs, versioning |
| S3 Remote | Buckets as git remotes, canonical URLs |
| Static Site | Repo website served from the bucket: timeline, issues, PRs, releases, code |
| Identity Verification | Decentralized trust model, attestation sources, caching |
| Notifications | Notification types, scopes, and triggers |
| Document | Description | Spec |
|---|---|---|
| Social | Posts, comments, lists, timeline, followers | GitSocial |
| PM | Issues, milestones, sprints, labels, boards | GitPM |
| Review | Pull requests, feedback, forks, version tracking, cross-forge scenarios | GitReview |
| Release | Releases, artifacts, checksums, signatures, SBOM | GitRelease |
| Memo | Tiered memos for knowledge as commits | — |
| Document | Description |
|---|---|
| Agent Skill | AI-assisted workflows for Claude Code, Cursor, and other agents |
| TUI | Per-view layout diagrams (see also keybindings) |
| CLI | Commands, flags, output formats |
| JSON-RPC | Client integration over stdio |
Platform issues and PRs are disabled on all mirrors. GitSocial uses its own tools for collaboration.
git clone https://your-host.com/you/gitsocialgit checkout -b feature/my-change # make changes, commit
gitsocial review pr create \
--base main \
--head feature/my-change \
"Short description of change"
git push origin feature/my-change # push your branch
gitsocial push # push PR metadata
After your first push, request fork registration in the Matrix room so maintainers can discover your PRs and issues.
See Review for the full cross-forge PR workflow.
gitsocial pm issue create "Bug: description"
gitsocial push
For quick questions or discussion, use the Matrix room.