/contributing

:book: The SC4 Contributing Guide - everything to get started

📖 Scratch Client 4 Contributing Guide

👋 Hey! Thanks for willing to contribute to Scratch Client 4, also known as SC4! This guide is here to explain:

  • What SC4 is and isn't about
  • Best practices and general rules
  • How to keep the discussion organized

Please carefully read it.

❌ What Scratch Client 4 is and isn't

Often, the nature of Scratch Client 4 projects are misunderstood.

❌ Scratch Client 4 is not an alternative community, website, and/or project sharing platform for Scratch.
❌ Scratch Client 4 is not about improving or reinventing the Scratch editor (what you make projects with).
✅ Scratch Client 4 is about making apps that allow accessing the existing Scratch Community, managed by the MIT.

🎨 Best practices and general rules

  • Development environment : You shouldn't edit things directly on GitHub. In order to make changes, please set up a local developement environement. This varies per project, but most of the time, you'll need to install git and Node.js. Project-specific instructions can be found in their README files.
    If you aren't comfortable with using the command line, we recommend you use GitHub Desktop. You may do edits directly on GitHub for really minor changes that don't need testing, like fixing a typo.
  • Commit messages : Please make commit messages that accurately represent the work done. If you've made multiple changes, sum them up in the first line, and list them in the extended description.
    Also, it isn't obligated, but always appreciated, that you use Gitmojis in your commit messages.
  • master branch : The master branch in repositories should be the latest working development code. We are progressively adding protection for the branch on repositories, but whether it's enabled and works or not, please don't do things on it unless you're an admin, please make a new branch, make your changes there, and make a pull request when you're ready to submit changes.
  • Language : Please stay polite and civil. This is a community-driven project, and everyone should feel welcome and comfortable being part of this community.

💬 Keeping the discussion organized

You have an idea, question, bug report, request, or just wanna chat. Where should you write it?

  • Feature/improvement requests and bug reports for a specific project should go to the appropriate repository's Issues tab.
  • General questions and long-term ideas should go to the appropriate team's discussions.
  • General organisational discussion should go into the Everyone team's discussions.
  • General and off-topic chatting should go to the Gitter chat or to the appropriate Microsoft Teams channel.

If you need attention on your issue or PR, please cc the appropriate teams/persons in your message or use the "Request review" feature.

Please stay on-topic in discussion threads.

📓 Learning ressources

Some things might be a bit new, or completely unknown to you. Here are great ressources to learn or perfect useful skills for contributing :

  • GitHub Learning Lab offers courses to learn the GitHub workflow and other skills from a GitHub repository
  • Scrimba offers interactive screencasts, where you can pause and edit the code at any moment, on a lot of different subjects
  • Some framework and language documentations are well-made for learning, like LESS's.
  • W3Schools have complete coding courses, although they are more traditional written tutorials.

We hope you'll help keep the project fun and useful, and make it even better!

Thanks,
The Scratch Client 4 team.