## Contributing 1. Checkout branch ponzu-dev 2. Make code changes 3. Test changes to ponzu-dev branch - make a commit to ponzu-dev - to manually test, you will need to use a new copy (ponzu new path/to/code), but pass the --dev flag so that ponzu generates a new copy from the ponzu-dev branch, not master by default (i.e. `$ponzu new --dev /path/to/code`) - build and run with $ ponzu build and $ ponzu run 4. To add back to master: - first push to origin ponzu-dev - create a pull request - will then be merged into master _A typical contribution workflow might look like:_ ```bash # clone the repository and checkout ponzu-dev $ git clone https://github.com/ponzu-cms/ponzu path/to/local/ponzu # (or your fork) $ git checkout ponzu-dev # install ponzu with go get or from your own local path $ go get github.com/ponzu-cms/ponzu/... # or $ cd /path/to/local/ponzu $ go install ./... # edit files, add features, etc $ git add -A $ git commit -m 'edited files, added features, etc' # now you need to test the feature.. make a new ponzu project, but pass --dev flag $ ponzu new --dev /path/to/new/project # will create $GOPATH/src/path/to/new/project # build & run ponzu from the new project directory $ cd /path/to/new/project $ ponzu build && ponzu run # push to your origin:ponzu-dev branch and create a PR at ponzu-cms/ponzu $ git push origin ponzu-dev # ... go to https://github.com/ponzu-cms/ponzu and create a PR ``` **Note:** if you intend to work on your own fork and contribute from it, you will need to also pass `--fork=path/to/your/fork` (using OS-standard filepath structure), where `path/to/your/fork` _must_ be within `$GOPATH/src`, and you are working from a branch called `ponzu-dev`. For example: ```bash # ($GOPATH/src is implied in the fork path, do not add it yourself) $ ponzu new --dev --fork=github.com/nilslice/ponzu /path/to/new/project ```