The project should make progress through small visible steps. A public history is part of the product.
- Default branch:
main - Visibility: public
- License: MIT
- Issues: enabled
- Discussions: recommended once the repository exists
- Releases: GitHub Releases with semantic tags
- Pick a tracked task or issue.
- Create a branch from
main. - Make the smallest useful change.
- Run local checks.
- Commit with a Conventional Commit message.
- Open a pull request.
- Merge after review.
- Update
CHANGELOG.mdwhen user-visible behavior changes.
Good commits are small and explain intent:
docs: add task schema draftdocs: record local-first ADRfeat: parse task frontmattertest: add duplicate id fixture
Avoid mixed commits like "update stuff" or "many fixes".
Use milestones:
v0.1.0for documented project definition.v0.2.0for the first parser and validator.v0.3.0for the first CLI.v0.4.0for the first UI.
Patch releases fix bugs. Minor releases add features while the project is below
v1.0.0.
Use the detailed release workflow for version bumps, verification, tagging, and GitHub Release publishing.
Once CI exists, protect main:
- require pull request before merge
- require status checks
- require linear history if desired
- block force pushes
For the first solo commits, direct pushes are acceptable if they are clean and small. Switch to pull requests before inviting contributors.