https://github.com/solbero/ignoro
Create .gitignore files with ease from your command line!
https://github.com/solbero/ignoro
cli gitignore gitignore-cli pipx python typer
Last synced: 7 months ago
JSON representation
Create .gitignore files with ease from your command line!
- Host: GitHub
- URL: https://github.com/solbero/ignoro
- Owner: solbero
- License: mit
- Created: 2023-08-18T15:20:56.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T18:56:55.000Z (over 1 year ago)
- Last Synced: 2024-05-22T19:54:12.984Z (over 1 year ago)
- Topics: cli, gitignore, gitignore-cli, pipx, python, typer
- Language: Python
- Homepage:
- Size: 153 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
Create .gitignore files with ease from your command line!
## About
Ignoro is a command line interface designed to help you quickly create and modify `.gitignore` files for your projects. The CLI uses one or more of the 550+ templates supplied by [gitignore.io](https://www.toptal.com/developers/gitignore) to craft the perfect `.gitignore` for your project.
## Features
* [x] Search for templates at [gitignore.io](https://www.toptal.com/developers/gitignore).
* [x] Show the content of a template from [gitignore.io](https://www.toptal.com/developers/gitignore).
* [x] Create a `.gitignore` file based on one or more templates.
* [x] List templates used in a `.gitignore` file.
* [x] Add one or more templates to a `.gitignore` file.
* [x] Remove one or more templates from a `.gitignore` file.## Installation
**Using `pipx` (recommended)**
```sh
pipx install ignoro
```**Using `pip`**
```sh
pip install --user ignoro
```## Usage
### `ignoro`
Create or modify a `.gitignore` file based on templates from [gitignore.io](https://www.toptal.com/developers/gitignore).
```
ignoro [OPTIONS] COMMAND [ARGS]...
```**Options**
* `--install-completion`: Install completion for the current shell.
* `--show-completion`: Show completion for the current shell, to copy it or customize the installation.
* `--help`: Show this message and exit.**Commands**
* `add`: Add templates to a `.gitignore` file.
* `create`: Create a `.gitignore` file.
* `list`: List templates in a `.gitignore` file.
* `remove`: Remove templates from a `.gitignore` file.
* `search`: Search for templates at [gitignore.io](https://www.toptal.com/developers/gitignore).### `ignoro add`
Add templates to a `.gitignore` file. If no path is provided, the templates will be added to the `.gitignore` file in the current directory.
```sh
ignoro add [OPTIONS] TEMPLATES...
```**Arguments**
* `TEMPLATES`: Templates to add to `.gitignore` file. [required]
**Options**
* `--path`: Add templates to `.gitignore` file at this path.
* `--show-gitignore`: Show the result of the add command instead of writing a file.
* `--help`: Show this message and exit.### `ignoro create`
Create a `.gitignore` file. If no path is provided, the `.gitignore` file will be created in the current directory.
```sh
ignoro create [OPTIONS] TEMPLATES...
```**Arguments**
* `TEMPLATES`: Templates to include in `.gitignore` file. [required]
**Options**
* `--path`: Create a `.gitignore` file at this path.
* `--show-gitignore`: Show the result of the create command instead of writing a file.
* `--help`: Show this message and exit.### `ignoro list`
List templates in a `.gitignore` file. If no path is provided, the templates from the .gitignore file in the current directory will be listed.
```sh
ignoro list [OPTIONS]
```**Options**
* `--path`: List templates in `.gitignore` file at this path.
* `--help`: Show this message and exit.### `ignoro remove`
Remove templates from a `.gitignore` file. If no path is provided, the templates will be removed from the `.gitignore` file in the current directory.
```sh
ignoro remove [OPTIONS] TEMPLATES...
```**Arguments**
* `TEMPLATES`: Templates to remove from `.gitignore` file. [required]
**Options**
* `--path`: Remove templates from `.gitignore` file at this path.
* `--show-gitignore`: Show the result of the remove command instead of writing a file.
* `--help`: Show this message and exit.’### `ignoro search`
Search for templates at [gitignore.io](https://www.toptal.com/developers/gitignore). If no search term is provided, all available templates will be listed.
```sh
ignoro search [OPTIONS] [TERM]
```**Arguments**
* `TERM`: Term used to search [gitignore.io](https://www.toptal.com/developers/gitignore).
**Options**
* `--help`: Show this message and exit.’
### `ignoro show`
Show a template from [gitignore.io](https://www.toptal.com/developers/gitignore). If no no match is found, an error will be raised.
```sh
ignoro show [OPTIONS] TEMPLATE
```**Arguments**
* `TEMPLATE`: Template to show from gitignore.io. [required]
**Options**
* `--help`: Show this message and exit.
## Development
**Setup**
Ignoro uses [PDM](https://pdm.fming.dev/) to manage dependencies and virtual environments. To get started, first [install PDM](https://pdm-project.org/latest/#installation). Then, install the project dependencies using the command:
```sh
pdm install
```**Run**
To run the CLI, use the command:
```sh
pdm run ignoro
```**Test**
Ignoro uses [pytest](https://docs.pytest.org/) for testing. To run the test suite, use the following command:
```sh
pdm run pytest .
```**Formating and Linting**
Ignoro uses [Ruff](https://docs.astral.sh/ruff/) for formatting and linting. To run the formating and linting checks, use the following command:
```sh
pdm run ruff format .
pdm run ruff check .
```## License
Ignoro is licensed under the [MIT License](https://opensource.org/license/mit/).