giboでgitignoreを自動生成する

## gibo とは

[GitHubに用意されたテンプレート](https://github.com/github/gitignore)を用いてgitignoreファイルを自動生成するシェルスクリプト。
git ignore boilerplatesの略。

## 導入

* Mac OS環境

```bash
brew update
brew install gibo 
```

* Windows環境（Power Shell）

[Scoop](http://scoop.sh/) を使用する

```bash
scoop update
scoop install gibo
```

## 初期化

github.com/github/gitignore を元にgiboを初期化する

```bash
gibo update
gibo version
gibo 2.2.3 by Simon Whitaker <sw@netcetera.org>
https://github.com/simonwhitaker/gibo
```

## 使い方

NodeのプロジェクトでエディタはVS Codeの場合。

```bash
gibo dump Node VisualStudioCode >> .gitignore
```

こんな感じのgitignoreファイルができます。

```dot:.gitignore
### https://raw.github.com/github/gitignore/7ab549fcae8269fdd4004065470176f829d88200/Node.gitignore

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test


### https://raw.github.com/github/gitignore/7ab549fcae8269fdd4004065470176f829d88200/Global/VisualStudioCode.gitignore

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
```

## giboで設定できる言語や環境など

```bash
Actionscript
Ada
Agda
Android
AppceleratorTitanium
AppEngine
ArchLinuxPackages
Autotools
C++
C
CakePHP
CFWheels
ChefCookbook
Clojure
CMake
CodeIgniter
CommonLisp
Bazel
InforCMS
Kentico
Phoenix
AtmelStudio
esp-idf
IAR_EWARM
Exercism
GNOMEShellExtension
Hugo
JBoss4
JBoss6
Cordova
Meteor
NWjs
Vue
Snap
Logtalk
OpenSSL
Bitrix
CodeSniffer
Drupal7
Magento1
Magento2
Pimcore
ThinkPHP
Puppet
JupyterNotebooks
Nikola
Racket
Red
Splunk
Xilinx
Composer
Concrete5
Coq
CraftCMS
CUDA
D
Dart
Delphi
DM
Drupal
Eagle
Elisp
Elixir
Elm
EPiServer
Erlang
ExpressionEngine
ExtJs
Fancy
Finale
ForceDotCom
Fortran
FuelPHP
Gcov
GitBook
Anjuta
Ansible
Archives
Backup
Bazaar
BricxCC
Calabash
Cloud9
CodeKit
CVS
DartEditor
Diff
Dreamweaver
Dropbox
Eclipse
EiffelStudio
Emacs
Ensime
Espresso
FlexBuilder
GPG
Images
JDeveloper
JEnv
JetBrains
Kate
KDevelop4
Lazarus
LibreOffice
Linux
LyX
macOS
MATLAB
Mercurial
MicrosoftOffice
ModelSim
Momentics
MonoDevelop
NetBeans
Ninja
NotepadPP
Octave
Otto
Patch
PSoCCreator
PuTTY
Redcar
Redis
SBT
SlickEdit
Stata
SublimeText
SVN
SynopsysVCS
Tags
TextMate
TortoiseGit
Vagrant
Vim
VirtualEnv
Virtuoso
VisualStudioCode
WebMethods
Windows
Xcode
XilinxISE
Go
Godot
Gradle
Grails
GWT
Haskell
Idris
IGORPro
Java
JBoss
Jekyll
JENKINS_HOME
Joomla
Julia
KiCad
Kohana
Kotlin
LabVIEW
Laravel
Leiningen
LemonStand
Lilypond
Lithium
Lua
Magento
Maven
Mercury
MetaProgrammingSystem
Nanoc
Nim
Node
Objective-C
OCaml
Opa
OpenCart
OracleForms
Packer
Perl
Perl6
Phalcon
PlayFramework
Plone
Prestashop
Processing
PureScript
Python
Qooxdoo
Qt
R
Rails
RhodesRhomobile
ROS
Ruby
Rust
Sass
Scala
Scheme
SCons
Scrivener
Sdcc
SeamGen
SketchUp
Smalltalk
Stella
SugarCRM
Swift
Symfony
SymphonyCMS
Terraform
TeX
Textpattern
TurboGears2
Typo3
Umbraco
Unity
UnrealEngine
VisualStudio
VVVV
Waf
WordPress
Xojo
Yeoman
Yii
ZendFramework
Zephir
```

## 参考

[simonwhitaker/gibo: A shell script for easily accessing gitignore boilerplates](https://github.com/simonwhitaker/gibo)