Thank you for considering contributing to @versa-stack/v-craft! We welcome contributions from the community to help improve the project. Please follow these guidelines to ensure a smooth contribution process.
Start by forking the repository on GitHub. This creates a copy of the project in your own GitHub account.
Clone your forked repository to your local machine:
git clone https://github.com/YOUR_USERNAME/v-craft.git
cd v-craftCreate a new branch for your feature or bug fix:
git checkout -b my-feature-branchMake the necessary changes in your local repository. Be sure to follow the project's coding conventions and best practices.
Run the tests to ensure that everything works as expected:
npm run testOnce you're satisfied with your changes, commit them with a descriptive message:
git add .
git commit -m "Add a brief description of your changes"Push your changes to your forked repository:
git push origin my-feature-branchNavigate to the original repository on GitHub and create a pull request from your feature branch. Provide a clear description of what you've done and why it should be merged.
This project uses semantic-release for automated versioning and publishing. The release process is configured to publish to different npm channels based on the branch.
- develop branch → alpha channel (e.g.,
0.8.0-alpha.1,0.8.0-alpha.2) - beta branch → beta channel (e.g.,
0.8.0-beta.1,0.8.0-beta.2) - rc branch → release candidate channel (e.g.,
0.8.0-rc.1,0.8.0-rc.2) - main branch → stable channel (e.g.,
0.8.0,0.8.1) - Maintenance branches:
0.8.x→ stable channel (automatic patch releases)0.8-rc.x→ release candidate channel (patch prereleases)0.8-beta.x→ beta channel (patch prereleases)0.8-alpha.x→ alpha channel (patch prereleases)
- Development: Work on the
developbranch. Commits trigger alpha releases automatically. - Beta testing: Merge
developtobeta. Commits trigger beta releases automatically. - Release candidates: Merge
betatorc. Commits trigger rc releases automatically. - Stable release: Merge
rctomain. Commits trigger stable releases automatically.
After a stable release (e.g., v0.8.0), you can create maintenance branches for long-term support:
Stable maintenance branch (for patch releases):
git checkout -b 0.8.x
git push origin 0.8.xBeta maintenance branch (for patch prereleases):
git checkout -b 0.8-beta.x
git push origin 0.8-beta.xRC maintenance branch (for patch prereleases):
git checkout -b 0.8-rc.x
git push origin 0.8-rc.xAlpha maintenance branch (for patch prereleases):
git checkout -b 0.8-alpha.x
git push origin 0.8-alpha.xCommits to maintenance branches (e.g., 0.8.x, 1.x, 2.0.x) trigger automatic stable patch releases (e.g., 0.8.1, 0.8.2). No manual tags are needed for maintenance branches.
Semantic-release determines version increments based on conventional commit types:
feat:→ minor version increment (0.8.0 → 0.9.0)fix:→ patch version increment (0.8.0 → 0.8.1)BREAKING CHANGE:(in footer) orfeat!,fix!→ major version increment (0.8.0 → 1.0.0)
Example commits:
git commit -m "feat: add new component" # Triggers 0.8.0 → 0.9.0
git commit -m "fix: resolve styling bug" # Triggers 0.8.0 → 0.8.1
git commit -m "feat!: breaking API change" # Triggers 0.8.0 → 1.0.0- Code Style: Follow the existing code style and conventions used in the project.
- Documentation: If you add new features or make significant changes, please update the documentation accordingly.
- Issues: Before creating a new issue, check if it already exists. If you find an issue, feel free to comment or contribute to it.
By participating in this project, you agree to abide by our Code of Conduct. Thank you for your contributions!