--- title: Developing FIRSTwiki layout: page tags: contributing ---
This page is targeted to those who want run FIRSTwiki locally; typically you're either a more technical user or you want to hack on FIRSTwiki at a more technical level: changing layouts, adding includes, changing the look and feel of the site, and other such tasks.
FIRSTwiki is a collection of git repositories. As such, working with it is a little bit clunky at first, but we've created various scripts to make it easier to work with the FIRSTwiki when doing local development. ### Environment setup Currently all the documentation for setting up your development environment is in the [README.md](https://github.com/firstwiki/_scripts/blob/master/README.md) of the [_scripts repository](https://github.com/firstwiki/_scripts). Clone that git repository and follow the instructions. Unfortunately, the environment is only supported on OSX or Linux. However, we welcome improvements to make it work on Windows. :) ### dev.sh Once the environment is set up, there is a script called `dev.sh` which you can use to do a lot of useful development tasks across all of the repositories. To update all of your repos: ./dev.sh pull Or to build all sites: ./dev.sh build To serve an individual site locally, you can use jekyll to do this. Each repo has 'run_server.sh' script that makes the site available at `http://localhost:4000/URL`: cd wiki ./run_server.sh To serve all of the sites at the same time, then use this (requires all sites to be built first!) ./dev.sh serve_site If you wish jekyll to watch the files and autoregenerate them when serving the site, this will launch all of the sites and watch them: ./dev.sh serve_site --watch There's a lot more it can do... run it without any arguments, or read the script to find more commands. ### jekyll-admin The Gemfiles for the FIRSTwiki repos now include [jekyll-admin](https://github.com/jekyll/jekyll-admin), which is intended to provide a web interface that allows you to edit your jekyll site in a CMS-like environment. Unfortunately, because of some bugs it doesn't quite support our layout... but hopefully this will be a good editing solution in the future. To access the admin site, go to `http://localhost:4000/admin/` (it's the same URL for all FIRSTwiki repositories).