Building a better developer community experience using Git. Nostr and Flotilla-Budabit
- 1. Repositories Overview
- 2. Branch and Tag View
- 3. Issues Board
- 4. Patch Threads
- 5. Pull Request UX
- 6. Diff and Merge Preview
- 7. Real-time Git Chat
- 8. Notifications and Mentions
- 9. Repository-Wide Search
- 10. Repository Wikis
- 11. Live Coding Sessions
- Supporting Tools
Flotilla-Budabit is fork of Flotilla which aims to provide a first class, git-centric community experience for developers. Based on the popular Coracle client, Flotilla is a drop in replacement for Matrix/Discord/Slack, using a variation of NIP-29. This post is a result of a brainstorming session for features that would deliver the best possible user experience.
1. Repositories Overview
Goal: Browse and discover Git repositories.
- Project cards showing name, description, tags, clone URL.
- Buttons: Star, Watch, Fork.
- Links to discussion channels and activity.
Powered by:
kind:30617
2. Branch and Tag View
Goal: Show active branches and tags with latest commits.
- Branch/tag selector
- HEAD pointer visualization
- Timeline of commits
Powered by:
kind:30618
3. Issues Board
Goal: Track bugs, discussions, and feature requests.
- Markdown issue rendering
- Labels and status indicators
- Threaded comments
Powered by:
kind:1621, kind:1630–1632
4. Patch Threads
Goal: View and discuss patches as threaded conversations.
- Rich patch preview
- Reply threads for review
- Revision tracking
Powered by:
kind:1617, kind:1630–1633, NIP-10
5. Pull Request UX
Goal: Display patch series as PR-style units.
- Patch stack visualization
- Merge/apply status indicators
- Final result commit link
Powered by:
kind:1617, kind:1631, merge-commit, applied-as-commits
6. Diff and Merge Preview
Goal: Side-by-side comparison with inline comments.
- Expandable diff viewer
- Merge conflict resolution UI
- Apply/Close buttons
Powered by:
kind:1622, parent-commit, commit
7. Real-time Git Chat
Goal: Communicate in real-time around a repo.
- Dedicated chat channels for each repo
- Markdown, code snippets, and tagging support
- Pinned patches, issues, and sessions
Powered by:
NIP-29, a:30617, kind:1337
8. Notifications and Mentions
Goal: Alert users to relevant events.
- Mentions, assignments, and status changes
- Personal notification pane
Powered by:
p tags, mention e-tags
9. Repository-Wide Search
Goal: Search patches, issues, snippets.
- Full-text search with filters
- Search by kind, label, commit ID
Powered by:
kind:1617, 1621, 1337, t, x, l, subject
10. Repository Wikis
Goal: Collaboratively edit and view project documentation.
- Wiki sidebar tab
- Markdown articles with versioning
- Linked inline in chat
Powered by (proposed):
kind:1341 (Wiki article)
kind:30617 with wiki-home tag
11. Live Coding Sessions
Goal: Host real-time collaborative coding events.
/livecodestarts a session thread- Snippets auto-tagged to session
- Export as patch or wiki
Powered by (proposed):
kind:1347 (Live coding session)
kind:1337, kind:1622, kind:1341
Supporting Tools
1. GitHub Browser Extension
Goal: Publish GitHub content to Nostr directly.
- “Share on Nostr” buttons on PRs, issues, commits
Backed by:
kind:1623, 1622, 1617, 1621
2. VS Code Extension
Goal: Enable developers to interact with Flotilla from their IDE.
- Repo feed, patch submission, issue tracking
- Inline threads and comment rendering
Backed by:
kind:1617, 1621, 1337, 163x
3. GitHub Actions Integration
Goal: Automate Nostr publishing of repo activity.
- Push = repo state
- PR = patch
- Issue/Comment = issue
- Merge = status update
Backed by:
kind:30618, 1617, 1621, 1631
Configured via .nostr.yml