Commit bb2e8adadd

bb2e8adadd0ef4c90c389e0430fb6b8c3811ffb7

parent: b47ac9b55a

Verified · cmc

cmc <hello@cleberg.net> · 2026-08-25 21:22 UTC

roadmap: phase 5 — design iteration and CLI-web parity (#35)

Layout: unified · split

Roadmap.org +65
@@ -97,6 +97,71 @@ Done for the wiki half (2026-08-25): the docs now live in this wiki,
9797dogfooding #25. When #15 (pages) lands they can graduate to a published
9898site.
9999
100* Phase 5 — the web grows up (v0.5.0, [[https://gitbay.org/krz/gitbay/issues/35][#35]])
101
102Two goals, one structure. The design needs sustained iteration, and the
103web needs enough capability that nobody calls it useless — without
104diluting CLI-first.
105
106** Identity, settled
107
108The CLI is the complete interface: every capability exists over SSH,
109and web writes call the same control handlers. The web is the reading,
110reviewing, and responding surface — its bar is that a maintainer can
111complete the triage/review/merge loop from a browser. Deliberately
112CLI-only forever: secrets, mirror tokens, domain claims, and anything
113else whose input is a credential (stdin discipline). No-JS pages remain
114the baseline.
115
116** Current web write surface (audit 2026-08-25)
117
118repo create, file edit, issue create/comment/edit, MR comment/edit,
119pin. Everything else is read-only.
120
121** Foundations (before page work)
122
123- Navigation IA: ten flat repo tabs wrap on mobile. Regroup — code
124 (files/log/refs), work (issues/MRs/builds), publish
125 (releases/wiki) — search and archive demoted to compact affordances.
126- Type scale and spacing rhythm pass; consistent card/list grammar.
127- Accessibility baseline: landmarks, focus states, contrast audit,
128 skip link; keyboard-only walk of every page.
129- Diff renderer: syntax-highlighted diffs, per-file sections with
130 stats and collapse — shared by commit and MR pages.
131- Empty states everywhere a list can be empty.
132
133** Page workstreams (design + parity land together)
134
135Each ends with a screenshot checkpoint (both schemes, three widths)
136before merge.
137
1381. MR page: timeline/diff layout, review actions (approve/request
139 changes), thread resolve, merge button with gate status, retarget;
140 MR create from the web (branch picker).
1412. Issues: close/reopen, labels, assignees, milestone from the web;
142 list filtering that matches the CLI's.
1433. Repo home: header with latest-commit line and clone box that
144 doesn't fight the tree; file table polish.
1454. Dashboard: review requests, assigned work, recent activity feed —
146 a reason to set it as a browser home page.
1475. Commit + log: statuses inline, signature chips tightened, log
148 filtering UI for the ?path= history.
1496. Owner/org: team visibility, member management for org admins.
1507. Settings surface (repo admins): description, website, topics,
151 branch protection and merge gates, visibility, archive — the
152 safe subset of repo settings; plus SSH key management for accounts
153 (add/remove keys from an authenticated session).
1548. Releases/builds: create and edit releases, retrigger builds.
155
156** Guardrails
157
158- PARITY page in this wiki: a maintained matrix of capability x
159 surface (SSH/CLI/web/API), updated in the MR that changes it.
160- Rule for new features: lands over SSH first; if it belongs to the
161 triage/review/respond loop it lands on the web in the same MR.
162- The view-only mode guarantee stays structural: accounts-mode routes
163 never registered there.
164
100165* Phase S — security (cross-cutting)
101166
102167Not a sequential phase: items land alongside whatever phase is active,