Initial upload: gitignore-cli-generator v1.0.0
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.9) (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / type-check (push) Has been cancelled
CI / build (push) Has been cancelled
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.9) (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / type-check (push) Has been cancelled
CI / build (push) Has been cancelled
This commit is contained in:
199
README.md
199
README.md
@@ -1,3 +1,198 @@
|
||||
# gitignore-cli-generator
|
||||
# GitIgnore CLI Generator
|
||||
|
||||
A CLI tool that generates .gitignore files for any tech stack, framework, or IDE. Supports multiple templates, interactive mode, custom patterns, and preview functionality.
|
||||
A CLI tool that generates `.gitignore` files for any tech stack, framework, or IDE. Users can specify multiple project types and the tool combines appropriate ignore patterns from a local database of templates. Supports custom patterns, project templates, and interactive mode for quick setup.
|
||||
|
||||
## Features
|
||||
|
||||
- **Generate .gitignore files** for programming languages, frameworks, and IDEs
|
||||
- **Multiple template support** - combine templates like `python react vscode`
|
||||
- **Interactive mode** - wizard-like interface for template selection
|
||||
- **Custom patterns** - add your own ignore patterns
|
||||
- **Preview mode** - see what will be generated before writing
|
||||
- **Template search** - find templates by name or description
|
||||
|
||||
## Installation
|
||||
|
||||
### From Source
|
||||
|
||||
```bash
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
### From PyPI
|
||||
|
||||
```bash
|
||||
pip install gitignore-cli-generator
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
Generate a `.gitignore` for a Python project with VSCode:
|
||||
|
||||
```bash
|
||||
gitignore generate python vscode
|
||||
```
|
||||
|
||||
Generate for multiple frameworks:
|
||||
|
||||
```bash
|
||||
gitignore generate node react django
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Generate Command
|
||||
|
||||
Generate a `.gitignore` file from specified templates:
|
||||
|
||||
```bash
|
||||
gitignore generate <template1> <template2> ...
|
||||
```
|
||||
|
||||
Options:
|
||||
- `--output, -o <path>` - Custom output file path
|
||||
- `--dry-run, -d` - Preview without writing file
|
||||
- `--no-include-custom` - Exclude custom patterns
|
||||
|
||||
Examples:
|
||||
|
||||
```bash
|
||||
gitignore generate python django
|
||||
gitignore generate node vue vscode -o /path/to/.gitignore
|
||||
gitignore generate python --dry-run
|
||||
```
|
||||
|
||||
### Interactive Mode
|
||||
|
||||
Run an interactive wizard to select templates:
|
||||
|
||||
```bash
|
||||
gitignore interactive
|
||||
```
|
||||
|
||||
### List Templates
|
||||
|
||||
List all available templates:
|
||||
|
||||
```bash
|
||||
gitignore list
|
||||
```
|
||||
|
||||
Filter by category:
|
||||
|
||||
```bash
|
||||
gitignore list --category language
|
||||
gitignore list --category framework
|
||||
gitignore list --category ide
|
||||
gitignore list --category os
|
||||
```
|
||||
|
||||
### Search Templates
|
||||
|
||||
Search for templates matching a query:
|
||||
|
||||
```bash
|
||||
gitignore search python
|
||||
gitignore search web
|
||||
```
|
||||
|
||||
### Show Template
|
||||
|
||||
View the contents of a specific template:
|
||||
|
||||
```bash
|
||||
gitignore show python
|
||||
```
|
||||
|
||||
### Preview Mode
|
||||
|
||||
Preview what will be generated without writing the file:
|
||||
|
||||
```bash
|
||||
gitignore preview python react
|
||||
```
|
||||
|
||||
## Custom Patterns
|
||||
|
||||
### Add Custom Pattern
|
||||
|
||||
```bash
|
||||
gitignore custom-add "*.log" --description "Log files"
|
||||
```
|
||||
|
||||
### List Custom Patterns
|
||||
|
||||
```bash
|
||||
gitignore custom-list
|
||||
```
|
||||
|
||||
### Remove Custom Pattern
|
||||
|
||||
```bash
|
||||
gitignore custom-remove "*.log"
|
||||
```
|
||||
|
||||
### Toggle Pattern
|
||||
|
||||
Enable or disable a custom pattern:
|
||||
|
||||
```bash
|
||||
gitignore custom-toggle "*.log"
|
||||
```
|
||||
|
||||
## Available Templates
|
||||
|
||||
### Languages
|
||||
|
||||
| Template | Description |
|
||||
|----------|-------------|
|
||||
| python | Python development environment |
|
||||
| node | Node.js development environment |
|
||||
| java | Java development environment |
|
||||
| go | Go development environment |
|
||||
| rust | Rust development environment |
|
||||
| ruby | Ruby development environment |
|
||||
|
||||
### Frameworks
|
||||
|
||||
| Template | Description |
|
||||
|----------|-------------|
|
||||
| react | React.js framework |
|
||||
| vue | Vue.js framework |
|
||||
| angular | Angular framework |
|
||||
| django | Django web framework |
|
||||
| fastapi | FastAPI web framework |
|
||||
| flask | Flask web framework |
|
||||
|
||||
### IDEs
|
||||
|
||||
| Template | Description |
|
||||
|----------|-------------|
|
||||
| vscode | Visual Studio Code IDE |
|
||||
| jetbrains | JetBrains IDEs |
|
||||
| vim | Vim editor |
|
||||
| emacs | Emacs editor |
|
||||
|
||||
### Operating Systems
|
||||
|
||||
| Template | Description |
|
||||
|----------|-------------|
|
||||
| macos | macOS operating system |
|
||||
| windows | Windows operating system |
|
||||
| linux | Linux operating system |
|
||||
|
||||
## Configuration
|
||||
|
||||
Custom patterns are stored in `~/.config/gitignore-cli/custom_patterns.yaml`.
|
||||
|
||||
## Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Run tests: `pytest tests/ -v`
|
||||
5. Submit a pull request
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see LICENSE file for details.
|
||||
|
||||
Reference in New Issue
Block a user