glass/CONTRIBUTING.md
2025-07-10 00:01:29 +09:00

3.5 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.

This document guides you through the entire contribution process, from finding an issue to getting your pull request merged.


🚀 Contribution Workflow

To ensure a smooth and effective workflow, all contributions must go through the following process. Please follow these steps carefully.

1. Find or Create an Issue

All work begins with an issue. This is the central place to discuss new ideas and track progress.

  • Browse our existing Issues to find something you'd like to work on. We recommend looking for issues labeled good first issue if you're new!
  • If you have a new idea or find a bug that hasn't been reported, please create a new issue using our templates.

2. Claim the Issue

To avoid duplicate work, you must claim an issue before you start coding.

  • On the issue you want to work on, leave a comment with the command:
    /assign
    
  • Our GitHub bot will automatically assign the issue to you. Once your profile appears in the Assignees section on the right, you are ready to start development.

3. Fork & Create a Branch

Now it's time to set up your local environment.

  1. Fork the repository to your own GitHub account.
  2. Clone your forked repository to your local machine.
  3. Create a new branch from main. A clear branch name is recommended.
    • For new features: feat/short-description (e.g., feat/user-login-ui)
    • For bug fixes: fix/short-description (e.g., fix/header-rendering-bug)

4. Develop

Write your code! As you work, please adhere to our quality standards.

  • Code Style & Quality: Our project uses Prettier and ESLint to maintain a consistent code style.
  • Architecture & Design Patterns: All new code must be consistent with the project's architecture. Please read our Design Patterns Guide before making significant changes.

5. Create a Pull Request (PR)

Once your work is ready, create a Pull Request to the main branch of the original repository.

  • Fill out the PR Template: Our template will appear automatically. Please provide a clear summary of your changes.
  • Link the Issue: In the PR description, include the line Closes #XXX (e.g., Closes #123) to link it to the issue you resolved. This is mandatory.
  • Code Review: A maintainer will review your code, provide feedback, and merge it.

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.