= BARD gem

This is a collection of tools designed to ease collaboration within BOTandROSE design.
It wraps git, capistrano, thor, and rake to make things as simple as:

  bard push
  bard pull

=== Requirements
    git      --version >= 1.6.4
    rubygems --version >= 1.3.4
    ruby     --version == 1.8.7

=== Joining Bard

	==== On any platform:
		- gem install bard

	==== On Linux:

		- Install RubyGems:
			$> wget ...
			$> ...

		- Install Rake:
			$> sudo gem install rake
			( NOTE: the sudo )

		- Install Apache
			$> sudo apt-get install apache2

		- Install Mysql
			$> sudo apt-get install mysql-server
			$> sudo /etc/init.d/mysql start
			( No password for root, if it asks )
			
		- Install Passenger
			$> sudo gem install passenger

			$> sudo apt-get install apache2-prefork-dev as root.
			$> sudo apt-get install libapr1-dev as root.
			$> sudo apt-get install libaprutil1

			$> sudo passenger-install-apache2-module

		- Setup rails environment:
			Add line to /etc/apache2/apache2.conf:
				RailsEnv development
			$> apache2ctl restart
				
	==== On Mac:
		- ???Wtf ? I dunno. eff macs

== Todos

=== Joining an existing project
	bard join will probably either do all these steps automatically, or help you do them:
	This list summarizes the existing steps needed to join a project.

	$> bard join <project-name>

	- Clone the project
		- (git clone git@git.botandrose.com:<project-name>.git)
		- Init and update submodules

	- Set up local environment:
		- Apache
			Put in /etc/apache2/sites-avaliable/<project-name>:
				<VirtualHost *:80>
					ServerName <project-name>.local
					DocumentRoot $HOME/$BardRoot/<project-name>/public
				</VirtualHost>

			$> a2ensite <project-name>
			$> apache2ctl restart

		- Set up /etc/hosts:
			append this line to /etc/hosts:
				127.0.0.1 <project-name>.local

		- Setup database yaml
			- sensible default:
				login: &login
					adapter: mysql
					database: <project-name>
					username: root
					password:
					socket: /var/run/mysqld/mysqld.sock

				development:
					<<: *login

				test: &TEST
					<<: *login
					database: <project-name>_test

				cucumber:
					<<: *TEST


		- Set up gems:
			$> rake gems:install

		- Set up database
			$> rake db:create
			$> rake db:migrate

		- Seed database from staging or production
			$> bard data

=== 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) 2009 Micah Geisel, Nick Hogle. See LICENSE for details.