#template #gitignore #downloader #terminal #github #cache #picker

app gitignore-downloader

Fetch and compose GitHub .gitignore templates from the terminal

1 stable release

Uses new Rust 2024

1.0.0 Dec 11, 2025

#331 in Caching

MIT license

19KB
352 lines

gitignore-downloader

Fetch and compose GitHub's .gitignore templates from your terminal. When no type is provided, a fuzzy picker helps you choose; when you pass a type, it downloads immediately.

List of available templates

Install

cargo install gitignore-downloader

This installs the gi binary.

Usage

# Fuzzy pick a template
gi

# Direct download without the picker
gi rust

# List available templates (cached)
gi --list

# Show the template without writing it
gi --dry-run node

# Overwrite a custom path
gi --output other.gitignore --overwrite Rust MacOS

Key flags:

  • --list / -l – print all template names.
  • --output <PATH> – where to write (default: .gitignore).
  • --overwrite – replace instead of append.
  • --dry-run – print to stdout.
  • --no-cache – ignore cached template list.
  • --cache-ttl <MINUTES> – cache lifetime (default 1440).

Built-in snippets: --macos and --locks append handy ignores without hitting the network.

The tool caches the template list under the XDG cache dir and will reuse it until it expires (defaults to 24h). When appending, it skips templates already present in the output.

Development

  • Build: cargo build
  • Test: cargo test

License

MIT

Dependencies

~7–24MB
~278K SLoC