# gitignore-synthesizer

**gitignore-synthesizer** is a command-line tool that helps developers automatically generate a `.gitignore` file based on the tools, languages, and frameworks detected in their project.

Instead of manually searching for `.gitignore` templates, this tool intelligently scans your project, fetches the correct templates from GitHub’s official [gitignore repository](https://github.com/github/gitignore), and safely updates or creates a `.gitignore` file — all in one command.

---

## 🧠 Why Use This?

When starting a new project, many developers forget to create a proper `.gitignore` file, which can lead to committing sensitive files or large folders like `node_modules/`. This package makes it effortless by:

- Detecting the type of project you're working on (Node.js, React, Python, etc.)
- Fetching the correct `.gitignore` file templates
- Combining multiple templates if needed (e.g., React + Node)
- Keeping your existing `.gitignore` safe with a backup
- Letting you preview before writing

---

## 🚀 Features

- 🕵️ **Automatic Detection**: Identifies frameworks, tools, and common project patterns.
- 📦 **Template Fetching**: Downloads official `.gitignore` templates from GitHub.
- 🧩 **Merge with Existing**: Updates `.gitignore` without losing custom entries.
- 💾 **Backup Safety**: Creates a `.bak` backup of your current `.gitignore`.
- 🖥️ **Interactive CLI**: Option to review or select templates manually.
- 🛠️ **Customizable**: Future versions will support custom rules and configs.

---

## 📦 Installation

You can install `gitignore-synthesizer` globally using npm:

```bash
npm install -g gitignore-synthesizer


## Usage:
Run gignore in the command line interface
