Smart Git hygiene for modern projects.
Project description
🔥 GitIgnite
Smart Git hygiene for modern projects
Automatically detect missing .gitignore rules, audit repository health, and keep repositories clean as they evolve.
Why GitIgnite?
Every developer has accidentally committed something they shouldn't have.
- Forgot to ignore
.venv/ - Accidentally committed
.env - Added Docker but never updated
.gitignore - Introduced Terraform without excluding state files
- Copied an old
.gitignoreand never looked at it again
Projects evolve.
.gitignore files usually don't.
GitIgnite helps your repository adapt automatically to the technologies you're actually using.
Instead of asking:
"Which
.gitignoretemplate should I use?"
GitIgnite asks:
"What does this repository need right now?"
✨ Features
🔍 Smart Project Detection
Automatically detects technologies used in your repository and recommends appropriate Git ignore rules.
Supported technologies:
- ✅ Python
- ✅ Node.js
- ✅ VS Code
- ✅ Jupyter Notebooks
- ✅ Docker
- ✅ Terraform
🛠 Intelligent .gitignore Suggestions
Identify missing ignore rules without overwriting your existing configuration.
Example:
ignite scan
Output:
🔥 ignite
Scanning: /path/to/project
Detected:
✓ Python
✓ Docker
Already configured:
✓ .venv/
✓ __pycache__/
Missing ignore rules:
• .env
• *.log
🔧 Automatic Fixes
Apply safe improvements directly to .gitignore.
ignite fix
GitIgnite will:
- Add missing rules
- Preserve existing entries
- Avoid duplicates
- Create a backup before modifying files
Example:
The following rules will be added:
+ .terraform/
+ *.tfstate
Backup:
.gitignore.bak
Apply changes? [Y/n]
✓ Created .gitignore.bak
✓ Added 2 rule(s) to .gitignore
🩺 Git Hygiene Doctor
Evaluate repository health and generate a hygiene score.
ignite doctor
Example:
🩺 ignite doctor
Git Hygiene Score: 92/100
Detected:
✓ Python
✓ Terraform
Issues:
⚠ Missing Terraform state ignore rules
Recommendations:
• Add .terraform/
• Ignore *.tfstate files
🤖 CI Integration
Use GitIgnite in automated workflows.
ignite doctor --ci
CI mode:
- Returns exit code
0when healthy - Returns non-zero exit code when issues exist
Perfect for GitHub Actions and other CI pipelines.
🔐 Repository Auditing
Identify potentially risky files that should not be committed.
ignite audit
Example:
🔍 ignite audit
Potential Risks:
⚠ .env file detected
Recommendation:
Add .env to .gitignore immediately.
🚀 Installation
From Source
Clone the repository:
git clone https://github.com/sirishapadmasekhar/gitignite.git
cd gitignite
Create and activate a virtual environment:
macOS/Linux
python -m venv .venv
source .venv/bin/activate
Windows
python -m venv .venv
.venv\Scripts\activate
Install dependencies:
pip install -r requirements-dev.txt
pip install -e .
Verify installation:
ignite --help
⚡ Quick Start
Scan your repository:
ignite scan
Apply fixes:
ignite fix
Check repository health:
ignite doctor
Use in CI:
ignite doctor --ci
Audit for risks:
ignite audit
Supported Technologies
| Technology | Detection Method | Suggested Ignore Rules |
|---|---|---|
| Python | Python project files | .venv/, __pycache__/, *.pyc, .pytest_cache/ |
| Node.js | package.json |
node_modules/ |
| VS Code | .vscode/ folder |
.vscode/ |
| Jupyter | .ipynb notebooks |
.ipynb_checkpoints/ |
| Docker | Dockerfile / Compose files | .env, *.log |
| Terraform | .tf files |
.terraform/, *.tfstate, *.tfstate.* |
Example Workflow
# Analyze repository
ignite scan
# Fix missing ignore rules
ignite fix
# Evaluate hygiene
ignite doctor
# Validate in CI
ignite doctor --ci
# Audit for common risks
ignite audit
Development
Set up the development environment:
git clone https://github.com/sirishapadmasekhar/gitignite.git
cd gitignite
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e .
Run tests:
pytest
Run GitIgnite locally:
ignite scan
ignite doctor
ignite fix
ignite audit
Continuous Integration
GitIgnite uses GitHub Actions to automatically test against multiple Python versions.
Current CI coverage:
- Python 3.9
- Python 3.10
- Python 3.11
All tests must pass before merging changes.
Project Philosophy
Git hygiene should not depend on memory.
Developers should not have to remember:
- which tools require ignore rules,
- whether secrets are excluded,
- if temporary artifacts are tracked,
- or when project requirements changed.
Repositories evolve.
GitIgnite helps your Git hygiene evolve with them.
Roadmap
Future improvements may include:
- Additional technology support
- More repository health checks
- Enhanced auditing capabilities
- Improved reporting
- Package distribution via PyPI
Contributing
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Before contributing:
pytest
License
This project is licensed under the MIT License.
See the LICENSE file for details.
Built with ❤️ to help developers keep repositories clean.
GitIgnite — Smart Git hygiene for modern projects.
Project details
Release history Release notifications | RSS feed
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 gitignite-0.4.0.tar.gz.
File metadata
- Download URL: gitignite-0.4.0.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ebe836ec489fe2d409d2c3432f896b23dd1f99ebe772e4cbcb580cb0eaf252a
|
|
| MD5 |
c6c99d8dc490f7866605f5cc950d854c
|
|
| BLAKE2b-256 |
f1964c80f69e965df2d45b8fed63bde1a436687e41f06b4b8c1fb04239e3558d
|
File details
Details for the file gitignite-0.4.0-py3-none-any.whl.
File metadata
- Download URL: gitignite-0.4.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3a3e188512b7bba946f22e589cdb1768f0c337915c35eb84cbf71a8e0fa961
|
|
| MD5 |
6ebc29074d0e5bb5ca4e1004ca1a6a37
|
|
| BLAKE2b-256 |
c27e6089c71daf082edde5748891a2c55da00b1971f55f2de45951e44fbfe86e
|