Ruby JavaScript
Pull request Compare This branch is 1 commit ahead, 61 commits behind defunkt:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


..................... dotjs ........................

dotjs is a Google Chrome extension that executes JavaScript files in ~/.js based on their filename.

If you navigate to, dotjs will execute ~/.js/

This makes it super easy to spruce up your favorite pages using JavaScript.

Bonus: files in ~/.js have jQuery 1.6 loaded, regardless of whether the site you're hacking uses jQuery.

Double bonus: ~/.js/default.js is loaded on every request, meaning you can stick plugins or helper functions in it.

GreaseMonkey user scripts are great, but you need to publish them somewhere and re-publish after making modifications. With dotjs, just add or edit files in ~/.js.


$ cat ~/.js/
// swap github logo with trollface
$('#header .logo img')
  .css('width', '100px')
  .css('margin-top', '-15px')
  .attr('src', '//')

How It Works

Chrome extensions can't access the local filesystem, so dotjs runs a tiny web server on port 3131 that serves files out of ~/.js.

You don't have to worry about starting or stopping this web server because we put a pretty great plist into ~/Library/LaunchAgents that handles all that for us.

The dotjs Chrome extension then makes ajax requests to http://localhost:3131/ any time you hit a page on, for example, and executes the returned JavaScript.


  • OS X
  • Ruby 1.8
  • rake (gem install rake)
  • Google Chrome
  • /usr/local/bin in your $PATH

Install it

git clone
cd dotjs
rake install

Chromium vs Google Chrome

Multiple Chromes installed? Drag builds/dotjs.crx to whichever is your favorite.

Uninstall it

rake uninstall


"I almost wish you could just stick JavaScript in ~/.js. Do you know what I'm saying?"

Other Browers