All Projects β†’ shihanng β†’ gig

shihanng / gig

Licence: MIT license
Generate .gitignore files from your terminal (mostly) offline!

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to gig

gitignore.cli
A commandline tool to create gitignore files
Stars: ✭ 24 (-61.9%)
Mutual labels:  gitignore, gitignore-files, gitignore-cli
GIG
[Unmaintained] A cli πŸ’» tool to generate gitignore files for your projects. Written in python 🐍
Stars: ✭ 16 (-74.6%)
Mutual labels:  gitignore, gitignore-generator, gitignore-cli
ignore-sync
a CLI tool to build and sync .*ignore files across files and repositories
Stars: ✭ 15 (-76.19%)
Mutual labels:  gitignore, gitignore-files, gitignore-generator
Gibo
Easy access to gitignore boilerplates
Stars: ✭ 1,687 (+2577.78%)
Mutual labels:  gitignore, gitignore-files, gitignore-generator
helm-gitignore
Helm interface for generating .gitignore files
Stars: ✭ 20 (-68.25%)
Mutual labels:  gitignore, gitignore-files
Gitignore.io
.gitignore.io is a web service designed to help you create .gitignore files for your Git repositories. The site has a graphical and command line method of creating a .gitignore for your operating system, programming language, or IDE.
Stars: ✭ 6,709 (+10549.21%)
Mutual labels:  gitignore, gitignore-files
Gitignore parser
A spec-compliant gitignore parser for Python 3.5+
Stars: ✭ 57 (-9.52%)
Mutual labels:  gitignore
Gitignore
A collection of useful .gitignore templates
Stars: ✭ 127,388 (+202103.17%)
Mutual labels:  gitignore
Coala Quickstart
A tool that generates an initial coala config file for you!
Stars: ✭ 47 (-25.4%)
Mutual labels:  gitignore
Gitignore
Create .gitignore files from gitignore.io templates
Stars: ✭ 27 (-57.14%)
Mutual labels:  gitignore
gitignore.nix
Nix functions for filtering local git sources
Stars: ✭ 175 (+177.78%)
Mutual labels:  gitignore
Git-for-bio-scientists
Presentation about digital lab journalling with Git
Stars: ✭ 30 (-52.38%)
Mutual labels:  gitignore
Cocoapods Tips
iOS 라이브러리λ₯Ό κ΄€λ¦¬ν•˜λŠ” CocoaPods Tip정보 λͺ¨μŒμž…λ‹ˆλ‹€.
Stars: ✭ 141 (+123.81%)
Mutual labels:  gitignore
Blindfold
πŸ”Ž Gitignore file generator written in rust
Stars: ✭ 60 (-4.76%)
Mutual labels:  gitignore
vscode-ignore-gitignore
[unmaintained] Add files from .gitignore to your VS Code ignored files.
Stars: ✭ 17 (-73.02%)
Mutual labels:  gitignore
Gogi
Go client for gitignore.io
Stars: ✭ 51 (-19.05%)
Mutual labels:  gitignore
GiG
πŸŽ‰ generate gitignore files for almost all languages
Stars: ✭ 24 (-61.9%)
Mutual labels:  gitignore-files
Gitignore
.gitIgnore file for Salesforce or Force.com Projects
Stars: ✭ 27 (-57.14%)
Mutual labels:  gitignore
Bliss
Ignorance is bliss! Ignore your .gitignore
Stars: ✭ 131 (+107.94%)
Mutual labels:  gitignore
dotfiles
/home/yous
Stars: ✭ 43 (-31.75%)
Mutual labels:  gitignore

gig -- .gitignore generator

GitHub GitHub release (latest by date) Go Report Card Coverage Status

gig is a command line tool to help you create useful .gitignore files for your project. It is inspired by gitignore.io and make use of the large collection of useful .gitignore templates of the web service. This also means that gig supports the are four file types that gitignore.io recognizes. Content generated by gig should match the one generated by gitignore.io except the order of stacks in which gitignore.io does not seem to guarantee any.

Motivation

Prior to this project, I used to have one of these command lines in my .zshrc. However, problems I have with this command line are that

Therefore this tool is created to solve the two main problems above.

Install

Homebrew (macOS)

brew install shihanng/gig/gig

Binaries

The release page contains binaries built for various platforms. Download then extract the binary with tar -xf. Place the binary in the $PATH e.g. /usr/local/bin.

With go get

go get github.com/shihanng/gig

Usage

There are several ways you can generate the .gitignore file:

Using the supported language as input arguments

$ gig gen Go Elm

### Elm ###
# elm-package generated files
elm-stuff
# elm-repl generated files
repl-temp-*

### Go ###
# Binaries for programs and plugins
...

At the very first run the program will clone the templates repository https://github.com/toptal/gitignore.git into $XDG_CACHE_HOME/gig. This means that internet connection is not required after the first successful run.

Using the search functionality (depends on fzf)

$ gig search

gig search demo

Using the EXPERIMENTAL auto generate functionality

$ gig autogen

For more information, see

gig --help

Development

Found a bug or want to hack around? Clone the repository:

git clone [email protected]:shihanng/gig.git

When you are ready run the tests:

make test
make integ-test
make lint

Where test run the tests that can be run locally. integ-test run the tests that require internet access. lint help you write better Go codes.

Add subcommand with cobra (version managed in tools.go with go.mod):

$ cobra --config .cobra.yaml add <new subcommand>

Update golden file:

$ go test . -tags=integration -update
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].