This repository contains the Closure Linter - a style checker for JavaScript.

To install the application, run
   python ./setup.py install

After installing, you get two helper applications installed into /usr/local/bin:

   gjslint.py - runs the linter and checks for errors
   fixjsstyle.py - tries to fix errors automatically
