glass/CONTRIBUTING.md
2025-07-07 08:51:56 +09:00

3.7 KiB

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 and Pull Requests 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.

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:

Ensure you're using Node.js version 20.x.x to avoid build errors with native dependencies.

# 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

npm run setup

Please ensure that you can make a full production build before pushing code.

Linting

npm run lint

If you get errors, be sure to fix them before committing.

Making a Pull Request