Skip to content
/ gignr Public

Effortlessly Manage and Generate .gitignore files

License

Notifications You must be signed in to change notification settings

jasonuc/gignr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gignr

gignr is a powerful CLI tool designed to help developers fetch, manage, and create .gitignore templates with ease. It integrates templates from GitHub, TopTal, and user-defined repositories.

✨ Features

  • 📦 Fetch .gitignore templates from:
    • GitHub
    • GitHub Global
    • GitHub Community
    • TopTal
    • Custom user-defined repositories
  • 🔍 TUI-powered template search with filtering and selection.
  • Merge multiple templates into a single .gitignore file.
  • 💾 Save and manage .gitignore templates locally.
  • 🛠️ Highly configurable via config.yaml.

📥 Installation

  • Using Go 🐹

    go install github.com/jasonuc/gignr@latest
  • Using Homebrew 🍺

    brew tap jasonuc/tap && brew install gignr

📌 Usage

🛠️ Creating a .gitignore File

gignr create gh:Go tt:clion best_go_gitignore
  • gh: → Fetch from GitHub
  • ghg: → Fetch from GitHub Global
  • ghc: → Fetch from GitHub Community
  • tt: → Fetch from TopTal
  • (No prefix) → Fetch from locally saved templates

🎯 Adding a Custom Repository

gignr add https://github.com/jasonuc/gitignore-templates -n jc
  • -n myrepo sets a nickname for the repository.

🔍 Searching for Templates (TUI)

gignr search
  • Navigate sources: ←/→, tab
  • Select template: Enter
  • Filter templates: Start typing
  • Copy command to generate selection: Shift + C
  • Exit: Ctrl + C

💾 Saving a Custom .gitignore

gignr save best_go_gitignore
  • Saves .gitignore from the current directory to local storage.
  • Storage path is configurable in config.yaml.

⚙️ Configuration (config.yaml)

Located at: ~/.config/gignr/config.yaml

templates:
  storage_path: "~/.config/gignr/templates"
repositories:
  jc: "https://github.com/jasonuc/gitignore-templates"

🤝 Contributing

Contributions are welcome!
Fork the repo, make your changes, and open a Pull Request 🚀

📜 License

This project is licensed under the MIT License.