Copyright (C) 2026 Asher Mullaney <asher.mullaney@gmail.com>

This file is free documentation; Asher Mullaney gives
unlimited permission to copy, distribute, and modify it.

# gignore #

Hello! This is gignore: a .gitignore manipulation program.

### What is gignore? ###
- gignore is a tool to manipulate and modify .gitignore files.
- It supports explicit removal of entries in .gitignore, and also the use of templates, which are pre-defined files with a list of .gitignore entries that can be used at any time. They can be used in diferent ways at the user's discretion.
- Written entirely in Rust, it is blazingly fast and super-safe.

### What can it run on? ###
- gignore can run on any GNU/Linux or OS. 
- It has been tested on a Raspberry Pi 5 running Raspberry Pi OS Bookworm, but will work on any distro.
- It may also work on other Unix-style systems, but this has not been verified, and such systems are not the main target of gignore.
- It CANNOT run on any Windows-based system!

### How do I get it? ###
Simply follow the instructions in `./INSTALL`.

### How do I use it? ###
#### Explicit entry modification ####
- Use `$ gignore add [PATH]` to add PATH to .gitignore.
- Use `$ gignore remove [PATH]` to remove PATH from .gitignore.
- Using these commands without PATH will add a new .gitignore file, and remove it entirely, respectively.
- Use `$ gignore list` to list the entries in .gitignore. Use the option `--oneline` to print the output all on one line.

#### Template usage ####
A template is a pre-defined file that will replace (unless specified otherwise) the contents of .gitignore with its own contents.
Templates should, as best-practice/etiquette, have the file extension `.ggnr`. They will work without it, though.

- Use `$ gignore template list` to list current templates.
- Use `$ gignore template add [NAME] [SOURCE_FILE]` to add the template NAME to the template library, with the contents of SOURCE\_FILE. Using the flag `-a` specifies that upon its usage, the template should be appended to .gitignore rather than .gitignore being cleared first.
- Use `$ gignore template remove [NAME]` to remove the template under that name.
- Use `$ gignore template use [NAME]` to clear .gitignore and add the contents of SOURCE\_FILE to it.

### Thank you for using gignore! ###

If you'd like to ask for help, or you have any issues, please email the author at \<asher.mullaney@gmail.com\>. His public OpenPGP key is available on [keys.openpgp.org](https://keys.openpgp.org) under the above email address.
