Developer Documentation

Ali Karbassi edited this page Jul 6, 2018 · 1 revision

To contribute to Todo.txt CLI, fork the repository and make your changes, including tests. Then issue a pull request via GitHub to submit your changes for review and possible inclusion in the master. Big or disruptive changes are best discussed on the mailing list first.

Contributing patches and enhancements via Git / GitHub

Initial Fork

You need to register on GitHub first - it's free and quick to do. After registering, you need to add your SSH public keys to be able to push your changes to your repository. On the Todo.txt GitHub pages, click the Fork this project button. This will create your personal fork

On your dev system, install Git and clone your repository:

$ git clone

We'll add Gina's authoritative repository as upstream, so that you can easily sync with it:

$ git remote add upstream git://
$ git fetch upstream

Publishing Changes

$ git add ...
$ git commit ...
$ git push origin master

The changes now appear in your repository in your GitHub clone; you'll see the commits listed in the GitHub web interface. You can now initiate a pull request by clicking the Pull Request button. Send the request to the maintainers. You will receive a message (in GitHub and via Email) when she has merged in your changes; or just occasionally check the changelog.

Pulling in Upstream

Some time has passed, the upstream repo has changed and you want to update your fork before you submit a new patch. Do this to bring your dev system up-to-date:

$ git fetch upstream
$ git merge upstream/master