Show HN: I made a git rebase TUI editor
Project scope and initial confusion
- Several readers expected a focused “git rebase TUI editor” but found a more general CLI/TUI framework repository.
- Clarification: the repo hosts both a CLI framework and demo apps, including the rebase tool (“Newbase” section); some users missed this because anchor links didn’t scroll correctly.
- A few people expressed reluctance to install a large, multi-purpose framework when they only wanted a single-purpose rebase tool.
Comparison to existing git TUIs
- Multiple alternatives mentioned:
lazygitpraised repeatedly as a powerful, general git TUI (rebase, logs, conflicts, etc.).git-interactive-rebase-toolcited as a long-standing, solid rebase UI, and suggested integration viasequence.editor.rebase-editoralso mentioned as a mature solution.
- Some users only want a good TUI log viewer; tools like
tig, Emacs/magit, and Sublime Merge came up as partial fits.
OCaml / TUI framework discussion
- The project appears to be a TUI/CLI framework in OCaml with demos, not just a git tool.
- Prior TEA-style OCaml TUIs (e.g.,
teash) were reported as outdated or unreliable; some resorted to using Notty directly. - A code snippet with an explicit enum “increase/decrease” function prompted a question about a Haskell-like
succ/predfor OCaml sum types; no clear resolution given.
AI, text UIs, and UX
- One subthread notes that structured text plus an editor can replace many GUI widgets.
- AI is discussed as a possible helper for enforcing formats and improving discoverability, but also criticized as mainly “bullshit-generation” used for rubber-ducking and autocomplete.
Git workflows and squash vs. merge
- Long debate about team policies:
- Pro–squash-merge: simpler PR history, single atomic commit per PR/task, easy reverts, cleaner main branch; PRs seen as the unit of work.
- Skeptical view: squash-only policy is rigid, discards meaningful commit structure, pushes history into the forge (e.g., PRs) instead of git; rebasing and carefully crafted commits are preferred.
- Some advocate stacked/dependent PRs with one commit each; others see this as overhead given current forge UX.
- Disagreement on whether team-wide rules (always squash, no rebase) are necessary safeguards or unnecessary micromanagement.
Editors, configuration, and merge conflicts
- Several comments note you can already choose any editor for interactive rebase via
core.editor,GIT_EDITOR, orsequence.editor. - Some argue that a bit of
vimtutorplus default interactive rebase is sufficient; others welcome specialized TUIs. - For merge conflicts, GUI tools like Meld are liked, but on remote/CLI-only setups, options are seen as lacking;
lazygitand Emacssmergeare suggested as workable TUIs.