Skip to main content

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.

Python Tests CI License


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 .gitignore and 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 .gitignore template 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 0 when 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.

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Ensure all tests pass
  5. 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


Download files

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

Source Distribution

gitignite-0.4.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

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

gitignite-0.4.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for gitignite-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5ebe836ec489fe2d409d2c3432f896b23dd1f99ebe772e4cbcb580cb0eaf252a
MD5 c6c99d8dc490f7866605f5cc950d854c
BLAKE2b-256 f1964c80f69e965df2d45b8fed63bde1a436687e41f06b4b8c1fb04239e3558d

See more details on using hashes here.

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

Hashes for gitignite-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e3a3e188512b7bba946f22e589cdb1768f0c337915c35eb84cbf71a8e0fa961
MD5 6ebc29074d0e5bb5ca4e1004ca1a6a37
BLAKE2b-256 c27e6089c71daf082edde5748891a2c55da00b1971f55f2de45951e44fbfe86e

See more details on using hashes here.

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