Development VM Image
Pages 9
Getting Started
In the interest of making it easier to contribute code to LessWrong, the Public Goods Team has commissioned the creation of a virtual machine image configured to host the site. Now, all you have to do is use vagrant to set up the virtual machine and do a little tweaking at the end.
Install VirtualBox and Vagrant:
Make the Virtual Machine:
Before you begin, make sure you're developing on a case-sensitive filesystem. This is almost certainly the case for GNU/Linux users. People developing on OS X should make a case-sensitive disk image using Disk Utility and keep the checkout inside that image.
Check out, clone or fork-and-check-out the lesswrong source. Check out the submodules (except config/cap-tasks, which is only relevant for production):
/path/to/lesswrong$ git submodule init
/path/to/lesswrong$ git submodule deinit config/cap-tasks
If you are planning on merging your work into the master branch and have the necessary credentials to do so, then also run:
/path/to/lesswrong$ git submodule update
The Vagrantfile is in the root of the repository. cd there and run vagrant up, then wait a little. See here if you get the error message "The provider 'libvirt' could not be found, but was requested to back the machine 'default'. Please use a provider that exists.".
You should now have a running VM, but there's still a couple of things left to do:
Lesswrong likes to be served from a given domain. Make an entry in /etc/hosts:
127.0.0.1 lesswrong.local
Start the paster server:
/path/to/lesswrong$ vagrant ssh
vagrant@precise64:~$ cd /vagrant/r2
vagrant@precise64:/vagrant/r2$ paster serve --reload development.ini
Initial Configuration
You can now point your browser to http://lesswrong.local:8080 and get sensible-looking pages. An "admin" user has been created with a default password of "swordfish".
Running Tests
The various testing methods (unit tests, manual tests, selenium tests) are all specified in the hacking page.
Contributing
Documentation
As you acquaint yourself with the Less Wrong source, consider summarizing your insights in this wiki to lower the barrier to contribution from others.
Bugs
Bugs/Issues are tracked here: http://code.google.com/p/lesswrong/issues/list
Code
TrikeApps updates the site based on pull requests through github.
Additional Resources
- Hacking-on-Less-Wrong
- Contributing-to-Less-Wrong
- You can see questions and answers with a Less Wrong developer here: http://lesswrong.com/lw/7x1/prize_for_the_best_introduction_to_the_lesswrong/ (note that the deadline has passed for the prize described in the post, though)