Commit 0c587b6a74

0c587b6a746083fa478ac9995c64c29cfd9c324a

parent: f92774345d

Verified · cmc

cmc <hello@cleberg.net> · 2026-08-24 14:56 UTC

docs: roadmap

Layout: unified · split

README.org +1
@@ -105,6 +105,7 @@ via =gitbay man=, completions via =gitbay completion <shell>=.
105- [[file:docs/users.org][user guide]] — accounts, keys, verified commits, repos, issues, MRs, scripting 105- [[file:docs/users.org][user guide]] — accounts, keys, verified commits, repos, issues, MRs, scripting
106- [[file:docs/admin.org][admin guide]] — install, full configuration reference, backup/restore, upgrades 106- [[file:docs/admin.org][admin guide]] — install, full configuration reference, backup/restore, upgrades
107- [[file:docs/api.org][API and webhooks]] — the JSON API contract, tokens, webhook payloads and HMAC 107- [[file:docs/api.org][API and webhooks]] — the JSON API contract, tokens, webhook payloads and HMAC
108- [[file:docs/roadmap.org][roadmap]] — status, phased plan, and what is deliberately not planned
108 109
109* Development 110* Development
110 111
docs/roadmap.org added +98
@@ -0,0 +1,98 @@
1#+title: gitbay roadmap
2
3Status and direction as of 2026-08-24. Issue numbers reference this
4repository's tracker; this file is the narrative, the tracker is the
5truth.
6
7* Where things stand
8
9Everything in the original plan is built, tested end-to-end against real
10git/ssh/sshd/gpg, and running in production at gitbay.org: the SSH
11control plane (usable from bare OpenSSH, enforced by test), git over
12SSH/HTTPS/git://, signature verification with six states and epoch
13caching, protected branches and =require_signed_commits= (push-time and
14merge-time), issues, merge requests with four merge strategies, orgs
15with membership-derived access, rename/transfer, repo import, invite and
16open registration with SMTP verification, ACME TLS, the read-only and
17accounts web modes, the JSON API fronting the whole command registry,
18signed webhooks with retries and dead-lettering, restore-tested backups,
19the =gitbay= CLI, and docs. The instance hosts 65 repositories including
20this one, and its own development already runs through its issues and
21merge requests.
22
23What it is today: an excellent forge for its author and for CLI-native
24individuals. What it is not yet: a forge a GitHub-habituated *team*
25would stay on, or a project outsiders can easily run themselves.
26
27* Phase 1 — collaboration credibility
28
29Goal: a second contributor works here for a week and misses nothing they
30would act on. These compound: statuses gate merges, notifications close
31the feedback loop, inline comments make review real.
32
33- [[https://gitbay.org/krz/gitbay/issues/22][#22]] deploy keys — smallest item, unblocks CI checkout; the scope
34 already exists in the policy layer
35- [[https://gitbay.org/krz/gitbay/issues/1][#1]] commit statuses API and MR check display
36- [[https://gitbay.org/krz/gitbay/issues/3][#3]] email notifications for issue/MR activity
37- [[https://gitbay.org/krz/gitbay/issues/2][#2]] inline review comments on MR diffs
38- [[https://gitbay.org/krz/gitbay/issues/19][#19]] required approvals and CODEOWNERS (builds on #1 and #2)
39
40* Phase 2 — a product, not a debug view
41
42Goal: the site looks and reads like something you would recommend.
43Mostly web-layer; descriptions and profiles already landed as the first
44step.
45
46- [[https://gitbay.org/krz/gitbay/issues/10][#10]] design revamp (umbrella: tokens, typography, identity, mobile)
47- [[https://gitbay.org/krz/gitbay/issues/6][#6]] cross-references (#N) and @mentions
48- [[https://gitbay.org/krz/gitbay/issues/23][#23]] archived repos and topics
49- [[https://gitbay.org/krz/gitbay/issues/24][#24]] blame view
50- [[https://gitbay.org/krz/gitbay/issues/7][#7]] search (repo-name filter first; code search later)
51- [[https://gitbay.org/krz/gitbay/issues/20][#20]] milestones and issue templates
52
53* Phase 3 — other people's forges
54
55Goal: someone who is not the author runs an instance and moves their
56work to it.
57
58- [[https://gitbay.org/krz/gitbay/issues/26][#26]] release engineering: versioned builds, go-install vanity
59 imports, Homebrew/deb — the adoption gate for everything below
60- [[https://gitbay.org/krz/gitbay/issues/27][#27]] repository maintenance (admin gc/stats, scheduled repack)
61- [[https://gitbay.org/krz/gitbay/issues/8][#8]] releases (notes + assets; also hosts gitbay's own binaries)
62- [[https://gitbay.org/krz/gitbay/issues/17][#17]] issue/PR history import from GitHub
63- [[https://gitbay.org/krz/gitbay/issues/18][#18]] push/pull mirroring for gradual migration
64- [[https://gitbay.org/krz/gitbay/issues/14][#14]] audit logging and multi-user hardening
65- [[https://gitbay.org/krz/gitbay/issues/9][#9]] web signup for open/invite instances
66
67* Phase 4 — reach
68
69Bigger bets, each valuable independently; order by appetite.
70
71- [[https://gitbay.org/krz/gitbay/issues/13][#13]] CI/CD via external runners (after #1; the forge never executes
72 repository content)
73- [[https://gitbay.org/krz/gitbay/issues/16][#16]] Git LFS
74- [[https://gitbay.org/krz/gitbay/issues/15][#15]] static page hosting (needs the separate-origin decision)
75- [[https://gitbay.org/krz/gitbay/issues/11][#11]] iOS app (hutch-based) and [[https://gitbay.org/krz/gitbay/issues/12][#12]] Android
76- [[https://gitbay.org/krz/gitbay/issues/21][#21]] teams within orgs
77- [[https://gitbay.org/krz/gitbay/issues/25][#25]] wikis
78
79* Explicitly not planned
80
81Recorded so their absence reads as a decision, not an oversight:
82
83- container/package registry — scope creep away from "forge"; external
84 registries integrate via CI
85- email patch flow — revisit only if sourcehut-style demand appears
86- federation (ForgeFed) and Postgres — no current need at this scale
87
88* Open questions
89
90- **What is gitbay.org?** Today: the author's personal forge and the
91 project's home. Options: keep it closed (flagship demo), invite-only
92 for collaborators, or eventually open registration (which pulls #14,
93 #9, and rate limiting forward). No decision needed until Phase 1
94 lands.
95- **Versioning**: nothing is tagged. Suggest cutting v0.1.0 with #26 and
96 adopting semver for the protocol_version relationship.
97- **Second-contributor readiness**: CONTRIBUTING notes, and whether MRs
98 from outside collaborators imply moving gitbay.org to invite mode.