<type>
: <description>
feat
: New feature or componentfix
: Bug fixdocs
: Documentation changesstyle
: Changes that do not affect the meaning of the code (white-space, formatting, etc)refactor
: Code change that neither fixes a bug nor adds a featureperf
: Code change that improves performancetest
: Adding missing tests or correcting existing testschore
: Changes to the build process or auxiliary tools and libraries
feat: add Button component
fix: correct Card component padding on mobile
refactor: simplify Modal component logic
Add !
after the type for breaking changes:
feat!: redesign Form component API
- 0: Remains 0 until the first stable version (1.0.0)
- x: For major changes or feature sets (e.g., 20)
- y: For minor changes, bugfixes, and incremental updates
- Increase second number (x) for:
- New major features
- Significant API or functionality changes
- Increase third number (y) for:
- Bugfixes
- Small feature additions
- Documentation changes
- Performance optimizations
- Other minor changes
-
Commit changes:
git add . git commit -m "feat: implement XYZ feature"
-
Tag and push version:
git tag -a v0.20.2 -m "Release v0.20.2" git push origin main --tags
-
Create GitHub Release:
- Go to GitHub > Releases > "Draft a new release"
- Select the created tag
- Title: "Release v0.20.2"
- Description: Brief summary of main changes
- Publish the release
- Install latest version:
go get github.com/axzilla/goilerplate@latest
- Install specific version:
go get github.com/axzilla/[email protected]
- Install development version:
go get github.com/axzilla/goilerplate@main
Remind users to run go mod tidy
after changes.
Switch to 1.0.0 when the project:
- Has a stable API
- Is sufficiently tested
- Is ready for production environments
- Offers a solid feature base