GitSocial

Git-native collaboration platform · 61 items · updated 2026-08-01

  1. 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
  2. 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
  3. 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
  4. commit Static site: render mp4/webm blobs as inline video in the file view
    69af1d34 · main · Max Rakhimov · 2026-07-25
  5. 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
  6. 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
  7. merge gitmsg/release (auto-merged on append-only sync)
    release · Max Rakhimov · 2026-07-19
  8. v0.18.0
    release · release-bot · 2026-07-19
  9. v0.17.2
    release · Max Rakhimov · 2026-07-19
  10. v0.17.1
    release · Max Rakhimov · 2026-07-19
  11. 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
  12. 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
  13. 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
  14. commit Add support for multiple S3 remotes with per-remote credential management
    f3f11ef1 · main · Max Rakhimov · 2026-07-19
  15. commit Support publishing static site to multiple remotes
    83cf3f1e · main · Max Rakhimov · 2026-07-19
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. v0.17.2
    release · release-bot · 2026-07-13
  23. commit Fix prealloc lint in objstore code-index test
    400f18da · main · Max Rakhimov · 2026-07-13
  24. commit Fix push preview permanently counting nested gitmsg state refs as unpushed
    a4ca26c0 · main · Max Rakhimov · 2026-07-13
  25. commit Static site: show a refresh pill when a new push lands while the tab is open
    6394ccf1 · main · Max Rakhimov · 2026-07-13
  26. commit Show immediate and per-branch progress in gitsocial push
    eacc079f · main · Max Rakhimov · 2026-07-13
  27. commit Static site: add "Diff anyway" opt-in for files over the diff size caps
    e0c935df · main · Max Rakhimov · 2026-07-13
  28. commit Static site: search results default to recent-first across types (Group by type toggle restores sections)
    833453f7 · main · Max Rakhimov · 2026-07-13
  29. 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
  30. 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
  31. commit Static site: fast indexed commit graph with branch, tag, and merged-branch labels
    6a9aa764 · main · Max Rakhimov · 2026-07-12
  32. 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
  33. commit Make s3 pushes fast, resumable, and observable
    a26f3a10 · main · Max Rakhimov · 2026-07-12
  34. commit Use default logo color #27134f for the static site default favicon
    58cc970f · main · Max Rakhimov · 2026-07-11
  35. v0.17.1
    release · release-bot · 2026-07-11
  36. commit Static site: show all branch commits on timeline, route relative markdown links and heading anchors
    e534b0ff · main · Max Rakhimov · 2026-07-11
  37. commit Include tags in gitsocial push
    f31dce06 · main · Max Rakhimov · 2026-07-11
  38. commit Ignore .env file
    40aed40e · main · Max Rakhimov · 2026-07-11
  39. v0.17.0
    release · release-bot · 2026-07-11
  40. merge gitmsg/release (auto-merged on append-only sync)
    release · Max Rakhimov · 2026-07-11
  41. v0.16.1
    release · release-bot · 2026-07-11
  42. commit Fetch merged-PR merge commit on import so diffs render on partial clones
    25510adc · main · Max Rakhimov · 2026-07-10
  43. commit Push referenced code from all surfaces: ahead default branch and open-PR heads on push, merged base after pr merge
    91c5ebf7 · main · Max Rakhimov · 2026-07-10
  44. commit Fix import duplicating milestones and re-emitting identical edits
    da215718 · main · Max Rakhimov · 2026-07-10
  45. commit Add browser static site for s3 buckets with sharded v4 artifacts
    16f8e462 · main · Max Rakhimov · 2026-07-09
  46. v0.16.0
    release · release-bot · 2026-07-04
  47. v0.15.0
    release · release-bot · 2026-07-04
  48. commit Isolate XDG_CONFIG_HOME in memo and TUI test suites; fixes CI-only personal-tier leak
    628ef57d · main · Max Rakhimov · 2026-07-04
  49. commit Add scripts/test.sh: streamed per-test progress via a stdlib go test -json formatter
    8be91e24 · main · Max Rakhimov · 2026-07-04
  50. commit Implement sub-issues: parent/root hierarchy with CLI flags, TUI section, and create-child action
    f59f3341 · main · Max Rakhimov · 2026-07-04

README

<div align="center">

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

*Git-native collaboration platform*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitMsg Protocol](https://img.shields.io/badge/GitMsg-v0.1.0-blue)](specs/GITMSG.md)
[![CI](https://github.com/gitsocial-org/gitsocial/actions/workflows/ci.yml/badge.svg)](https://github.com/gitsocial-org/gitsocial/actions/workflows/ci.yml)

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

</div>

## About

GitSocial stores your collaboration data (issues, pull requests, etc) in your repository as commits on `gitmsg/*` branches with [structured trailers](specs/GITMSG.md).

Any S3-compatible bucket can be a git remote via the built-in [`s3://` backend](documentation/S3.md) and can serve a [complete static site](documentation/STATIC-SITE.md) of the repo straight from the bucket.

GitSocial builds your 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 # imports issues, PRs, releases, discussions
gitsocial tui # explore in the terminal
```

Works for S3-compatible buckets too:

```bash
gitsocial clone s3://s3.example.com/mybucket/myrepo
gitsocial remote add s3://s3.example.com/mybucket/myrepo
gitsocial push # publish repo data + a browsable website to the bucket
```

## 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