Thank you for your interest in contributing to Shnippet! This document provides guidelines and instructions for contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/shnippet.git cd shnippet - Install dependencies:
npm install
We use the following branch naming conventions:
main- Production-ready codefeature/*- New features (e.g.,feature/add-new-language)fix/*- Bug fixes (e.g.,fix/parser-error)chore/*- Maintenance tasks (e.g.,chore/update-deps)docs/*- Documentation updates (e.g.,docs/update-readme)
We follow the Conventional Commits specification:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or modifying testschore:- Maintenance tasks
Example:
feat: add support for Python language
fix: handle empty file edge case
docs: update installation instructions
- Create a new branch from
mainusing the appropriate prefix - Make your changes
- Run tests locally:
npm test - Push your branch and create a Pull Request
- Ensure all status checks pass:
- Tests
- Type checking
- We use TypeScript for type safety
- All tests must pass
- All TypeScript errors must be resolved
Releases are automated through GitHub Actions. When a PR is merged to main:
- The conventional commits workflow will:
- Update the changelog
- Update the version number
- Create a git tag
- The publish workflow will:
- Run all tests
- Build the package
- Publish to npm
Feel free to open an issue if you have any questions about contributing!