We love your input! We want to make contributing to Captioneer as easy and transparent as possible.
- Fork the repo and create your branch from
develop
- Install dependencies with
pnpm install
- Make your changes
- Add tests for any new functionality
- Ensure the test suite passes with
pnpm test
- Run type checking with
pnpm typecheck
- Run linting with
pnpm check
- Submit your pull request
Our repository follows this branching model:
main
- Production-ready codedevelop
- Integration branch for features
feature/*
- New features (e.g., feature/add-language-detection)fix/*
- Bug fixes (e.g., fix/parsing-error)docs/*
- Documentation updates (e.g., docs/api-examples)
release/*
- Version preparation (e.g., release/1.1.0)hotfix/*
- Urgent production fixes (e.g., hotfix/1.0.1)
- Create feature branches from
develop
- Submit pull requests to merge into
develop
- Create release branches for version preparation
- Merge releases into both
main
anddevelop
- Tag releases on
main
for semantic versioning
- Update the README.md with details of changes if needed
- Update the CHANGELOG.md with your changes
- Follow the conventional commits specification for commit messages
- Include relevant test cases
- The PR will be merged once you have the sign-off of a maintainer
- Use TypeScript
- Follow the existing code style enforced by Biome
- Write meaningful commit messages following conventional commits
- Add tests for new features
- Keep code coverage high
# Run tests
pnpm test
# Watch mode
pnpm test:watch
# Coverage
pnpm test:coverage
Follow the conventional commits' specification:
# Feature
feat: add new language detection
# Bug fix
fix: resolve parsing error
# Documentation
docs: update API examples
# Build the project
pnpm build
# Development mode
pnpm dev
# Type checking
pnpm typecheck
# Linting
pnpm check
By contributing, you agree that your contributions will be licensed under the MIT License.