title: Using Grunt on Heroku without defiling devDependencies
body: <p>I understand, in general, the most frequent way Grunt is used on Heroku -- load the buildpack, specify your <code>grunt heroku</code> task(s), and include any Grunt plugins you want to use on the Heroku dyno in your <code>package.json:dependencies.</code> </p>
  
  <p>However, I find this to be a rather poor solution, because it miscommunicates about my app. My Grunt plugins are all more like <code>devDependencies</code>, as I will only run anything with Grunt one time (per deploy). My app doesn't directly depend on them to run, as it's mostly minification and template compilation.</p>
  
  <p>I'm also trying to keep compiled files (e.g. <code>.css</code> and <code>.html</code> files when I'm writing in Sass and Handlebars) out of source control, so pushing them over from Github is possible but definitely not what I want.</p>
  
  <p>Is there a way to do all of the following?</p>
  
  <ul>
  <li>exclude <code>.css</code> and <code>.html</code> files from Git</li>
  <li>write stylesheets and markup using Sass and Handlebars</li>
  <li>push a basic Express app containing these files to Heroku</li>
  <li>have Heroku run a server-relative version of my <code>grunt build</code> task (naming it whatever is necessary is fine) to compile and prepare all of the views and assets before launching the <code>web:</code> process</li>
  <li>have Heroku's Grunt task intelligently understand that I just want some pre-launch compilation so it will look at <code>devDependencies</code> and install the relevant ones in a perhaps-temporary kind of way</li>
  <li>launch the Express server via the <code>web:</code> process</li>
  </ul>
  
  <p>I'm fine with having to write my own buildpack, or whatever needs to be done to do this (what I perceive to be) the right way.</p>