Commit 0c587b6a74
Verified · cmc
Layout: unified · split
README.org +1
| @@ -105,6 +105,7 @@ via =gitbay man=, completions via =gitbay completion <shell>=. | ||
| 105 | 105 | - [[file:docs/users.org][user guide]] — accounts, keys, verified commits, repos, issues, MRs, scripting |
| 106 | 106 | - [[file:docs/admin.org][admin guide]] — install, full configuration reference, backup/restore, upgrades |
| 107 | 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 | 110 | * Development |
| 110 | 111 | |
docs/roadmap.org added +98
| @@ -0,0 +1,98 @@ | ||
| 1 | #+title: gitbay roadmap | |
| 2 | ||
| 3 | Status and direction as of 2026-08-24. Issue numbers reference this | |
| 4 | repository's tracker; this file is the narrative, the tracker is the | |
| 5 | truth. | |
| 6 | ||
| 7 | * Where things stand | |
| 8 | ||
| 9 | Everything in the original plan is built, tested end-to-end against real | |
| 10 | git/ssh/sshd/gpg, and running in production at gitbay.org: the SSH | |
| 11 | control plane (usable from bare OpenSSH, enforced by test), git over | |
| 12 | SSH/HTTPS/git://, signature verification with six states and epoch | |
| 13 | caching, protected branches and =require_signed_commits= (push-time and | |
| 14 | merge-time), issues, merge requests with four merge strategies, orgs | |
| 15 | with membership-derived access, rename/transfer, repo import, invite and | |
| 16 | open registration with SMTP verification, ACME TLS, the read-only and | |
| 17 | accounts web modes, the JSON API fronting the whole command registry, | |
| 18 | signed webhooks with retries and dead-lettering, restore-tested backups, | |
| 19 | the =gitbay= CLI, and docs. The instance hosts 65 repositories including | |
| 20 | this one, and its own development already runs through its issues and | |
| 21 | merge requests. | |
| 22 | ||
| 23 | What it is today: an excellent forge for its author and for CLI-native | |
| 24 | individuals. What it is not yet: a forge a GitHub-habituated *team* | |
| 25 | would stay on, or a project outsiders can easily run themselves. | |
| 26 | ||
| 27 | * Phase 1 — collaboration credibility | |
| 28 | ||
| 29 | Goal: a second contributor works here for a week and misses nothing they | |
| 30 | would act on. These compound: statuses gate merges, notifications close | |
| 31 | the 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 | ||
| 42 | Goal: the site looks and reads like something you would recommend. | |
| 43 | Mostly web-layer; descriptions and profiles already landed as the first | |
| 44 | step. | |
| 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 | ||
| 55 | Goal: someone who is not the author runs an instance and moves their | |
| 56 | work 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 | ||
| 69 | Bigger 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 | ||
| 81 | Recorded 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. | |