easyignore
A simple CLI tool to easily create .gitignore and .prettierignore files for over 500 languages and frameworks.
Features
- 🚀 Generate
.gitignoreand.prettierignorefiles with a single command - 📚 500+ languages and frameworks via gitignore.io
- 📋 Shell auto-completion support
Installation
Using uv (recommended):
uv tool install easyignore
Using pipx:
pipx install easyignore
Alternatively, run without an install using uvx (no auto-complete):
uvx easyignore
Usage
Basic Examples
Create a .gitignore file for Python:
easyignore python
Create a .gitignore file for multiple languages separated by a space:
easyignore python node react
Print the ignore file content to stdout without saving to a file:
easyignore python --print
List all available languages and frameworks:
easyignore --list
Create a file with a different name (e.g., .prettierignore):
easyignore react --file .prettierignore
Controlling Output
Specify a file and/or a directory with:
easyignore python --file .prettierignore --directory .
If the directory does not exist, it will be created.
If the file already exists, either append or overwrite it:
easyignore java --append
easyignore go --overwrite
If you don't select an option and the file exists, you will be prompted to decide.
Instead of outputting to a file, you can print to stdout enabling piping to wherever you like:
easyignore python --print
Printing to stdout will disable printing to a file, regardless of what other options are entered.
Shell Completion
One of the main advantages of easyignore is shell auto-completion, supported for bash, zsh, fish, and powershell, powered by typer auto-complete.
Automatically install the required scripts to your shell profile with:
easyignore --install-completion
Alternatively, you can print the shell completion script:
easyignore --show-completion
[!NOTE]
Auto-complete will only work when easyignore is called directly from the command line - uvx doesn't support autocomplete.
Options
| Option | Description |
|---|---|
-d, --directory DIRECTORY |
Directory for ignore file. (default: current directory) |
-f, --file TEXT |
File name for ignore file. (default: .gitignore) |
-a, --append |
Append to existing ignore file. |
-o, --overwrite |
Overwrite existing ignore file. |
-p, --print |
Print ignore file to stdout instead of saving to file. |
-l, --list |
List available languages/frameworks for ignore file. |
-i, --install-completion |
Install shell completion for easyignore. |
-s, --show-completion |
Show shell completion for easyignore. |
-h, --help |
Show help message and exit. |
How It Works
easyignore currently uses the gitignore.io API to fetch the latest ignore patterns for your selected languages and frameworks. However, easyignore is designed not to be locked into this decision - the specific APIs used to retrieve .gitignore may be expanded or swapped with no user functionality changes. This is particularly relevant since the gitignore.io template repository was recently archived and alternatives such as donotcommit may be preferred in the future.
The command line interface for easyignore is built with typer, with a modified shell completion solution that uses shellingham to identify the shell. The templates are retrieved using requests and printed to the console with Rich.
License
Metadata
Release files for easyignore 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| easyignore-0.3.2.tar.gz | 31.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| easyignore-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.6 kB
Release files / easyignore-0.3.2.tar.gz
| Download URL | easyignore-0.3.2.tar.gz |
|---|---|
| Size | 31.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eec7e6242de79a5f960e10680462bb645cfea3a5a385851c9b86e977fe90046f
|
|
BLAKE2b-256 checksum How to use checksums |
acc5cec8fff0e90350b9f2cacefc3206da299653477d55a6fec84fa4f76cbd76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2025.
Transparency logRelease files / easyignore-0.3.2-py3-none-any.whl
| Download URL | easyignore-0.3.2-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
539bde440a447aeac5b0505945b68dd1d17b7d9c569193971a5b7e437bbc92c2
|
|
BLAKE2b-256 checksum How to use checksums |
afd85d7ddb19321b52ef6557c7a03d0e83c2f93411c162d8cd409981a092d207
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 22, 2025.
Transparency log