This repository is under development and is currently changing to keep up with freecodecamp. If you have issues please submit an issue and it will be addressed as quickly as possible. See the changelog.
Contributing to a project can be difficult at times. The project might require a lot of configuration and some tools that you might not have installed on your local machine.
The point of this project is to give you an environment which you can use to help develop FreeCodeCamp.
You spin up the environment, make your contribution, and create a pull request.
- Install Vagrant
- Select the OS that you're working with
- Download and run the installer (may require system restart)
- Confirm Vagrant is installed
- Open a terminal window in which ever OS you're working in
- Enter the command
vagrant --version
- Result should be
Vagrant 1.7.4
(as of this commit)
- Install hostmanager vagrant plugin
- Open a terminal window in which ever OS you're working in
- Enter the command
vagrant plugin install vagrant-hostmanager
- favourite editor
- browser
- contributing idea
Clone repo
$ git clone https://github.com/freecodecamp/fcc-vagrant.git
Get into working directory
$ cd fcc-vagrant
Initialize submodules
$ git submodule init
$ git submodule update
Spin up machine with vagrant
$ vagrant up
Tunnel into machine
$ vagrant ssh
Get into freecodecamp directory
$cd freecodecamp
Run the app
$ gulp
profit.
(How to develope and contribute with this repo)
- Vagrantfile for FreeCodeCamp
- Vagrant will spin up Ubuntu 14.04 (Trusty)
- Machine will be provisioned by puppet
- Puppet:: Apt-Get update
- Puppet:: Dev Tools ( module listed below )
- Puppet:: Node.js (v4.2.2)
- Puppet:: MongoDB
- Puppet:: Freecodecamp ( module listed below )
- Machine will be provisioned by puppet
- Vagrant will create sync folder
- Sync:: ./freecodecamp -> /home/vagrant/freecodecamp
- Vagrant will spin up Ubuntu 14.04 (Trusty)
git
m4
ruby
vim-common
curl
htop
g++
build-essential
texinfo
libbz2-dev
libcurl4-openssl-dev
libexpat-dev
libncurses-dev
zlib1g-dev
git clone freecodecamp
reponpm config set jobs 1
npm install
npm install -g bower
npm install -g gulp
bower install
touch .env
filenpm run only-once