diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..26ad1a2 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,95 @@ +# Contributing to Glass + +Thank you for considering contributing to **Glass by Pickle**! Contributions make the open-source community vibrant, innovative, and collaborative. We appreciate every contribution you makeโ€”big or small. + +## ๐Ÿ“Œ Contribution Guidelines + +### ๐Ÿ‘ฅ Avoid Work Duplication + +Before creating an issue or submitting a pull request (PR), please check existing [Issues](https://github.com/pickle-com/glass/issues) and [Pull Requests](https://github.com/pickle-com/glass/pulls) to prevent duplicate efforts. + +### โœ… Start with Approved Issues + +- **Feature Requests**: Please wait for approval from core maintainers before starting work. Issues needing approval are marked with the `๐Ÿšจ needs approval` label. +- **Bugs & Improvements**: You may begin immediately without explicit approval. + +### ๐Ÿ“ Clearly Document Your Work + +Provide enough context and detail to allow easy understanding. Issues and PRs should clearly communicate the problem or feature and stand alone without external references. + +### ๐Ÿ’ก Summarize Pull Requests + +Include a brief summary at the top of your PR, describing the intent and scope of your changes. + +### ๐Ÿ”— Link Related Issues + +Use GitHub keywords (`Closes #123`, `Fixes #456`) to auto-link and close issues upon PR merge. + +### ๐Ÿงช Include Testing Information + +Clearly state how your changes were tested. + +> Example: +> "Tested locally on macOS 14, confirmed all features working as expected." + +### ๐Ÿง  Future-Proof Your Descriptions + +Document trade-offs, edge cases, and temporary workarounds clearly to help future maintainers understand your decisions. + +--- + +## ๐Ÿ”– Issue Priorities + +| Issue Type | Priority | +|----------------------------------------------------|---------------------| +| Minor enhancements & non-core feature requests | ๐ŸŸข Low Priority | +| UX improvements & minor bugs | ๐ŸŸก Medium Priority | +| Core functionalities & essential features | ๐ŸŸ  High Priority | +| Critical bugs & breaking issues | ๐Ÿ”ด Urgent | +| + + +# Developing + +### Prerequisites + +Ensure the following are installed: +- [Node.js v20.x.x](https://nodejs.org/en/download) +- [Python](https://www.python.org/downloads/) +- (Windows users) [Build Tools for Visual Studio](https://visualstudio.microsoft.com/downloads/) + +Ensure you're using Node.js version 20.x.x to avoid build errors with native dependencies. + +```bash +# Check your Node.js version +node --version + +# If you need to install Node.js 20.x.x, we recommend using nvm: +# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash +# nvm install 20 +# nvm use 20 +``` + +## Setup and Build + +```bash +npm run setup +``` +Please ensure that you can make a full production build before pushing code. + + + +## Linting + +```bash +npm run lint +``` + +If you get errors, be sure to fix them before committing. + + +## Making a Pull Request + +- Be sure to [check the "Allow edits from maintainers" option](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) when creating your PR. (This option isn't available if you're [contributing from a fork belonging to an organization](https://github.com/orgs/community/discussions/5634)) +- If your PR refers to or fixes an issue, add `refs #XXX` or `fixes #XXX` to the PR description. Replace `XXX` with the respective issue number. See more about [linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). +- Lastly, make sure to keep your branches updated (e.g., click the `Update branch` button on the GitHub PR page). \ No newline at end of file diff --git a/README.md b/README.md index db05c9d..8397aec 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ npm run setup ## Contributing -We love contributions! Feel free to open issues for bugs or feature requests. +We love contributions! Feel free to open issues for bugs or feature requests. For detailed guide, please see our [contributing guide](/CONTRIBUTING.md). > Currently, we're working on a full code refactor and modularization. Once that's completed, we'll jump into addressing the major issues. ### Contributors