Thank you for considering contributing to ZeroByte! We welcome all types of contributions, whether it's reporting bugs, suggesting new features, improving documentation, or writing code.
Please follow the guidelines outlined in this document to ensure a smooth collaboration process.
There are many ways to contribute to this project:
- Report bugs or suggest features by creating issues.
- Submit pull requests to fix bugs or add new features.
- Help improve the documentation.
- Review pull requests from other contributors.
If you're new to contributing, check out these helpful resources:
If you discover a bug, create an issue and include:
- A clear and concise description of the bug.
- Steps to reproduce the bug.
- The expected behavior.
- Screenshots or logs, if possible.
If you have a feature request:
- Provide a detailed description of the feature.
- Explain the problem it solves and how it benefits the project.
-
Fork the repository to your GitHub account.
-
Clone your forked repository to your local machine:
git clone https://github.com/zr0byte/zerobyte.git
-
Navigate into the project directory:
cd 0byte
-
Install dependencies:
npm install
-
Check the open issues and assign yourself to one you want to work on.
-
Create a new branch for your work. Use a descriptive branch name:
git checkout -b feature/your-feature-name
-
Make your changes, and test them locally.
We follow Conventional Commits to keep a consistent git history.
Format your commit messages as follows:
- feat: A new feature.
- fix: A bug fix.
- docs: Documentation changes.
- style: Code style changes (formatting, missing semi-colons, etc.).
- refactor: Refactoring code without changing functionality.
- test: Adding or correcting tests.
- chore: Miscellaneous tasks such as updating build tools.
Example:
git commit -m "feat: add user login functionality"
-
Push your branch to your forked repository:
git push origin feature/your-feature-name
-
Submit a pull request from your branch to the main repository's
main
branch. -
In your pull request, provide a clear and concise description of your changes.
-
Wait for the project maintainers to review your code. Be open to feedback and make changes as requested.
To maintain consistency across the codebase, please follow these style guidelines:
- JavaScript/TypeScript: We use ESLint for linting. Run
npm run lint
to check your code. - CSS: Follow BEM methodology for class naming if you're writing pure CSS.
- Commits: Use Conventional Commits format as explained above.
If you're unsure about a style or coding convention, check the existing code for examples.