- Create a feature branch from
main - Make your changes
- Update the
CHANGELOG.mdwith your changes under[Unreleased] - Open a PR and get it reviewed
- Merge to
main - Run the release script
Before merging, add your changes to the [Unreleased] section of CHANGELOG.md.
Write entries manually or use an LLM with this prompt:
Create a release commit
1) Look at the diff against the origin branch
- If on a feature branch already check against main/master
- Otherwise compare against origin of main/master
2) Update the CHANGELOG with these RULES:
- Keep it minimal and easy to read for humans
- No LLM talk
- Dont get too much into the details about files
- Do not mention what has been tested
- Make the message contain semantic meaning on not just a description of the changed lines of code
- Do not mention updating of changelog
3) Create a commit with the commit message
- Stage the changelog
- Only use staged files
- Do NOT ADD Co-Authored-By:
- Do NOT override the author
4) Create a feature branch in git flow convention
5) Create a PR with description and title from the changelog
- Use same rules as for the CHANGELOG
- Do not include a section with the test plan
Rules:
- When making a new commit just include the changelog with that commit otherwise create a commit just for the changelog
- Do not mention updating of changelog
- Do not mention any adding of tests or documentation this is self-explanatory
### What NOT to Include
\`\`\`markdown
# Bad: Self-explanatory test coverage
Added comprehensive test coverage for custom schema directory functionality
# Bad: Self-explanatory documentation
- Documentation for bundling from custom schema directories
`\`\`\
Releases are done from the main branch using the release script.
-
Be logged into npm with access to
@tokens-studioorg:npm login
-
Ensure you have no uncommitted changes
-
Be on the
mainbranch
# Patch release (0.3.2 -> 0.3.3)
npm run release patch
# Minor release (0.3.2 -> 0.4.0)
npm run release minor
# Preview what would happen
npm run release patch --dry-runThe release script will:
- Update the changelog (moves
[Unreleased]to new version) - Run tests
- Build the project
- Bump version and create git tag
- Publish to npm
- Push commits and tags to remote