Thanks for your interest in contributing! This document will help you get started.
- Set up the repository
git clone https://github.com/antiwork/helper.git
- Set up your development environment
For detailed instructions on setting up your local development environment, please refer to our Local Development Guide.
- Create your feature branch
git checkout -b feature/your-feature
- Start the development environment
bin/dev
- Run the test suite
npm test
- We use Vitest for our test suite
- Don't mock database queries in tests - use the factory functions in
@tests/support/factories
- When testing inngest functions, test the exported plain function, not the inngest wrapper
- Update documentation if you're changing behavior
- Add or update tests for your changes
- Make sure all tests pass
- Request a review from maintainers
- After reviews begin, avoid force-pushing to your branch
- Force-pushing rewrites history and makes review threads hard to follow
- Don't worry about messy commits - we squash everything when merging to main
- The PR will be merged once you have the sign-off of at least one other developer
- Write in TypeScript
- Follow the existing code patterns
- Use clear, descriptive variable names
A great bug report includes:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
We use the Conventional Commits specification.
A commit message should be structured as follows:
type(scope): title
description
Where type can be:
feat
: new feature or enhancementfix
: bug fixesdocs
: documentation-only changestest
: test-only changesrefactor
: code improvements without behaviour changeschore
: maintenance/anything else
Example:
feat(cli): Add mobile testing support
- Check existing discussions/issues/PRs before creating new ones
- Start a discussion for questions or ideas
- Open an issue for bugs or problems
By contributing, you agree that your contributions will be licensed under the Helper Community License.