Thank you for your interest in contributing to Sidequest! 🎉
We welcome contributions from everyone. This guide will help you get started.
- Please use GitHub Issues to report bugs.
- Include as much information as possible, such as:
- Steps to reproduce
- Expected and actual behavior
- Error messages and logs
- Node.js and OS version
- A minimal reproducible example, if possible
- Before opening a new issue, check existing issues.
- Clearly describe the enhancement and its benefits.
- Include relevant examples or use cases.
- Fork the repository and clone your fork locally.
- Create a new branch for your feature or fix:
git checkout -b your-feature-name
- Make your changes
- 🚨 Write tests 🚨
- Follow the style guide (see below).
- Lint your code
yarn lint - Commit your changes (see Commit Messages).
- Push your branch and open a Pull Request against
master. - Describe your changes clearly in the PR.
- All tests pass (
yarn test:all) - Code follows the style guide and passes lint checks
- Documentation is updated (README, docs, etc)
- Linked to corresponding issue, if applicable
-
Install dependencies:
yarn install
-
Build the project:
yarn build
-
Start DBs for tests:
yarn db:all
-
Run tests:
yarn test:all
-
Run in development mode:
yarn dev
For CLI development, install globally:
yarn global add @sidequest/cli- Use TypeScript for all source code.
- Follow the project's existing code style (see
prettier.config.js). - Write JSDoc style docstrings for all exported entities.
- Avoid unnecessary changes to unrelated files.
- Use Conventional Commits style:
fix:for bug fixesfeat:for new featuresdocs:for documentation changesrefactor:for code refactoringtest:for adding or fixing testschore:for maintenance tasks
By contributing, you agree that your contributions will be licensed under the LGPL v3.
If you have any questions, feel free to open an issue or reach out to the maintainers.
Happy coding! 🚀