Help us shape the future of Go! Take the 2026 Go Developer Survey

ignit

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2026 License: GPL-3.0 Imports: 11 Imported by: 0

README

Ignit

A CLI app to quickly generate .gitignore files for your projects.

Pick your environment from a searchable list and ignit writes a ready-made .gitignore in your current directory.

Features

  • Instant startup — the environment list is embedded in the binary, so the picker works fully offline. The network is only used when actually writing the .gitignore.
  • Fuzzy search — start typing to filter the list.
  • Always fresh — the embedded list can be regenerated from toptal/gitignore.io with a single command.

Install

Make sure Go is installed, then run:

go install github.com/rubiin/ignit@latest

Usage

ignit

Fire up your terminal, type ignit, and you get a nice select interface from which you can choose what you want in your gitignore.

Options
Flag Description
-update-list Re-fetch the template list from gitignore.io and regenerate the embedded list
-v, --version Print the version

Keyboard shortcuts: ↑/↓ to move, / to filter, enter to select, ctrl+c to quit.

Building from source

A justfile is included:

just build   # build the binary
just test    # run tests
just lint    # golangci-lint

Project layout

main.go              entry point: flags, program flow, .gitignore download
internal/picker/     fuzzy-filtering Bubble Tea select list
internal/envlist/    fetches and regenerates the environment list
internal/envs/       embedded environment snapshot (generated)

License

GPL-3.0

Made with ❤️ for opensource.

Documentation

Overview

Command ignit is a CLI app that quickly generates .gitignore files.

The root package is wiring only: flag handling, the picker/download program flow, and the gitignore download itself. The picker lives in internal/picker, the list generator in internal/envlist, and the embedded environment snapshot in internal/envs.

Directories

Path Synopsis
internal
envlist
Package envlist fetches and renders the gitignore.io environment list used to regenerate the embedded snapshot in internal/envs.
Package envlist fetches and renders the gitignore.io environment list used to regenerate the embedded snapshot in internal/envs.
envs
Package envs holds the static environment list snapshot embedded in the binary.
Package envs holds the static environment list snapshot embedded in the binary.
picker
Package picker provides a fuzzy-filtering select list built with Bubble Tea: a filter input, highlighted matches, a cursor, and a scrollable 10-row window.
Package picker provides a fuzzy-filtering select list built with Bubble Tea: a filter input, highlighted matches, a cursor, and a scrollable 10-row window.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL