Development Workflow

Congratulations, we have everything installed, now it’s time to start working on the project. Run the local server using:

grunt serve

Here are some guidelines and scenarios to show the flow.

Commits and Pull Requests

Make it easier for you and the maintainers, increasing the chances of a pull request getting accepted:

  • No big Pull Requests. It makes reviewing and ensuring correctness hard. If possible, break it to smaller commits/pulls, each related to a specific issue.
  • Always work on a specific issue from our huboard. Open new issue if needed and claim it in the comments.
  • Discuss big things in the open knesset forum.

Before Coding

We need to make sure we’re in sync with changes done by others (upstream).

Important

Please do this every time before you start developing:

Update the code and requirements

Enter your Open-Subs directory, and add the hasadna respoitory:

git remote add hasadna git@github.com:hasadna/Open-Subs.git

Pull upstream changes to your fork just before you start coding:

git pull hasadna master

Note

Running this command requires having SSH keys registered with github. If you don’t have these, or if you don’t understand what this means and do not want to look it up, you can use:

git pull https://github.com/hasadna/Open-Subs.git master

Refresh your code base by running:

npm install; bower install

Testing

grunt test

See devel_tips for a few bash functions that may help.

While Coding

General

Follow this style guide: https://github.com/johnpapa/angularjs-styleguide

When an issue is done

git status # to see what changes you made
git diff filename # to see what changed in a specific file
git add filename # for each file you changed/added.
git commit -m 'Initial docs #7'
git push # pushes changes to your mirror in the clouds

Note

Please write a sensible commit message, and include “#[number]” of the issue number you’re working on (if any).

Go to github.com and send a “pull request” so your code will be reviewed and
pulled into the main branch, make sure the base repo is hasadna/Open-Subs.