RED Interactive's boilerplate to initialize common projects.
- Modular hierarchy.
- Auto-renaming of project variables.
- Support for both Django-based and static-based projects.
- node 0.8.4+
brew update && brew upgrade node
- npm 1.1.45+
npm update npm -g
- grunt 0.3.11+
npm install grunt -g
How to use
Creating a project
Using the rbp NPM module
npm install rbp -g rbp new sampleProjectName
git clone https://github.com/ff0000/red-boilerplate.git grunt start
grunt --help for a list of available tasks.
Initialize the project. This is required before running any other task. The task will ask for:
- Your project's title
- Your project's namespace
- A list of available plugins to install
Install a plugin after project initialization. Use via
Builds your project. Functionality varies based on installed plugins.
Watch your project for file changes. Functionality varies based on installed plugins.
- Caboose - RED Interactive's internal SASS + Compass framework
- RED Start - Easy creation of Django projects and applications based the layout used at RED Interactive Agency.
- Statix - Statix is a static website generator.
Creating a plugin
You must create a plugin branch in order to add a plugin to RBP. The plugin branch contains a required
package.json file, along with any RBP-specific files that are not part of your plugin's git repository.
Note that you do not have to target a git repository. Plugins can be self-contained within the plugin branch itself. It's an option you should use if it makes more semantic sense than creating a new git repository.
Check out this repository, then:
git checkout --orphan plugins/sample-plugin-name git rm -rf .
Each plugin must include its own
package.json file. RBP will read through the parameters and perform the appropriate steps to import the plugin. For reference, take a look at Caboose's
repository(optional): An object containing the repo type, the target branch and the repo url.
dependencies(optional): An object containing any
scripts.install(optional): A parameter containing any scripts to run on plugin install
config.scope(optional): A parameter to scope your plugin to a specified directory.