
A CLI tool for deep, nerd-grade diffing of configuration files.
Current version: 0.2.0
Diffinity is a command-line utility designed to compare configuration files across multiple application runs.
It supports semantic diff for structured formats (like JSON and INI) and textual diff for custom text-based files.
Designed for devs who obsess over clean diffs and meaningful config changes.
- ✅ Semantic comparison for
.json(ignores key order) - 🧠 Smart text diff fallback for any other readable format
- 🎨 Colored, compact terminal output (or verbose mode if you prefer)
- 🧾 Exportable reports in
.txtor.html - 📂 Include files via:
- full paths (
--includelist) - suffix-based patterns (
--includepatterns)
- full paths (
- 🧽 Optional
--ignore-pathsto skip irrelevant path differences
git clone https://github.com/andreanegri/diffinity.git
cd diffinity
python -m venv .venv
source .venv/bin/activate
pip install --upgrade setuptools pip
pip install -e .diffinity run1/ run2/ --includelist files.txtor:
diffinity run1/ run2/ --includepatterns patterns.txt --ignore-paths --output report.htmlGiven:
run1/config/pipeline1_settings.json
run2/config/pipeline2_settings.json
With patterns.txt:
config/_settings.json
Diffinity compares:
run1/config/pipeline1_settings.json
vs
run2/config/pipeline2_settings.json
And shows:
┌─ Diff: config/pipeline1_settings.json ↔ config/pipeline2_settings.json ───────
- "debug": true,
+ "debug": false,
Pull requests and feedback are welcome.
Open issues, submit features, or fork away!
