WoW 7.0 web-based Spreadsheet
JavaScript CoffeeScript Ruby CSS Python HTML Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app Tier 21 and antorus trinkets Nov 29, 2017
backend Fix back-ported patch for t21 Dec 19, 2017
public Fix artifact backgrounds to actually match icon placement Dec 20, 2016
script Initial commit Oct 17, 2010
spec Automatically refresh character data from the armory if it is outdate… Sep 19, 2016
.gitignore Fixed loading of warforged items from non-raid-normal contexts Jun 21, 2016
.gitmodules Added html5 history technique as import/export. Mar 14, 2011
Capfile Add Capistrano deploy Sep 6, 2016
README.markdown Add info about engine and vm projects to the README Jul 29, 2015
Rakefile Initial commit Oct 17, 2010




ShadowCraft is a framework for rogue gear, talent, gem, reforge, enchant, glyph, and rotation optimization. The goal is to have a tool that can run as close to entirely clientside as possible. This project is the UI portion of this system. The current version of the backend engine resides at

Currently, ShadowCraft uses server-side Ruby for Armory/Wowhead data import and distilling into JS files for consumption by the client.

If you are interested in assisting with development on either the UI or engine, look at the Shadowcraft-VM project for easy startup.


Requires Ruby 1.9.2, Rails 3, Coffeescript (which means node.js), and MongoDB 1.6+, as well as a browser made this decade.

The engine requires Python 2.6 and a recent version of Twisted.

Installing it

git clone git://
cd shadowcraft-ui/
bundle install

Start it up (passenger, unicorn, thin, whatever your poison) and you're rolling. Sweet.

Initial data population

You'll want items in your database. Fortunately, that's easy.

rails console production
> Item.populate_gear
> Item.populate_gems
> Glyph.populate!
> Enchant.update_from_json!

Congrats. You now have ~2000 items and gems locally cached.



  • All client app updates are done in coffeescript, and make.watchr is used to compile them into concatenation.js.
  • Markup should validate as HTML5.
  • Javascript should be tested for workingness in Chrome, Firefox 3.6/4, Safari, and IE9.
  • Commits shall have useful (terse is okay) commit messages.
  • A test suite would be particularly welcome.

How To:

  • Clone this repository
  • Make your changes and publish to your own GitHub copy of the repository
  • Issue a pull request. More information with the pull request is more likely to end up with a merge.