Skip to content

Contributing

Spett edited this page Mar 13, 2024 · 5 revisions

Graphic Walker - Contributing Guide

Welcome to Kanaries Open Source Community!

Thank you for showing interest in contributing to Graphic Walker. We value and appreciate your willingness to join our community. Whether it's through coding, answering questions, building open-source projects, writing articles and tutorials, or creating YouTube videos, every contribution helps and is highly appreciated!

Pre PR (Pull Request) Process

Before submitting a Pull Request (PR) to our repository, please follow these steps:

  1. Check for Similar Issues: Ensure that there are no existing issues similar to yours. This helps in reducing duplicates and focusing efforts where they're most needed.
  2. Create an Issue: If you find no similar issues, go ahead and create a new one. This step is crucial for a few reasons:
    • Context and History: Some issues might have a history or context that could impact how they should be addressed. Understanding this background is essential for an effective solution.
    • Communication: Engaging with the Kanaries team through issues allows for a more collaborative approach. It provides an opportunity to get suggestions and necessary information, potentially saving you time and effort.
    • Discussion and Collaboration: Developers like @observedobserver are open to discussing different approaches, and an online meeting can be arranged for more complex issues.
  3. Make sure you de-couple style / typo commits with feature/fix. "prettier" is not welcome for it may mix real fix diff and style diff and make it hard to review.

Style Guide

While Graphic Walker currently does not enforce a strict linting rule set, we do follow certain stylistic preferences:

  1. Tab Size: Set your tab size to 4. Yes, it's 2023 now, everyone has a wide, high-resolution screen that can display more information in a line. You don't need to use tabsize = 2 to save space on your 4k screen.
  2. Print Width: printwidth > 120, same reason.

Local Development

Graphic Walker uses a yarn mono-repo structure for its organization. Here are the key components:

  1. packages/graphic-walker: This is the core component of Graphic Walker. It contains the main functionalities and libraries that power Graphic Walker.
  2. packages/playground: This package is a demo application built using Graphic Walker. It's a great place to see how Graphic Walker is implemented in a project and can serve as a sandbox for your ideas and contributions.

How to Set Up Your Development Environment

To contribute effectively, setting up your development environment is crucial. Here are the steps:

  1. Fork and Clone the Repo: Start by forking the repository and then cloning it to your local machine.
  2. Install Dependencies: Navigate to the cloned directory and run yarn install to install all necessary dependencies.
  3. Running Locally: To run Graphic Walker locally, use npm run dev within the packages/graphic-walker directory. For the playground, use the same command in the packages/playground directory.

Contribution Workflow

  1. Branching: Always create a new branch for your work. This keeps the main branch clean and your history organized.
  2. Committing Changes: Make small, frequent commits. This makes it easier to understand and review your contributions.
  3. Pull Requests: Once you're ready, submit a pull request against the main branch of the Graphic Walker repository. Ensure that your PR has a clear title and description of the changes you've made.
  4. Code Reviews: After submitting your PR, one of the Kanaries team members will review it. Be open to feedback and discussion to refine your contribution.
  5. Merging: Once your PR is approved, it will be merged into the main branch.

Stay Engaged

Being part of the Kanaries community goes beyond code contributions. Stay active in discussions, offer help to others, and keep up with the latest developments. Your involvement is key to the success of Graphic Walker!

Finally

Remember, every contribution, no matter how small, helps in making Graphic Walker better. We're excited to see your contributions and thank you for being a part of our community!