rackerlabs / canon

A front-end framework for fast & consistent development of Rackspace UIs.
http://rackerlabs.github.io/canon/
Other
30 stars 22 forks source link

http://92f886790563f0d2e9da-ca7505e8b565bfde1147b2852ab5bbdb.r79.cf1.rackcdn.com/canon-logo-black.png

Build Status

This README contains information on setting up the Canon development environment on your local machine. Use these instructions if you intend to develop Canon elements and contribute code back to the project.

For information on including Canon CSS and javascript in your application, see http://canon.rackspace.com.

SYSTEM REQUIREMENTS

SETUP

Setting up your Canon development environment is easy:

$ git clone https://github.com/rackerlabs/canon.git
$ script/bootstrap
$ grunt server

The Canon server is now running at http://0.0.0.0:8000. Before running automated tests, you'll need to set the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables. If you run into any issues, submit an issue.

VAGRANT SUPPORT

If you are on Windows, or you don't already have a working Ruby and Node.js development environment, it may be easier to run the development environment inside of an automatically-configured Vagrant VM.

First install Vagrant and VirtualBox, then from the command line enter:

$ vagrant up
$ vagrant ssh -c 'cd /vagrant; grunt server'

Read the comments in the Vagrantfile for more details.

CONTRIBUTING

We use GitHub flow as our process for contributing. In short:

  1. Fork Canon to your GitHub account and clone the forked repository.
  2. git checkout master - Switch to the master branch.
  3. git pull origin master - Pull the latest revision from GitHub.
  4. git checkout -b FEATURE_NAME - Create a feature branch.
  5. Make and commit changes to the feature branch.
  6. grunt - Verify all tests are passing.
  7. git push origin FEATURE_NAME - Push changes to GitHub.
  8. Open a pull request and wait for your changes to be reviewed.
  9. After addressing pull request feedback, your changes will be merged.

Commit messages should use the following format for easier changelog generation:

[TYPE][ID] Description

Body

Type can be: Feature, Bug, Style, Test, Maintenance ID is the Trello card number being implemented.

Release Channels

Canon provides builds of our assets that can be downloaded from our CDN. These builds are split into the following release channels:

Stable

Production-ready releases of Canon that have been vetted by consumers of our early access channels. These builds are intended for use in production environments. Builds in this channel follow semantic versioning and are available for download at:

https://d2f1vphzg44t28.cloudfront.net/stable/vX.X.X/canon.min.css

Development

The development channel compliments the stable channel by providing every builds for every single commit to Canon's master branch. Do not use these builds in a production environment. They are intended for use by early access consumers in order to vet potential releases.