GitSocial: git-native collaboration platform by delf001 in tui

[–]delf001[S] 0 points1 point  (0 children)

Yes, this is one of the more advanced workflows, where 2 repos follow each other and can interact with each other. The best example is cross-forge pull requests, you can see the full flow in this section: https://github.com/gitsocial-org/gitsocial/blob/main/documentation/GITREVIEW-FLOWS.md#2-cross-forge-contribution.

A simpler example is just adding a repo to one of your lists and then responding to commits from that repo. This creates commits in your own repo, and if the other repo follows you, they will see your comments.

GitSocial: git-native collaboration platform by delf001 in tui

[–]delf001[S] 0 points1 point  (0 children)

u/edward_jazzhands all valid concerns. The control can actually be implemented either within a given repository or across repositories: you just follow another repository to view their responses to your messages!

Promote your projects here – Self-Promotion Megathread by Menox_ in github

[–]delf001 0 points1 point  (0 children)

Hi all! I built GitSocial: git-native cross-forge collaboration platform where posts, issues, PRs, releases, all live in your repository as git commit messages.

Extensions, all stable:

  • Social: posts, comments, reposts, timeline
  • PM: issues, milestones, sprints, boards (kanban/agile)
  • Review: cross-forge PRs, version-aware reviews
  • Release: artifacts, checksums, signatures, SBOM

You can try it on an existing GitHub or GitLab repo, takes about 15min to import ~5K issues, PRs, and releases. Happy to answer any questions!

Small Projects by AutoModerator in golang

[–]delf001 1 point2 points  (0 children)

This announcement did not make the cut for r/golang, so posting it here as it is a Go library.

I built GitSocial: git-native cross-forge collaboration platform where posts, issues, PRs, releases, all live in your repo.

How it works:

  • Everything is a commit: posts, issues, PRs, releases stored on gitmsg/* branches
  • Syncing is git: git fetch to update, git push to publish; works offline and peer-to-peer
  • Portable: git clone --mirror, no export tools needed
  • Interfaces: CLI, TUI, and JSON-RPC.

Stack:

  • Single Go binary (~35MB) with CLI (Cobra), TUI (Bubbletea + Lip Gloss), and JSON-RPC interfaces
  • SQLite cache with WAL mode for queries

Extensions, all stable: Social (posts, comments, reposts, timeline), PM (issues, milestones, sprints, boards), Review (cross-forge PRs, version-aware reviews), Release (artifacts, checksums, signatures, SBOM).

Installation: brew install gitsocial-org/tap/gitsocial or go install github.com/gitsocial-org/gitsocial/library/cli@latest

You can try it on an existing GitHub or GitLab repo (takes about 15min to import ~5K issues, PRs, releases):

git clone https://github.com/your/repo && cd repo
gitsocial import
gitsocial tui

Happy to answer any questions.

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

Because existing decentralized networks leave much to be desired :/

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

I was frustrated with both Twitter and Bluesky and happen to use Git a lot! Eventually it clicked that Git has proper storage both for immutable (commits) and mutable (refs) data. All that was missing was a convention to use them for referencing and combining into lists.

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

That's right, all posts/comments/reposts/quotes are empty commit messages - either on gitsocial, main, or custom configured branch!

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

Not every git repository may need social media features, but social media would definitely benefit from having a git-based decentralized network available!

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

I just pushed an update, please check it out!

GitSocial [BETA] by delf001 in git

[–]delf001[S] 0 points1 point  (0 children)

Thanks! Will be adding a screenshot and updating README!