What stands between the React editor and daily-driving it, in the order I'd
build it. Every item links to its issue, which carries the detail — this file
is only the sequence and the reasoning behind it.
Sizes are rough gut calls from reading the code, not defensible estimates.
S ≈ an evening, M ≈ a few days, L ≈ open-ended.
Phase 1 — stop losing work
Do these before leaving the editor open on anything that matters.
Everything above is setup for this. Split it on the way in: transport → ruby-lsp → completion/hover → diagnostics → go-to-definition. Ship one capability at a time.
Daily-driving plausibly starts here. Everything below is friction, not a blocker.
Phase 4 — cheap wins
Roughly value-per-hour. These are largely independent, so reorder by whatever
is annoying you that week.
Editor roadmap
What stands between the React editor and daily-driving it, in the order I'd build it. Every item links to its issue, which carries the detail — this file is only the sequence and the reasoning behind it.
Sizes are rough gut calls from reading the code, not defensible estimates. S ≈ an evening, M ≈ a few days, L ≈ open-ended.
Phase 1 — stop losing work
Do these before leaving the editor open on anything that matters.
fs.watchfeed gets reused by #19.#8 before #9. The mtime check in #9 is per-buffer state, and "buffer" is not a real concept until #8 exists.
Phase 2 — infrastructure
Neither is exciting. Both make Phase 3 substantially cheaper.
Phase 3 — the one that matters
Phase 4 — cheap wins
Roughly value-per-hour. These are largely independent, so reorder by whatever is annoying you that week.
Terminalis already self-contained; this is mostly a tab strip.openFile(path, {line, column}).Phase 5 — filling in
Phase 6 — polish
Dependency graph
The edges that actually constrain the order:
Only Phases 1–3 have real dependencies behind them. The ordering within Phases 4–6 is soft.