joe
joe copied to clipboard
:running: A .gitignore magician in your command line

joe
A .gitignore magician in your command line. Joe generates .gitignore files from the command line for you.

Features
- Written in uncomplicated Go (Golang)
- No installation necessary - just use the binary.
- Stupidly easy to use
- Supports all Github-supported
.gitignorefiles - Works on Mac, Linux and (maybe) Windows
- Supports other version control systems (
.hgignore)
Installation
After install, make sure to run joe u. This will download all .gitignore files in ~/joe-data/ folder.
Option 1: Binary
joe is available for OSX (macOS), Linux and Windows.
Download the latest binary from the Releases page. It's the easiest way to get started with joe.
Make sure to add the location of the binary to your $PATH.
Option 2: From source
$ git clone [email protected]:karan/joe.git
$ cd joe/
$ chmod +x tool.sh
$ ./tool.sh build
Usage
Commands:
ls | list list all available files
u | update update all available gitignore files
g | generate generate gitignore files
Basic usage
$ joe g java # outputs .gitignore file for java to stdout
To update your .gitignore files at any time, simply run:
$ joe u
Overwrite existing .gitignore file
$ joe g java > .gitignore # saves a new .gitignore file for java
Append to existing .gitignore file
$ joe g java >> .gitignore # appends to an existing .gitignore file
Multiple languages
$ joe g java,node,osx > .gitignore # saves a new .gitignore file for multiple languages
Create and append to a global .gitignore file
You can also use joe to append to a global .gitignore. These can be helpful when you want to ignore files generated by an IDE, OS, or otherwise.
$ git config --global core.excludesfile ~/.gitignore # Optional if you have not yet created a global .gitignore
$ joe g OSX,SublimeText >> ~/.gitignore
List all available files
$ joe ls # OR `joe list`
Output:
actionscript, ada, agda, android, anjuta, appceleratortitanium, archives, archlinuxpackages, autotools, bricxcc, c, c++, cakephp, cfwheels, chefcookbook, clojure, cloud9, cmake, codeigniter, codekit, commonlisp, composer, concrete5, coq, craftcms, cvs, dart, darteditor, delphi, dm, dreamweaver, drupal, eagle, eclipse, eiffelstudio, elisp, elixir, emacs, ensime, episerver, erlang, espresso, expressionengine, extjs, fancy, finale, flexbuilder, forcedotcom, fortran, fuelphp, gcov, gitbook, go, gradle, grails, gwt, haskell, idris, igorpro, ipythonnotebook, java, jboss, jdeveloper, jekyll, jetbrains, joomla, jython, kate, kdevelop4, kohana, labview, laravel, lazarus, leiningen, lemonstand, libreoffice, lilypond, linux, lithium, lua, lyx, magento, matlab, maven, mercurial, mercury, metaprogrammingsystem, meteor, microsoftoffice, modelsim, momentics, monodevelop, nanoc, netbeans, nim, ninja, node, notepadpp, objective-c, ocaml, opa, opencart, oracleforms, osx, packer, perl, phalcon, playframework, plone, prestashop, processing, python, qooxdoo, qt, r, rails, redcar, redis, rhodesrhomobile, ros, ruby, rust, sass, sbt, scala, scons, scrivener, sdcc, seamgen, sketchup, slickedit, stella, sublimetext, sugarcrm, svn, swift, symfony, symphonycms, tags, tex, textmate, textpattern, tortoisegit, turbogears2, typo3, umbraco, unity, vagrant, vim, virtualenv, visualstudio, vvvv, waf, webmethods, windows, wordpress, xcode, xilinxise, xojo, yeoman, yii, zendframework, zephir
BONUS ROUND: Alternate version control software
Joe isn't just a generator for .gitignore files. You can use it and its output wherever a SCM is used.
$ joe g java > .hgignore
Contributing
Bug Reports & Feature Requests
Please use the issue tracker to report any bugs or file feature requests.
Developing
PRs are welcome. To begin developing, do this:
$ git clone [email protected]:karan/joe.git
$ cd joe/
$ go run *.go
tool.sh
This is a handy script that automates a lot of developing steps.
USAGE:
$ $tool [-h|--help] COMMAND
EXAMPLES:
$ $tool deps Install dependencies for joe
$ $tool build Build a binary
$ $tool run Build and run the binary