= Project * Overview * Installation * Usage * Bugs * Note on Patches/Pull Requests == Overview Project aims to make working with multiple projects as simple as possible. By registering projects with workflows you can quickly create a set of commands that will be run against each project. == Installation The project is hosted on rubygems.org. Getting it is simple: gem install project Once the gem is installed run: project install Assuming you haven't already had the gem installed this will create a file at ~/.project. This is the main configuration file used to drive project. == Usage Project uses a YAML file for its configuration. Edit the file located in at ~/.project to you liking. === Projects A project can be anything revolving around a particular context. A typical use case would be opening your default environment surrounding a particular project. An example project configuration might look like this: :name: :path: /path/to/project :workflow: default The only required key within a project is *workflow*. This is important as you need to tell project which workflow to apply against the project. Any other variables specified here will be passed through to a workflow (more on this below). ==== Workflows A workflow is a set of commands you want run against a particular project. An example workflow might look something like this: :default: - cd %path A workflow is just a YAML array of templated commands. Any variable used in a workflow will get looked up on the project that is running it. In the example above the %path variable has been replaced by the path specified within the project. Using this method you can quickly build up a set of common workflows to use against any project. === Running a project Running a project is simple, just specify the name of the project you want to load and the workflow will run for it: project name == Bugs If you have any problems with Project, please file an issue at http://github.com/joshnesbitt/project/issues. == Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2010 Josh Nesbitt . See LICENSE for details.