README

GitSocial

Git-native collaboration platform


GitSocial is an open source Go binary that stores issues, pull requests, comments and other data in git. It can push that data to your own S3 bucket, which then serves as both a git remote and a static site. GitSocial.org runs this way.

Each issue, pull request or comment is a commit with GitMsg trailers on a gitmsg/* branch. The GitSocial CLI and TUI can create and browse these items (demo).

Install

GitSocial needs git 2.38 or later.

macOS / Linux with Homebrew

brew trust gitsocial-org/tap
brew install gitsocial-org/tap/gitsocial

Windows

scoop bucket add gitsocial https://github.com/gitsocial-org/scoop-bucket.git
scoop install gitsocial

Other

  • Install script: curl -fsSL https://gitsocial.org/install.sh | sh
  • Go: go install github.com/gitsocial-org/gitsocial/cli/gitsocial@latest
  • Binary: download from the releases page

Quick Start

Before the first mirror or push, enable public access for the bucket in the dashboard of the provider.

Mirror a project

gitsocial mirror https://github.com/owner/repo s3://s3.example.com/mybucket/repo    # first run asks for credentials

On a large repository, try -n 100 first to limit the items per type. --url https://example.org/ enables the HTML pages at a domain that you configure in the same dashboard.

Explore a repository in the terminal

Clone the repository from GitHub or GitLab, then run these commands in the repository directory:

gitsocial import     # import issues, pull requests, releases and discussions
gitsocial tui        # explore in the terminal
gitsocial serve      # show the site in the browser

Host your own repository on a bucket

gitsocial config credentials set s3.example.com    # paste the access key and the secret key
gitsocial remote add s3://s3.example.com/mybucket/myrepo --default --site
gitsocial push

Anyone can then clone it with gitsocial clone s3://s3.example.com/mybucket/myrepo, or with git clone from the public URL of the bucket.

Documentation

Core

DocumentDescription
GitMsg ProtocolCore message format, headers, refs, versioning
S3 RemoteBuckets as git remotes, clone, push, thin fork buckets
Static SiteRepository website served from the bucket: timeline, issues, pull requests, releases, code
Identity VerificationAttestation sources, commands, caching
NotificationsNotification types, scopes, and triggers
SettingsUser preferences, keys, personal sync across machines

Extensions

DocumentDescriptionSpec
SocialPosts, comments, lists, timeline, followersGitSocial
PMIssues, milestones, sprints, labels, boardsGitPM
ReviewPull requests, feedback, forks, version tracking, cross-forge scenariosGitReview
ReleaseReleases, artifacts, checksums, signatures, SBOMGitRelease
MemoTiered memos for knowledge as commits—

Clients

DocumentDescription
CLICommands, flags, output formats
TUIPer-view layouts, keybindings
JSON-RPCClient integration over stdio
Agent SkillAI-assisted workflows for Claude Code, Cursor, and other agents

Development

DocumentDescription
ContributingFork, build, submit a pull request, report a bug
ArchitectureLayers, packages, cache schema, TUI structure
StyleProse, help text, errors, comments, commits
TestingTest tiers, check stages, coverage, supported platforms

License

MIT