Git Product home page Git Product logo

joe's Introduction

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 .gitignore files
  • 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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.