Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/commiter.git - Install dependencies:
npm install - Create a new branch:
git checkout -b feat/your-feature-name
We use Conventional Commits for all commit messages. This is enforced via git hooks.
<type>(<scope>): <subject>
[optional body]
[optional footer]
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that don't affect code meaning (white-space, formatting, etc)
- refactor: Code change that neither fixes a bug nor adds a feature
- perf: Code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
The scope should be the name of the affected module/component (e.g., auth, api, ui, database).
- Use imperative, present tense: "change" not "changed" nor "changes"
- Don't capitalize the first letter
- No period (.) at the end
- Keep it concise (50 characters or less)
- Use imperative, present tense
- Include motivation for the change and contrast with previous behavior
- Wrap at 72 characters
- Reference issues and pull requests
- Note breaking changes with
BREAKING CHANGE:prefix
# Simple feature
feat(auth): add password reset functionality
# Bug fix with scope
fix(api): handle null response from user endpoint
# Breaking change
feat(api)!: redesign authentication flow
BREAKING CHANGE: The authentication endpoint now requires OAuth2 tokens instead of API keys.
Clients must update their authentication implementation.
# Multiple paragraphs
refactor(database): optimize query performance
This commit introduces connection pooling and query caching
to improve database performance under high load.
The changes reduce average query time by 50% and support
up to 1000 concurrent connections.
Closes #123- Ensure your code follows the project's coding standards
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass:
npm test - Update the README.md if needed
- If modifying the website, verify changes with
npm run web - Create a Pull Request with a clear description
Releases are managed using standard-version. Only maintainers can create releases:
# Patch release (bug fixes)
npm run release:patch
# Minor release (new features)
npm run release:minor
# Major release (breaking changes)
npm run release:major
# Push release
git push --follow-tags origin mainFeel free to open an issue for any questions or concerns.