The GitHub repository for deff, a Rust-based code review tool, demonstrates alignment with several UDHR principles through its open source model, public accessibility, and collaborative structure. The content and platform facilitate technical expression (Article 19), knowledge sharing and education (Article 26), peaceful association and collaboration (Article 20), and community participation (Article 29). While the repository does not explicitly champion human rights, its design practices acknowledge principles of equal access, intellectual property rights, and collective responsibility for the common good.
getting users to adopt a new tool with its own incantations is a tough sell. git supports specifying an external pager so folks can plug in alternatives (such as https://github.com/dandavison/delta) while still using the familiar git frontend
I was looking for a good TUI tool for diffs recently, but I'm not sure yet if what I want exists already (and I don't think this tool does it (yet?)). I've been moving my workflow out of VSCode as I'm using TUI-driven coding agents more often lately but one thing I miss from my VSCode/GitHub workflow is the ability to provide a comment on lines or ranges in a diff to provide targeted feedback to the agent. Most diff tools seem to be (rightfully) focused on cleanly visualizing changes and not necessarily iterating on the change.
I admit I haven't looked super hard yet, I settled on configuring git to use delta [0] for now and I'm happy with it, but I'm curious if anyone has a workflow for reviewing/iterating on diffs in the terminal that they'd be willing to share. Also open to being told that I'm lightyears behind and that there's a better mental model for this.
The specific gap side-by-side covers for me is reviewing changes on a remote box without firing up an IDE. Delta is great but keeps the unified format. icdiff does the split view but is pretty barebones. So there's definitely space here.
What nobody's mentioned yet is difftastic. Takes a completely different approach - parses syntax trees instead of lines, so indentation changes and bracket shuffles don't show up as noise. Worth a look if you're comparing options.
Main question I'd have: how does it hold up on large files? 5k+ line diffs are where most of these tools either choke or produce unreadable output. That'd be the test I'd run first.
What I would love to see is "tig" replacement that is:
- even faster, especially if you have couple thousand files and just want to press "u" for some time and see them very quickly all get staged
- has this split-view diff opened for a file
Otherwise tig is one of my favorite tools to quickly commit stuff without too many key presses but with review abilities, i have its "tig status" aliased to "t"
Looks interesting. I'm currently using https://tuicr.dev/ , of which I like that the first screen it shows is the choice of commit range you want to review. Might be something to consider for deff?
looks pretty good at a glance, though I would like to see three views for handling conflicts. Target on the left, source on the right, and the combined result in the middle.
...I really just like the way the Jetbrains IDEs do it, and I wish there were a TUI version that I could launch automatically from the git cli.
It blows my mind that nowadays, some random tools on internet tells you to do "curl -fsSL https://.... | bash" to install some "binary" things and a lot of people will do it without hesitation.
It probably explains why there is so many data leaks recently but it is like we did a 20 years jump back in time in terms of security in just a few years.
I use delta for quick diffs in a shell (along with the -U0 option on git-diff), but in my claude workflow, i have a 3 pane setup in tmux: :| where the right side is a claude session, the top left is emacs opened to magit, and the bottom left is a shell. Magit makes navigating around a diff pretty easy (as well as all the other git operations), and I can dive into anything and hand edit as well.
Not TUI based but I made something called meatcheck. The idea being that the LLM requests a review from the human, you can leave inline comments like a PR review.
Once you submit it outputs to stdout and the agent reads your comments and actions them.
This looks great as well! I personally prefer a bit more context. Thats why I added a bit more of it to deff. It also allows to mark files as reviewed by pressing `r` which is quite handy for my flow.
I personally find vimdiff a bit harder to navigate for my usecase. The reason is that I am context unaware of the file often in larger projects and wanted something that allows me to check all lines in a touched file. However, I have to admit vimdiff comes quite close to what I need and is a great tool!
So I tested this on huge files (checking cargo lock for instance) and it is super fast in the navigation of those. Until now I did not encounter any issue with bigger files (around 4k-6k changes but also only 4k-6k lines).
I was also searching for some time, but most of them did not have enough context for my workflow tbh. So thats why I decided to make deff. Another good one I liked is vimdiff
I get the hesitation :D But the code is open and the install.sh is as minimal as it gets tbh. Still, as said, I get the hesitation. What a time to be alive.
It does not install binaries, it builds the binary by checking out the project basically. You can also do the process manually and use the tool.
I had tried `delta` a few years ago but eventually went with `diff-so-fancy`[1]
The two are kind of similar if I remember correctly, and both offer a lot of config options to change the style and more. I mostly use it for diffs involving long lines since it highlights changes within a line, which makes it easier to spot such edits.
I have an alias set in `~/.gitconfig` to pipe the output of `git diff` (with options) to `diff-so-fancy` with `git diffs`:
One day folks who live inside commandlines and TUIs all day will realize that there's nothing particular about webapps or the sandboxes that they execute in that requires we build exclusively graphical runtimes around them, instead of taking advantage of the same security and distribution model for programs accessible and usable from within terminal emulator.
Editorial Channel
What the content says
+0.15
Article 19Freedom of Expression
Medium Advocacy Practice
Editorial
+0.15
SETL
-0.10
Tool description emphasizes enabling code review and collaborative examination, facilitating expression of technical ideas through code
Observable Facts
Repository is publicly accessible and shareable by any user
Tool features include side-by-side file review and navigation supporting code discussion
Platform provides pull request and issue discussion mechanisms
Inferences
Open source model facilitates expression and sharing of technical ideas
Repository structure supports developer communication through code and dialogue
+0.15
Article 26Education
Medium Advocacy Practice
Editorial
+0.15
SETL
0.00
Repository documentation (README, CONTRIBUTING.md, architecture guide) enables technical learning and knowledge transfer
Observable Facts
Repository includes comprehensive README with features, usage, and local build instructions
Documentation includes architecture guide and contribution conventions
Code examples and explanations are publicly accessible for study
Inferences
Detailed documentation supports technical education and knowledge transfer
Public code and tutorials enable self-directed technical learning
+0.10
Article 17Property
Medium Advocacy Practice
Editorial
+0.10
SETL
0.00
MIT license explicitly defines intellectual property framework respecting users' property rights and modification freedoms
Observable Facts
Repository displays MIT license as primary metadata in header
License terms permit distribution, modification, and commercial use
Inferences
Explicit licensing demonstrates respect for intellectual property frameworks
MIT license protects both creator and user property rights
+0.10
Article 20Assembly & Association
Medium Advocacy Practice
Editorial
+0.10
SETL
-0.09
Open source philosophy implicit in content promotes community collaboration and collective development
Observable Facts
Repository lists 2 contributors showing collaborative development
CONTRIBUTING.md file explicitly invites community participation
GitHub provides fork, issue, and pull request mechanisms
Inferences
Multi-contributor structure demonstrates organized association and cooperation
Contribution guidelines support peaceful assembly and collaborative action
+0.10
Article 27Cultural Participation
Medium Advocacy Practice
Editorial
+0.10
SETL
0.00
Open source code contributes to scientific and technical culture; tool advances software development practices
Observable Facts
Repository is part of open source ecosystem contributing to technical culture
Tool addresses scientific problem in software development practice
Inferences
Open source participation enables contribution to technical culture and innovation
Tool represents scientific advancement in software engineering practices
+0.10
Article 29Duties to Community
Medium Advocacy Practice
Editorial
+0.10
SETL
-0.09
Author created tool as contribution to developer community, exemplifying community responsibility and common good
Observable Facts
Author created and published tool publicly without commercial restriction
Repository accepts community contributions via pull requests and issues
MIT license enables community use and modification for shared benefit
Inferences
Creation and public sharing of tool demonstrates commitment to community good
Collaborative development structure implies shared responsibility for project quality
ND
PreamblePreamble
Content does not address human dignity or universal rights foundation
ND
Article 1Freedom, Equality, Brotherhood
Medium Practice
Content does not address equal dignity or inalienable rights
Observable Facts
Repository is publicly accessible without login requirements for viewing
Content and code are readable to all users equally
Inferences
Public access structure supports equal treatment regardless of user identity
Repository design enables universal access to knowledge and tools
ND
Article 2Non-Discrimination
Medium Practice
Content does not explicitly address non-discrimination
Observable Facts
Repository access is provided equally to all visitors
MIT license permits use by any person without discrimination