Roots Component working hack create component.json NOTE: Whatever you use as the name in this will be same name you use in step 3 add your components and list /public/js/main.js as your script in layout.jade remove the require.js script and add: script(src="js/build.js") script. require('name-from-component.js') npm install component-builder component-resolver --save in app.coffee require component-builder, component-resolver, & fs then under module.exports = add this after: (roots, cb) -> resolve(process.cwd(), install: true , (err, tree) -> if err then cb(err) build.scripts(tree) .use('scripts', build.plugins.js()) .end((err, str) -> if err then cb(err) fs.writeFile("./public/js/build.js" , build.scripts.require + str , cb ) ) ) If you didn't install the component dependencies, roots watch or roots compile will do that for you run roots watch and see the magic happen!