Skip to main content

AI-powered Git patch assistant with HTML report generation.

Project description

PatchMind Banner

🧠 PatchMind

Run PatchMind Report Publish to PyPI PyPI License: Apache-2.0 GitHub stars


PatchMind is a modular Python CLI tool for Git repositories that generates smart, visual HTML reports.
It captures patch-level diffs, tree views, file history timelines, risk scoring, and more — all locally.

No cloud. No bloat. Just clean insight.


🚀 Key Features

  • 🔍 Detects file-level and line-level changes across commits
  • 🌳 Tree-based visualization of modified paths
  • 📅 File timeline view with authorship and metadata
  • ⚠️ Risk and impact scoring per file
  • 👤 Inline blame summaries
  • 📄 Clean, standalone HTML output
  • ⚙️ Fully CLI-driven — automate in CI/CD

📸 Sample Output

PatchMind HTML Report Sample


📦 Installation

Install from PyPI:

pip install patchmind

Or install manually:

git clone https://github.com/Darkstar420/patchmind.git
cd patchmind
pip install -r requirements.txt

🧪 Usage

Generate an HTML report from the root of any Git repo:

python cli/main.py --report

The output will be saved as patchmind_report.html in the project root.


📂 Project Layout

patchmind/
├── cli/               # CLI entrypoint
├── core/              # Core analysis engine
├── tests/             # Unit tests
├── docs/              # Sample reports and images
├── config.yaml        # Config (optional)
├── requirements.txt
└── README.md

🧪 Run Tests

pytest -q

Unit tests live in tests/ and validate key functionality, including mock Git data and report rendering.


💡 Why Use PatchMind?

✅ No setup required – run it instantly ✅ See what's changing, where, and why ✅ Stay ahead of technical debt ✅ Built for devs who want insight — not overhead


📄 License

Licensed under the Apache 2.0 License — free to use, modify, and distribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

patchmind-0.1.2.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

patchmind-0.1.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file patchmind-0.1.2.tar.gz.

File metadata

  • Download URL: patchmind-0.1.2.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for patchmind-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5ab563b1311103235c787c9f09bcadd6b9c77438c8710165a660775c4702e8b0
MD5 7eac071579813b79f9926fdb66de9d29
BLAKE2b-256 48cade6cff8e29d4b6d9cebbc9e25c3f07b2230df81e73b41d6d1dd65cc6eb06

See more details on using hashes here.

Provenance

The following attestation bundles were made for patchmind-0.1.2.tar.gz:

Publisher: publish.yml on Darkstar420/patchmind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file patchmind-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: patchmind-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for patchmind-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aecb4f40cf321411a1cfa3016d4e4a27151e2e0e6a75b0137f098f695659e883
MD5 a2e1c44090801ab97d4ee26f22cdf244
BLAKE2b-256 4560a28bc8b1c33197125a24084d57c000d74c227cacf1606112f66efc9e740c

See more details on using hashes here.

Provenance

The following attestation bundles were made for patchmind-0.1.2-py3-none-any.whl:

Publisher: publish.yml on Darkstar420/patchmind

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page