Premium Git repository analytics and dashboard generator
Project description
Commit Pulse 💎
A premium, high-fidelity Git repository analytics engine and dashboard generator. Built for engineers who care about their legacy.
- Author: Samuel Olubukun
- Repository: github.com/samolubukun/commitpulse
- License: MIT
Commit Pulse is a powerful, locally-first CLI tool that generates high-fidelity engineering dashboards for your Git repositories. It analyzes your development ecosystem, visualizes commit intensity heatmaps, and identifies top contributors using real GitHub profiles.
✨ Key Features
- Zero-PAT Analysis: Analyzes local
.gitmetadata directly. No Personal Access Tokens or cloud APIs required for core stats. - Accurate Project Timelines: Dynamic contribution grids that span from the repository's inception to the last official commit.
- GitHub Profile Integration: Automatically fetches actual contributor avatars via the public GitHub Search API.
- Master Scan: A recursive drive scanner that aggregates stats from every project on your machine into a single interactive dashboard.
- Premium Aesthetics: Glassmorphic UI with dark mode, smooth animations, and official GitHub iconography.
📦 Installation
1. Local (Developer Mode)
If you have the source code locally:
pip install -e .
2. Direct from GitHub
Anyone can install your tool directly if the repo is public:
pip install git+https://github.com/YOUR_USERNAME/commitpulse.git
3. Global Command
Once installed, the commitpulse command is available everywhere in your terminal.
🚀 Usage
Publish current repository to Cloud (Default)
commitpulse
Analyze all repositories on your computer (Master Scan & Publish)
commitpulse --scan
Generate a Local HTML Dashboard
commitpulse --local
Specify a target directory
commitpulse /path/to/projects
🛠️ Options
--scan: Crawls subdirectories to find and aggregate all Git repositories.--local: Generates a self-contained, interactive HTML dashboard on your machine.--no-open: Prevents the CLI from automatically opening the results in the browser.
🚀 Deployment & Sharing
Commit Pulse offers two ways to view and share your results:
1. Commit Pulse Cloud (Default Workflow)
Ready to show the world? Simply run the base command to host your dashboard on the global registry and get a unique, shareable URL.
commitpulse
Output: https://commitpulse.pxxl.click/v/your-unique-id
2. Local-First (Private Analysis)
Use the --local flag to generate a static HTML dashboard strictly on your machine.
commitpulse --local
Output: stats_dashboard.html (Requires 'y' confirmation)
🛠️ Setting up your own Cloud Instance (Optional)
If you are hosting your own version of Commit Pulse Cloud:
- Neon DB:
- Go to Neon.tech and create a free project.
- Copy your Connection String (e.g.,
postgresql://user:pass@ep-cool-beach-123.us-east-2.aws.neon.tech/neondb?sslmode=require).
- Environment Setup:
- In the
commitpulse-clouddirectory, rename.env.exampleto.env. - Paste your connection string into
DATABASE_URL.
- In the
- Vercel Deployment:
- Deploy the
commitpulse-cloudfolder to Vercel. - Add the
DATABASE_URLto your Vercel Environment Variables.
- Deploy the
🌍 Distribution & PyPI Hosting
To share Commit Pulse with the global developer community via PyPI:
1. Prepare your Account
- Register at pypi.org.
- Generate an API Token in your account settings.
2. Build the Distribution
Ensure you have the latest build tools:
python -m pip install --upgrade build twine
Then build the package:
python -m build
This creates a dist/ folder with your .whl and .tar.gz files.
3. Upload to PyPI
Use twine to securely upload your package:
python -m twine upload dist/*
- Username:
__token__ - Password:
[Your API Token]
Once uploaded, anyone can install it via:
pip install commitpulse
Built with ❤️ for the development ecosystem.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file commitpulse-0.1.3.tar.gz.
File metadata
- Download URL: commitpulse-0.1.3.tar.gz
- Upload date:
- Size: 61.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52618fd6ff4417459ff8cfa009347ae25653f29b0e4269ea0e558716779cb9b9
|
|
| MD5 |
38bc16ab50cb4e9bee16f7a90c3c12da
|
|
| BLAKE2b-256 |
402ecfce1c6d2f3b5635128d7291a49dcd91cc920f8ff2c77a245fe11c034318
|
File details
Details for the file commitpulse-0.1.3-py3-none-any.whl.
File metadata
- Download URL: commitpulse-0.1.3-py3-none-any.whl
- Upload date:
- Size: 59.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74936f8e8d78aad4065d11ef6cb99a72ac067559c2803fd593f9f76cdb9e3574
|
|
| MD5 |
3aec64a0fea7f4680b7d015454f8d413
|
|
| BLAKE2b-256 |
66c05b98c9dcecd9fb33b745fef72388bf147f440ff28d537c18567d92480044
|