difit: Your Local Git Diff Viewer for Effortless Code Reviews
In the fast-moving world of software development, keeping track of code changes is a big part of ensuring everything works smoothly. Whether you’re fixing a bug, improving how fast your program runs, or working with teammates, reviewing code is key. Usually, developers turn to online tools like GitHub to see these changes, but that can be tricky if you’re offline or just want a quick look without uploading anything. That’s where difit steps in—a simple, powerful tool you can use right from your computer’s command line to view Git differences locally.
difit is a command-line tool (often called a CLI tool) that doesn’t need any complicated setup. With one command, it starts a mini-server on your machine and shows your code changes in a browser, laid out like the “Files changed” section on GitHub. But it’s more than just a viewer—you can add comments to specific lines, create prompts for AI tools to help with coding, and even check GitHub pull requests without leaving your terminal. It’s a must-have for developers who want an easy, efficient way to review code.
Why difit Stands Out
difit isn’t just another way to run Git commands—it’s built to make reviewing code better and faster. Here’s what it brings to the table:
-
No Setup Needed: Type npx difit <commit>
and you’re ready to go—no extra steps. -
Works with AI: Add comments to your code and turn them into prompts for AI coding helpers. -
Terminal Option: Use --tui
to see differences right in your terminal, no browser required. -
Color-Coded Code: It automatically highlights code in different programming languages, making it easier to read. -
GitHub Pull Request Support: Review pull requests locally, even from GitHub projects.
These features make difit a handy Git diff viewer and code review tool that fits right into your daily work.
Getting Started with difit
Starting with difit is as simple as it gets. If you’re already in a folder with a Git project (called a repository), open your terminal and type:
npx difit
This command starts a small server on your computer and opens your web browser to show the changes in your most recent commit (a commit is like a snapshot of your code at a certain point). That’s it! From there, you can dig into all the options difit offers.
How to Use difit: Your Guide to Viewing Code Changes
difit gives you lots of ways to look at your code changes. Let’s walk through the main ones step by step.
1. Checking a Single Commit
Want to see what’s different in one specific commit? You can use its unique code (called a hash), a branch name (like a version of your project), or something like HEAD^
(which means the commit before the latest one). Try these:
npx difit 6f4a9b7 # Shows changes in a commit with this hash
npx difit HEAD^ # Shows the previous commit
npx difit feature # Shows the latest commit on the 'feature' branch
Each time, your browser will pop up with a clear view of what’s changed—new lines in green, removed lines in red.
2. Comparing Two Points in Your Project
Sometimes you need to see how two versions of your code differ. difit makes this straightforward:
npx difit HEAD main # Compare the latest changes with the 'main' branch
npx difit feature main # Compare 'feature' branch with 'main'
npx difit . origin/main # Compare your current work with the online 'main' branch
This is great for checking your work before combining it with the main project.
3. Looking at Unfinished Work
difit can also show changes you haven’t saved (or “committed”) yet. It uses special words to help:
-
.
(a dot): Shows all uncommitted changes, whether you’ve marked them to save or not. -
staged
: Shows only changes you’ve marked to save. -
working
: Shows only changes you’re still working on.
Here’s how:
npx difit . # See all uncommitted changes
npx difit staged # See changes ready to save
npx difit working # See changes still in progress
These commands help you keep track of what you’re doing right now.
4. Reviewing GitHub Pull Requests Locally
If your project lives on GitHub, difit can pull down a pull request (a request to add changes) and show it on your machine:
npx difit --pr https://github.com/owner/repo/pull/123
It figures out how to log in using the GitHub CLI (if you’ve set it up), a special code (GITHUB_TOKEN
), or just works with public projects. This is super useful for teamwork or reviewing code offline.
Real-Life Examples of difit in Action
Imagine you’re working on a new feature and want to double-check it before mixing it into the main project. Run this:
npx difit feature main
You’ll see exactly how your feature branch differs from the main one, making it easy to catch mistakes.
Or maybe you’re halfway through coding and have a mix of finished and unfinished changes. To see everything, type:
npx difit .
If you only want to check what’s ready to save, use:
npx difit staged
And for stuff you’re still tweaking:
npx difit working
For teamwork on GitHub, instead of going online, just run:
npx difit --pr https://github.com/owner/repo/pull/123
You’ll get the pull request right in your browser, ready to review and comment on.
I recently used difit myself to go over a tricky set of changes before saving them. With one command, I saw everything side by side, added notes where things needed work, and even got suggestions from an AI tool using difit’s prompts. It saved me tons of time and made the whole process smoother.
Adding Notes with difit’s Comment System
One of difit’s coolest tricks is letting you add notes right on your code. It’s not just about seeing changes—you can mark up specific lines with your thoughts, which is great for personal reviews or working with AI tools.
Here’s how it works:
-
Add a Note: Click a line in the diff view and type your comment.
-
Edit Notes: Change your comments later with an edit button.
-
AI Helper Prompts: Each note has a “Copy Prompt” button that packages it with the file name and line number, like this:
src/components/Button.tsx:42 This name could be clearer.
-
Copy All Notes: Grab all your comments at once with the “Copy All Prompt” button.
-
Save for Later: Notes stick around in your browser’s storage, tied to each commit, so you can come back to them anytime.
This turns difit into more than a Git diff viewer—it’s a smart code review tool too.
Getting the Most Out of Comments
Here’s how to use the comment system like a pro:
-
Jot Down Ideas: Note anything that catches your eye—maybe a possible error or a spot to improve. -
Team Up with AI: If you write “This could be shorter,” the “Copy Prompt” feature gives you a ready-to-go request for an AI coding assistant, complete with context. -
Pick Up Where You Left Off: Since notes save locally, you can close difit and return later without losing your work.
This feature makes reviewing code feel more like a conversation—whether with yourself or an AI helper.
Making Code Easy to Read with Syntax Highlighting
When you’re looking at code changes, it helps if they’re easy on the eyes. difit’s syntax highlighting feature color-codes your code automatically, so it’s simpler to understand. It works with tons of languages, like:
-
JavaScript and TypeScript (for web stuff) -
HTML, CSS, and JSON (for websites and data) -
Python, Java, and C++ (for all kinds of programs) -
Shell scripts, SQL, Ruby, and more
difit figures out the language from the file’s name (like .js
for JavaScript) and adds the right colors. If it doesn’t recognize the language, it just shows plain text. Either way, your code stays readable.
Why Color-Coding Helps
Highlighting isn’t just pretty—it’s practical:
-
Spot Key Parts: Words like if
orfunction
stand out, so you see the code’s structure fast. -
Catch Mistakes: If something looks off (like a missing bracket), the colors make it obvious. -
Handle Big Files: Colors break up the text, so you can find what you need without getting lost.
With difit, your code changes pop off the screen, making reviews quicker and less stressful.
Tailoring difit with Command-Line Options
difit lets you tweak how it works with extra commands (called options). Here’s a rundown:
For example, to see diffs in your terminal:
npx difit --tui
Or to keep the browser from opening:
npx difit --no-open
These options let you use difit exactly how you like.
Why a Local Diff Viewer Beats Online Tools
Online platforms like GitHub are great, but a local tool like difit has its own perks:
-
Works Offline: No internet? No problem—you can still review your code. -
Faster: It skips the web, so you see changes instantly. -
Private: Your code stays on your machine, perfect for secret projects. -
Your Way: Customize it with options to match how you work.
difit’s a solid choice whether you’re replacing online tools or using it alongside them.
Fitting difit into Your Daily Work
difit slides right into your routine as a developer. Here’s how to weave it in:
-
Before Saving: Run npx difit staged
to check what you’re about to commit—no surprises. -
Comparing Versions: Use npx difit feature main
now and then to see how your branch stacks up. -
Team Reviews: Pull GitHub requests with npx difit --pr <url>
and add notes locally. -
AI Boost: Mark spots for improvement, then send prompts to an AI tool for help.
Adding difit to your day can make your coding sharper and faster.
Helping Build difit
If you’re a coder who wants to improve difit or tweak it for yourself, here’s how to get started:
# Set up the tool
pnpm install
# Run it while you work on it
pnpm run dev
# Build and test it
pnpm run start <commit-ish>
# Make a final version
pnpm run build
# Check it works
pnpm test
# Keep the code tidy
pnpm run lint
pnpm run format
difit’s built with clear pieces:
-
Command Line: Uses Commander.js to handle your commands. -
Server: Runs on Express and simple-git to manage Git stuff. -
Front End: Made with React 18, TypeScript, and Vite for quick updates. -
Look: Styled with Tailwind CSS in a dark, GitHub-like theme.
Jump in, explore, and make it better!
What You Need to Run difit
To use difit, you just need:
-
Node.js (version 21.0.0 or higher—a program that runs JavaScript) -
A Git project with some commits to look at
Since you run it with npx
, it downloads and starts automatically—no extra setup.
Why difit Belongs in Your Toolkit
difit takes the hassle out of reviewing code by putting a GitHub-style Git diff viewer right on your computer. With no setup, AI-friendly features, and options for every situation, it’s a game-changer for developers who want to work smarter. Whether you’re checking a single commit, comparing branches, or sorting out uncommitted changes, difit keeps it simple and quick.
Try difit today and see how it can smooth out your coding life!