Contributing to vsync
January 26, 2026 ยท View on GitHub
Thank you for your interest in contributing! This document provides guidelines and instructions for contributing.
Code of Conduct
Please read and follow our Code of Conduct.
How to Contribute
Reporting Bugs
- Check if the bug has already been reported in Issues
- If not, create a new issue using the bug report template
- Provide as much detail as possible
Suggesting Features
- Check if the feature has already been suggested in Issues
- If not, create a new issue using the feature request template
- Explain the use case and benefits
Pull Requests
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
pnpm typecheck && pnpm lint - Commit your changes:
git commit -m "feat: add your feature" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
Development Setup
# Clone the repository
git clone https://github.com/nicepkg/vsync.git
cd vsync
# Install dependencies
pnpm install
# Start development server
pnpm dev:website
# Run type check
pnpm typecheck
# Run linter
pnpm lint
Commit Convention
We follow the Angular Commit Convention. All commits and PR titles must follow this format:
<type>(<scope>): <subject>
Types
| Type | Description |
|---|---|
feat | A new feature |
fix | A bug fix |
docs | Documentation only changes |
style | Changes that do not affect the meaning of the code |
refactor | A code change that neither fixes a bug nor adds a feature |
perf | A 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 |
Scopes (optional)
website- Changes to the website packagedocs- Documentation changesdeps- Dependency updates
Examples
feat(website): add dark mode toggle
fix(website): resolve hydration mismatch on mobile
docs: update README with new installation steps
chore(deps): update dependencies
refactor: simplify authentication logic
Rules
- Subject must not be empty
- Subject must not end with a period
- Subject should not start with uppercase
- Header (type + scope + subject) max 100 characters
Enforcement
- Commits: Validated by commitlint via husky pre-commit hook
- PR Titles: Validated by GitHub Action on PR open/edit
Questions?
Feel free to open a Discussion if you have any questions.