Skip to content
This repository has been archived by the owner on Sep 15, 2020. It is now read-only.

Development Protocols

Timo edited this page Jun 8, 2017 · 10 revisions

Social

We are committed to foster a vibrant thriving community, including growing a culture that breaks cycles of marginalization and dominance behavior. In support of this, some open source communities adopt Codes of Conduct. We are still working on our social protocols, and empower each team to describe its own Protocols for Inclusion. Until our teams have published their guidelines, please use the link above as a general guideline.

Coordination

  • For task management we use Waffle or for the non-kan-ban view github's issues
  • All tickets should be "bite-sized" i.e. no more than a week's worth of coding work. Larger tasks are represented in Milestones.
  • Chat with us on Gitter or Slack
  • We have a weekly dev-coord hangout on Tuesday's 9am PST/ 12pm EST

Test Driven Development

We use test driven development. When you add a new function or feature, be sure to add the tests that make sure it works. Pull requests without tests will most-likely not be accepted!

Code Formatting Conventions

All Go code must be formatted with gofmt. To make this easier consider using a git-hook or configuring your editor with one of these:

Emacs vim Sublime Eclipse

For Atom, you could try this package but it requires some configuration.

Git Hygiene

This section describes guidelines for using git and making changes to the repo.

Quick Version

  • Make your changes on a seperate branch. Make sure the branch is based on master.
  • Use commit messages descriptive of your changes.
  • Push to the upstream of your new branch.
  • Create a pull request on github.
  • When merging a pull request, make sure to use the "Rebase and merge" option.

The Verbose Version for newbies

Start out on master. You can check this by using git status.
Before making your changes use git pull so that you are working on the latest version of master.

$ git pull

Then use git branch to create a new branch for doing your work. Make sure to name it something that describes your changes.

$ git branch branchName

Even though you've now created a new branch, you aren't "on" that branch yet. Switch from Master to your new branch by using git checkout

$ git checkout branchName

Then make your changes directly by editing the files.

Once you're finished making changes, use git commit -m to confirm them and describe what you changed (in quotes).

$ git commit fileName -m "description of changes"

When prompted for the message, write a description of what you did.

Push the changes to origin (github) using git push --set-upstream

Do a pull request using the online github interface.

Select branch Select the branch that you have been working on by clicking on the branches button.

Button which says 'New pull request' On your branch, click "New Pull Request"

Add message and confirm pull request' Add message and click "confirm pull request"

Please see our new documentation site at developer.holochain.org.

Intro

External Links

Holochain Core Development

Dev pages, need integrating into the wiki

Docker install for Devs

Clone this wiki locally