First off, thank you for considering contributing to saborter. It's people like you that make saborter such a great tool.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to laptev-vlad2001@yandex.ru.
This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected to see instead and why.
- Include screenshots or animated GIFs if possible.
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Explain why this enhancement would be useful to most
saborterusers.
To get a local copy up and running follow these simple steps.
- Fork the repo on GitHub.
- Clone the project to your own machine.
- Install dependencies using your preferred package manager:
npm install
# or
yarn
# or
pnpm install- Run tests to make sure everything is working:
npm test
# or
yarn test
# or
pnpm test- Lint your code to ensure it follows the project's style:
npm run verify
# or
yarn verify
# or
pnpm verify- Build the package to verify that the production build works:
npm run build
# or
yarn build
# or
pnpm build- Create a branch for your changes:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix- Make your changes and commit them using Conventional Commits.
- Ensure that tests pass and the code is linted.
- Push your branch to your fork.
- Open a pull request against the
master(ordevelop) branch.
We use Conventional Commits to automate versioning and changelog generation. Please follow the format:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Common types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools and libraries such as documentation generation
Example:
feat(aborter): adds a new method
- We use ESLint and Prettier to enforce consistent code style.
- Run
npm run verifyandnpm run formatbefore committing. - Use meaningful variable names and add comments where necessary.
- Write unit tests for all new features and bug fixes.
- Use the existing testing framework (Jest).
- Aim for at least 80% code coverage.
- Test edge cases and error conditions.
Before you create a Pull Request, you need to make sure that:
- Tests for your changes or new functionality have been written.
- Documentation for your new features has been updated or written.
- A quality text has been written for your Pull Request, with a description, usage examples, and justification for why this update is needed.
This section lists the labels we use to help us track and manage issues and pull requests.
- bug – Issues that are bugs.
- enhancement – Issues that are feature requests.
- documentation – Issues or PRs related to documentation.
- good first issue – Good for newcomers.
- help wanted – Extra attention is needed.
- needs review – PR needs code review.
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.