Reinventing the Pull Request
This post introduces Lubeno, a tool aiming to "reinvent the pull request" by addressing "comprehension debt" through stacked PRs and an improved review UI. It resonated on Hacker News by tackling common developer frustrations with traditional Git and PR workflows, igniting a discussion on alternative review methodologies and the future of code collaboration. While some found the product intriguing, others critiqued its presentation and the underlying assumptions about code review.
The Lowdown
The article, "Reinventing the Pull Request," by bkolobara, introduces Lubeno, a new tool designed to transform code review from a mere bug-catching exercise into a comprehensive learning opportunity that combats "comprehension debt." The author argues that a deep understanding of a codebase is crucial for developer velocity and system evolution, a challenge amplified by increasing code volume and AI integration. Lubeno aims to bridge this understanding gap through several key innovations:
- Addressing Comprehension Debt: The core idea is to improve how developers understand the ever-growing codebase, which is seen as vital for efficient development and background processing of context.
- Stacked Pull Requests: Lubeno promotes breaking down large changes into smaller, narrative-driven commits, facilitated by tools like Jujutsu, and then automatically displays these stacked PRs. This allows reviewers to approve individual components and developers to build on unmerged changes.
- Prioritized File Viewing: Reviewers can configure
.gitattributesto prioritize certain files (e.g., dependencies, tests) in the diff, ensuring critical changes are seen first and reducing the chance of overlooking important details in large PRs. - Unified Review Interface: All pertinent information—code, comments, and discussion—is presented on a single page, eliminating context switching caused by fragmented UIs common in other platforms.
- Code Evolution Tracking: Lubeno tracks comments and overlays interdiffs, even after force pushes, to clearly show how code evolves during the review process, preventing confusion from outdated comments or rebased commits. The author asserts that, contrary to some opinions, code reviews remain invaluable, especially as codebases grow complex. The solution lies in better tooling that enhances understanding and collaboration throughout the software development lifecycle.
The Gossip
Stacked Structure for Smarter Software
Many commenters enthusiastically discussed the benefits of stacked pull requests and the flexible commit history offered by tools like Jujutsu. While some questioned the wisdom of building on unreviewed changes due to potential rework, others argued it's a common and efficient workflow, especially when the underlying changes are unlikely to shift significantly. The discussion highlighted the frustration with Git's traditional UX for managing complex commit histories and the current limitations of major platforms like GitHub in supporting stacked PRs natively.
Product Presentation Problems
A significant portion of the discussion centered on the blog post's nature as an advertisement for Lubeno. Commenters noted performance issues with the blog itself, including slow loading times, mobile usability problems, and JavaScript errors. There was also a desire for more concrete examples, live demos, or clearer screenshots of Lubeno's features, with some feeling the current presentation was "bare-bones" or lacked conviction.
Future-Forward Features and Functionality
Beyond the immediate tool, the community pondered the evolution of code review. Ideas ranged from wanting AI to automatically break down large PRs into digestible chunks or answer questions about changes, to wishing for integrated live testing of proposed modifications. Some expressed a desire for simpler workflows, like direct commits to main, rather than "reinventing" the PR, while others saw the potential for more intelligent, context-aware review systems.