Rygr
Simple scaffolding CLI to setup up a build tool and server to support thick web clients.
Rygr is based on the idea of getting developers writing their web app as fast as possible. It scaffolds a foundational layer that provides a battle-tested stack, and then gets out of the way.
Everything generated by Rygr is customizable to the developer's needs. Towards that end, it utilizes popular open source projects like Bower, Gulp, npm, and Express, to make it easy to add, remove, and change any behavior of the server, build tasks, languages, compilers and dependencies.
Prerequisites
Rygr is written in CoffeeScript and generates Node projects that utilize Bower and Gulp.
To install Node via Homebrew, run:
brew updatebrew install node
Rygr is intended to be run as a global npm:
npm install -g rygr
Init
To initialize a new Rygr project, go to the directory and run:
rygr init
Alternatively, you can have Rygr create the directory as part of the scaffolding by including the project name:
rygr init <name>
What's generated?
Rygr generates a new project that is supported by npm, Gulp, and Bower.
Front end:
- RequireJS
- CoffeeScript
- SASS w/Bourbon (using LibSass)
- Jade JS templates
- Jade HTML pages
- Static files
- Image optimization
- Bower for 3rd party dependencies
Server:
- Express server with middleware and Jade views
The thick client is supported by a simple Express server. It uses middleware options to properly load a build of the client and support and push state URLs. The server can also be extended with additional functionality (like an API) with no problems.
Build tool
Rygr uses Gulp.js as it's build tool.
To build the npm:
gulp build
To build, watch for changes, and develop locally:
gulp build && npm link && gulp watch
Rygr also provides a blank test command via Gulp that is accessible by either
running npm test
or gulp test
.