GitSocial

Git-native collaboration platform · 63 items · updated 2026-08-02

  1. v0.19.1
    release · Max Rakhimov · 2026-08-02
  2. commit Docs: request-budget regression fails the test suite, not CI
    593ed9c9 · main · Max Rakhimov · 2026-08-02
  3. commit S3 docs: clone example with http.maxRequests for fast dumb-HTTP clones
    382636ff · main · Max Rakhimov · 2026-08-02
  4. commit Objstore: retry S3 requests on transport errors (stale keep-alive broke large sequential artifact uploads)
    25526d6a · main · Max Rakhimov · 2026-08-02
  5. commit Release driver: push the annotated tag to GitHub before goreleaser so the release never creates a conflicting lightweight tag
    5529fb62 · main · Max Rakhimov · 2026-08-02
  6. v0.19.0
    release · Max Rakhimov · 2026-08-02
  7. commit Release driver: strip ambient non-GitHub forge tokens before goreleaser (multiple-tokens guard)
    79465862 · main · Max Rakhimov · 2026-08-02
  8. commit S3: serve git dumb-HTTP clone from the bucket layout
    03b49d78 · main · Max Rakhimov · 2026-08-02
  9. commit Static site: keep card titles on the bullet line
    a145cd1c · main · Max Rakhimov · 2026-08-02
  10. commit Static site: gate the SPA takeover on pages-ap
    1e9dedab · main · Max Rakhimov · 2026-08-01
  11. commit Clean up README.md
    ac920e2a · main · Max Rakhimov · 2026-08-01
  12. commit Release driver: GITSOCIAL_ARTIFACT_BASE overrides the record's artifact-url base
    1eaadc96 · main · Max Rakhimov · 2026-08-01
  13. commit Static site: add media-src 'self' blob: to the page/shell CSP so in-bucket mp4/webm play as inline <video>
    276cedaa · main · Max Rakhimov · 2026-08-01
  14. commit Remove the GitHub Pages site and all CI: delete docs/, .github/, codecov.yml and the README CI badge; move the theme-aware favicon to documentation/images; rewrite SIGNING.md and ARCHITECTURE.md for the local release driver
    f65b1cbc · main · Max Rakhimov · 2026-07-28
  15. commit Change scripts/release.sh into the idempotent local release driver; add gitsocial site put for root-key uploads like install.sh
    89f2bfde · main · Max Rakhimov · 2026-07-28
  16. commit Prepare bucket install path: scripts/install.sh resolves and downloads from gitsocial.org/artifacts, README links the demo video, foreign-root-key survival test
    971422e1 · main · Max Rakhimov · 2026-07-25
  17. commit Static site: render mp4/webm blobs as inline video in the file view
    69af1d34 · main · Max Rakhimov · 2026-07-25
  18. commit Add release artifacts push: publish artifacts to the s3 remote under artifacts/<version>/ with latest.txt; artifacts list/export fall back to artifact-url
    03d7c54c · main · Max Rakhimov · 2026-07-25
  19. commit Fix release workspace sync clobbering edit-propagated fields (raw rows re-inserted after their edit was applied)
    b9e5e97f · main · Max Rakhimov · 2026-07-25
  20. merge gitmsg/release (auto-merged on append-only sync)
    release · Max Rakhimov · 2026-07-19
  21. v0.18.0
    release · release-bot · 2026-07-19
  22. v0.17.2
    release · Max Rakhimov · 2026-07-19
  23. v0.17.1
    release · Max Rakhimov · 2026-07-19
  24. commit Static site: allow 'unsafe-eval' in the page/shell CSP so the lazy grammar loader actually runs in browsers (pages v3)
    5dd8c1e7 · main · Max Rakhimov · 2026-07-19
  25. commit Static site: vendor 31 more Prism 1.30.0 grammars and add filename-based language detection (basename map fixes Dockerfile/Makefile highlighting)
    4b91a9db · main · Max Rakhimov · 2026-07-19
  26. commit Upgrade seam: set Prism.manual before loading prism.js so the boot path never auto-highlights the static page
    6eec0846 · main · Max Rakhimov · 2026-07-19
  27. commit Add support for multiple S3 remotes with per-remote credential management
    f3f11ef1 · main · Max Rakhimov · 2026-07-19
  28. commit Support publishing static site to multiple remotes
    83cf3f1e · main · Max Rakhimov · 2026-07-19
  29. commit Static site: Atom feed (feed.xml) of newest top-level items with autodiscovery link, maintained by the page layer
    362d8a8e · main · Max Rakhimov · 2026-07-19
  30. commit Fix static site graph: single-line ellipsis chips with +N overflow so long branch tips can't mangle rows
    c412cd77 · main · Max Rakhimov · 2026-07-18
  31. commit Locals3: serve the pushed site browsably on the same port (extension Content-Type, trailing-slash index) and default to 127.0.0.1:9000
    7deb42f7 · main · Max Rakhimov · 2026-07-18
  32. commit Push/S3: respect the explicit remote in unpushed counting and code-branch resolution; accept host:port s3 endpoint hosts, with loopback defaulting to http + path-style
    a0eb63d7 · main · Max Rakhimov · 2026-07-18
  33. commit Static site: HTML pages for items and lists (README front page, sitemap) + automatic SPA upgrade, gated by site.publish/site.pages
    4c0c58fb · main · Max Rakhimov · 2026-07-13
  34. commit Static site: milestone-shaped tag page (tag header, member-row commits since previous tag, diff vs previous tag)
    ff466ac7 · main · Max Rakhimov · 2026-07-13
  35. v0.17.2
    release · release-bot · 2026-07-13
  36. commit Fix prealloc lint in objstore code-index test
    400f18da · main · Max Rakhimov · 2026-07-13
  37. commit Fix push preview permanently counting nested gitmsg state refs as unpushed
    a4ca26c0 · main · Max Rakhimov · 2026-07-13
  38. commit Static site: show a refresh pill when a new push lands while the tab is open
    6394ccf1 · main · Max Rakhimov · 2026-07-13
  39. commit Show immediate and per-branch progress in gitsocial push
    eacc079f · main · Max Rakhimov · 2026-07-13
  40. commit Static site: add "Diff anyway" opt-in for files over the diff size caps
    e0c935df · main · Max Rakhimov · 2026-07-13
  41. commit Static site: search results default to recent-first across types (Group by type toggle restores sections)
    833453f7 · main · Max Rakhimov · 2026-07-13
  42. commit Static site: order the commit graph topologically (no phantom lanes on rebased history) and include code commits in search
    6d1aa236 · main · Max Rakhimov · 2026-07-12
  43. commit Support git push --force-with-lease on s3 remotes: implement the remote-helper cas option, enforced inside both ref-mode CAS loops.
    2c84c0c8 · main · Max Rakhimov · 2026-07-12
  44. commit Static site: fast indexed commit graph with branch, tag, and merged-branch labels
    6a9aa764 · main · Max Rakhimov · 2026-07-12
  45. commit Add push remote selection and publish-by-default: config + picker, site-in-push, --all, empty-remote bootstrap
    6764ffb2 · main · Max Rakhimov · 2026-07-12
  46. commit Make s3 pushes fast, resumable, and observable
    a26f3a10 · main · Max Rakhimov · 2026-07-12
  47. commit Use default logo color #27134f for the static site default favicon
    58cc970f · main · Max Rakhimov · 2026-07-11
  48. v0.17.1
    release · release-bot · 2026-07-11
  49. commit Static site: show all branch commits on timeline, route relative markdown links and heading anchors
    e534b0ff · main · Max Rakhimov · 2026-07-11
  50. commit Include tags in gitsocial push
    f31dce06 · main · Max Rakhimov · 2026-07-11

README

<div align="center">

<img src="documentation/images/gitsocial-icon.png" width="120" height="120">
<h1>GitSocial</h1>

*Git-native collaboration platform*

[About](#about) • [Installation](#installation) • [Quick Start](#quick-start) • [Documentation](#documentation)

</div>

## About

GitSocial is a CLI/TUI Go binary that stores everything in git:

- Saves issues, PRs, etc., in the repository itself, as commits on `gitmsg/*` branches with [structured trailers](specs/GITMSG.md).
- Needs only an S3-compatible bucket to host the repository via the built-in [`s3://` backend](documentation/S3.md) and to serve a [complete static site](documentation/STATIC-SITE.md) of it straight from the bucket, like [gitsocial.org](https://gitsocial.org).
- Builds a timeline from repositories added to [lists](specs/GITMSG.md#2-lists) or registered as [forks](documentation/REVIEW.md#forks).

[Watch TUI demo →](documentation/demo/demo.mp4)

## Installation

#### macOS / Linux with Homebrew

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

Or using installation script

```bash
curl -fsSL https://gitsocial.org/install.sh | sh
```

#### Windows
```bash
scoop bucket add gitsocial https://github.com/gitsocial-org/scoop-bucket.git
scoop install gitsocial
```

#### Go
```bash
go install github.com/gitsocial-org/gitsocial/cli/gitsocial@latest
```

Or download a binary from [Releases](https://github.com/gitsocial-org/gitsocial/releases/latest).

## Quick Start

Clone your project from GitHub or any host, then from your project directory:

```bash
gitsocial import # import issues, PRs, etc
gitsocial tui # explore in the terminal
```

Works for S3-compatible buckets too:

```bash
gitsocial clone s3://s3.example.com/mybucket/myrepo

# or push to a bucket and publish a static site
gitsocial remote add s3://s3.example.com/mybucket/myrepo
gitsocial push
```

## Documentation

### Concepts

| Document | Description |
|----------|-------------|
| [GitMsg Protocol](specs/GITMSG.md) | Core message format, headers, refs, versioning |
| [S3 Remote](documentation/S3.md) | Buckets as git remotes, canonical URLs |
| [Static Site](documentation/STATIC-SITE.md) | Repo website served from the bucket: timeline, issues, PRs, releases, code |
| [Identity Verification](documentation/IDENTITY.md) | Decentralized trust model, attestation sources, caching |
| [Notifications](documentation/NOTIFICATIONS.md) | Notification types, scopes, and triggers |

### Extensions

| Document | Description | Spec |
|----------|-------------|------|
| [Social](documentation/SOCIAL.md) | Posts, comments, lists, timeline, followers | [GitSocial](specs/GITSOCIAL.md) |
| [PM](documentation/PM.md) | Issues, milestones, sprints, labels, boards | [GitPM](specs/GITPM.md) |
| [Review](documentation/REVIEW.md) | Pull requests, feedback, forks, version tracking, cross-forge scenarios | [GitReview](specs/GITREVIEW.md) |
| [Release](documentation/RELEASE.md) | Releases, artifacts, checksums, signatures, SBOM | [GitRelease](specs/GITRELEASE.md) |
| [Memo](documentation/MEMO.md) | Tiered memos for knowledge as commits | — |

### Clients

| Document | Description |
|----------|-------------|
| [Agent Skill](https://github.com/gitsocial-org/gitsocial-agent-skill) | AI-assisted workflows for Claude Code, Cursor, and other agents |
| [TUI](documentation/TUI-DIAGRAMS.md) | Per-view layout diagrams (see also [keybindings](documentation/TUI-KEYS.md)) |
| [CLI](documentation/CLI.md) | Commands, flags, output formats |
| [JSON-RPC](documentation/RPC.md) | Client integration over stdio |

## Contributing

Platform issues and PRs are disabled on all mirrors. GitSocial uses its own tools for collaboration.

### Getting Started

1. Install GitSocial (see [Installation](#installation))
2. Fork the repository on any host (GitHub, GitLab, Codeberg, or self-hosted)
3. Clone your fork: `git clone https://your-host.com/you/gitsocial`
4. Read [Architecture](documentation/ARCHITECTURE.md) for system design, packages, and cache layout

### Submitting Pull Requests

```bash
git 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](https://matrix.to/#/!uZYlsFjjQgPmSBYJaY:matrix.org?via=matrix.org) so maintainers can discover your PRs and issues.

See [Review](documentation/REVIEW.md) for the full cross-forge PR workflow.

### Reporting Bugs & Requesting Features

```bash
gitsocial pm issue create "Bug: description"
gitsocial push
```

For quick questions or discussion, use the [Matrix room](https://matrix.to/#/!uZYlsFjjQgPmSBYJaY:matrix.org?via=matrix.org).

## License

[MIT](LICENSE)