This is my personal, growing checklist of tasks to complete when starting a new programming project. I share it here only on the off chance that it helps someone else. There is no expectation that it should be useful to anyone else.
- Create a git repository
mkdir foo/ cd foo/ git init
- Populate the repository with a bare minimum skeleton, such as generated by Perl Dancer’s ‘dancer2’ script, or any other framework, etc.
dancer2 -a My::App
- Commit the skeleton version to the repo, with a commit message that details how the generated content was generated. This makes it easy to see in the future which code is mine, and which was automatically generated.
git commit
With a message such as:
Initial commit.
The result of: dancer2 -a My::App
- Create a GitHub repository, and push the content to it. Make the repo private if desired.
git remote add origin git@github.com:user/new-repo.git
-
Create issues in GitHub for the initial task(s) to complete. Make them as specific and small as possible. Always add new issues as new features are thought of, or as ways to break them down are concieved.
-
Add the new project to waffle.io for easier management of issues.
-
Branch religiously.
-
Every commit to master must close at least one open issue. If it doesn’t, it’s not ready, or the issue wasn’t created when it should have been.
-
Add a license file for projects which will be distributed. choosealicense.com helps make choosing a license easier.