Thank you for considering contributing to Bootstrap Darkmode Toggle! We appreciate your interest and are excited to collaborate with you. To ensure a smooth contribution process, please follow the guidelines outlined below.
Currently, we do not require forking the repository. Please clone the repository directly from the Bootstrap Darkmode Toggle GitHub repository.
-
Feature Branches: For adding new features, create a branch from the
develop/vX.Y.Zthat corresponds to the milestone of the feature. If such a branch does not exist, use the nearest availabledevelopbranch. Name your branchfeat/XXX, whereXXXis the issue number. If no issue exists, create one first and wait until is validate and planned. -
Fix Branches: For bug fixes, create a branch from the
develop/vX.Y.Zthat aligns with the milestone of the fix. Name your branchfix/XXX, whereXXXis the issue number. If no issue exists, create one and wait until is confirmed and planned.
We use Conventional Commits for commit messages. When you install the project, Husky will add a commit-msg hook to enforce this convention via commit lint.
- Template: Use the provided pull request template.
- Checks: Ensure your pull request passes all CI checks. The minimum test coverage is 80%.
- Approval: Pull requests must be reviewed and approved before merging.
- Running Tests: Execute tests with
npm run test. Unit Tests are written with Jest, and a minimum coverage of 80% is required. End-to-End test are written with Cypress. - Writing Tests: Write tests using Jest to ensure coverage meets the 80% minimum requirement.
-
Bug Reports: Create an Issue of type
bugfollowing the issue template. We will review, categorize, and prioritize the issue as needed. Contributors will be credited in the Release Notes. For support, use the Discussions section. For security issues, follow the instructions inSECURITY.mdand do not open a public issue. -
Feature Requests: Create an Issue of type
featureusing the template provided. We will analyze, categorize, and prioritize the request. Contributors will be credited in the Release Notes. For ambitious features, we may move the discussion to a thread in the Discussions section.
- Style Guide: Follow the ESLint configuration file provided in the repository. The style guide may be updated over time.
- Linters and Formatters: Use ESLint with Husky's pre-commit hook to enforce code quality.
- Project Documentation: All classes have JSDoc comments that should be updated. Documentation page is available in
docsdirectory. - Community Resources: Participate in the Discussions section for community support and engagement.
Please adhere to our Code of Conduct, which is based on the Contributor Covenant. We strive to create a welcoming and inclusive environment for all contributors.
For any questions or further communication, you can reach us via email or preferably by opening a thread in the Q&A section of the Discussions section.
Thank you for your contributions to bs-darkmode-toggle!