First off, thank you for considering contributing to React Notification Core! It's people like you that make this library better for everyone. This document provides guidelines and steps for contributing.
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.
Before Submitting A Bug Report:
- Check the issues to see if the bug has already been reported
- Perform a quick search to see if the problem has already been addressed
- Determine if the issue is consistently reproducible
How Do I Submit A Good Bug Report? Bugs are tracked as GitHub issues. Create an issue and provide the following information:
- Use a clear and descriptive title for the issue
- Describe the exact steps to reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead and why
- Include screenshots or animated GIFs if possible
- If you're reporting a crash, include a stack trace
- Include your environment details (OS, browser, React version, etc.)
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
Before Submitting An Enhancement Suggestion:
- Check if the enhancement has already been suggested
- Check if it aligns with the project's scope and goals
How Do I Submit A Good Enhancement Suggestion? Enhancement suggestions are tracked as GitHub issues. Create an issue and provide the following information:
- Use a clear and descriptive title for the issue
- Provide a step-by-step description of the suggested enhancement
- Provide specific examples to demonstrate the steps
- Describe the current behavior and explain which behavior you expected to see instead
- Explain why this enhancement would be useful to most users
- List some other libraries or applications where this enhancement exists, if applicable
- Include screenshots or animated GIFs if applicable
Unsure where to begin contributing? You can start by looking through these beginner and help-wanted issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two
- Help wanted issues - issues which should be a bit more involved than
beginnerissues
The process for submitting a pull request:
- Fork the repository and create your branch from
main - If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code lints
- Submit the pull request
React Notification Core follows a structured issue assignment process to ensure smooth collaboration:
-
Issue Creation: Anyone can create an issue to report bugs or suggest enhancements
- Utilize the provided templates when available
- Tag issues appropriately (
bug,enhancement,documentation, etc.)
-
Maintainer Review: Maintainers will review new issues and may:
- Ask for more information if needed
- Apply additional labels
- Add the issue to a project board
- Close the issue if it's a duplicate or not relevant
-
Issue Assignment:
- Maintainers may assign issues to specific contributors
- Contributors can request to be assigned to an issue by commenting
- Issues marked with
good first issueare especially suitable for new contributors - Important: Wait for maintainer approval before starting work on an issue
-
Working on an Issue:
- Once assigned, update the issue with your progress
- If you can't complete the issue, please notify the maintainers so it can be reassigned
- Aim to make progress within two weeks of assignment, or the issue may be reassigned
-
Pull Request Creation:
- Only create pull requests for issues that you've been assigned to
- Reference the issue number in your pull request using the format
Fixes #123orResolves #123
-
Fork and clone the repository:
git clone https://github.com/your-username/react-notification-core.git cd react-notification-core -
Install dependencies:
npm install -
Create a branch for your feature or bugfix:
git checkout -b feature/your-feature-name -
Make your changes and commit them with a clear, descriptive commit message
- Make sure to add or update tests for your changes
-
Follow the existing code style
-
Use the provided ESLint and Prettier configurations:
npm run lint npm run format -
TypeScript Guidelines:
- Use proper type annotations
- Avoid using
anytype unless absolutely necessary - Document public APIs with JSDoc comments
To build and test the package locally:
-
Build the package:
npm run build -
Link the package globally:
npm link -
In your test project:
npm link react-notification-core -
Test your changes in a real project environment
Thank you to all the people who have already contributed to React Notification Core!
This contributing guide is adapted from the open-source contributing guide template.