== link:index.html[Index] -> link:dev.html[Development info]
Development: Quickstart
-----------------------
So, you have found things in Cherokee worth improving and feel the
urge to contribute to the project. But where to start?
The first thing, of course, is setting up a development/testing
environment for Cherokee.
The relevant documents would be those about
link:basics_requirements.html[software requirements],
link:basics_download.html[downloading the GIT repository], and the
link:basics_installation_unix.html[quickstart installation notes].
In principle, provided you have the required tools in your system, it
should be as easy as:
----
git clone --recursive git://github.com/cherokee/webserver.git ~/cherokee
cd ~/cherokee_dev
git submodule update --init #not needed on Git >= 1.6.5
./autogen.sh --enable-beta --enable-trace
make
----
You should probably read all the link:dev.html[development info]
section of the documentation, and go through the
link:http://bugs.cherokee-project.com/[Cherokee Project Bugtracker] to
make sure you are not wasting your effort working on something already
solved.
Joining the
link:https://groups.google.com/forum/#!forum/cherokee-http-dev[development list]
and hanging out at the link:irc://irc.freenode.net/cherokee[#cherokee
IRC channel] are also good ideas.
Quick Tips
~~~~~~~~~~
If you are modifiying the core of Cherokee, don't forget to run the
whole link:dev_qa.html[QA] bench to ensure no regressions are being
introduced by your changes.
Additionally, if you are modifying cherokee-admin, don't forget to run
the modified instance instead of the one in the system, which can be
specified with the -d (--appdir) parameter:
----
cherokee-admin -d ~/cherokee_dev/admin
----
And that's about it. You should be able to get your hands dirty from
here. Happy hacking!