Commit bb2e8adadd
Verified · cmc
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, | |||
| 97 | dogfooding #25. When #15 (pages) lands they can graduate to a published | 97 | dogfooding #25. When #15 (pages) lands they can graduate to a published |
| 98 | site. | 98 | site. |
| 99 | 99 | ||
| 100 | * Phase 5 — the web grows up (v0.5.0, [[https://gitbay.org/krz/gitbay/issues/35][#35]]) | ||
| 101 | |||
| 102 | Two goals, one structure. The design needs sustained iteration, and the | ||
| 103 | web needs enough capability that nobody calls it useless — without | ||
| 104 | diluting CLI-first. | ||
| 105 | |||
| 106 | ** Identity, settled | ||
| 107 | |||
| 108 | The CLI is the complete interface: every capability exists over SSH, | ||
| 109 | and web writes call the same control handlers. The web is the reading, | ||
| 110 | reviewing, and responding surface — its bar is that a maintainer can | ||
| 111 | complete the triage/review/merge loop from a browser. Deliberately | ||
| 112 | CLI-only forever: secrets, mirror tokens, domain claims, and anything | ||
| 113 | else whose input is a credential (stdin discipline). No-JS pages remain | ||
| 114 | the baseline. | ||
| 115 | |||
| 116 | ** Current web write surface (audit 2026-08-25) | ||
| 117 | |||
| 118 | repo create, file edit, issue create/comment/edit, MR comment/edit, | ||
| 119 | pin. 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 | |||
| 135 | Each ends with a screenshot checkpoint (both schemes, three widths) | ||
| 136 | before merge. | ||
| 137 | |||
| 138 | 1. 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). | ||
| 141 | 2. Issues: close/reopen, labels, assignees, milestone from the web; | ||
| 142 | list filtering that matches the CLI's. | ||
| 143 | 3. Repo home: header with latest-commit line and clone box that | ||
| 144 | doesn't fight the tree; file table polish. | ||
| 145 | 4. Dashboard: review requests, assigned work, recent activity feed — | ||
| 146 | a reason to set it as a browser home page. | ||
| 147 | 5. Commit + log: statuses inline, signature chips tightened, log | ||
| 148 | filtering UI for the ?path= history. | ||
| 149 | 6. Owner/org: team visibility, member management for org admins. | ||
| 150 | 7. 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). | ||
| 154 | 8. 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 | |||
| 100 | * Phase S — security (cross-cutting) | 165 | * Phase S — security (cross-cutting) |
| 101 | 166 | ||
| 102 | Not a sequential phase: items land alongside whatever phase is active, | 167 | Not a sequential phase: items land alongside whatever phase is active, |