Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 118
rulers = 80, 118
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The property "rulers" is not part of the official EditorConfig specification. While some editors like VS Code may recognize this property, it will be ignored by most EditorConfig-compliant editors. Consider removing this property or documenting it as editor-specific configuration that should be placed in editor-specific settings files instead.

Suggested change
rulers = 80, 118

Copilot uses AI. Check for mistakes.
trim_trailing_whitespace = true
29 changes: 16 additions & 13 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,33 @@ labels: ''
assignees: ''

---
## Expected Behavior

### Expected Behavior
_Please describe what should happen._

_Please describe what should happen_
## Actual Behavior

### Actual Behavior
_Describe what actually happens._

_Describe what actually happens_
## Steps to Reproduce

### Steps to Reproduce

_Explain what someone needs to do in order to see what's described in *Actual behavior* above_
_Explain what someone needs to do in order to see what's described in "Actual Behavior" above._

Steps to reproduce the behavior:
1. Go to 'https://scratch.mit.edu/...'

1. Go to '<https://scratch.mit.edu/>...'
2. Click on '....'
3. Scroll down to '....'
4. See error

### System Details
_If the problem occurs in the browser, please provide operating system and browser e.g. Mac OS 10.11.6 Safari 10.0_

_If using one of the Apps please provide the app version and device details, e.g. Scratch 3.0.57, Android 9 on HP x360 Chromebook_
## Screenshots

**Screenshots**
If applicable, add screenshots to help explain your problem.

## System Details

_If the problem occurs in the browser, please provide operating system and browser_
_e.g. Mac OS 10.11.6, Safari 10.0_

_If using one of the apps, please provide the app version and device details_
_e.g. Scratch 3.0.57, Android 9 on HP x360 Chromebook_
100 changes: 69 additions & 31 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,41 @@
## Contributing
The development of Scratch is an ongoing process, and we love to have people in the Scratch, ScratchJr, and open source communities help us along the way.
# Contributing

### Ways to Help
The development of Scratch is an ongoing process, and we love to have people in the Scratch, ScratchJr, and open
source communities help us along the way.

## Ways to Help

* **Documenting bugs**
* If you've identified a bug in Scratch or ScratchJr, you should first check to see if it's been filed as an issue. If it has not been filed, please file an issue! Make sure you follow the issue template.
* It's important that we can consistently reproduce issues. When writing an issue, be sure to follow our [reproduction step guidelines](https://github.com/LLK/scratch-gui/wiki/Writing-good-repro-steps).
* Some issues are marked "Needs Repro". Adding a comment with good reproduction steps to those issues is a great way to help.
* If you don't have an issue in mind already, you can look through the [Bugs & Glitches forum.](https://scratch.mit.edu/discuss/3/) Look for users reporting problems, reproduce the problem yourself, and file new issues following our guidelines.
* If you've identified a bug in Scratch or ScratchJr, you should first check to see if it's been filed as an issue.
If it has not been filed, please file an issue! Make sure you follow the issue template.
* It's important that we can consistently reproduce issues. When writing an issue, be sure to follow our
[reproduction step guidelines](https://github.com/LLK/scratch-gui/wiki/Writing-good-repro-steps).
* Some issues are marked "Needs Repro". Adding a comment with good reproduction steps to those issues is a great
way to help.
* If you don't have an issue in mind already, you can look through the [Bugs & Glitches forum.](
https://scratch.mit.edu/discuss/3/) Look for users reporting problems, reproduce the problem yourself, and file
new issues following our guidelines.

* **Fixing bugs**
* **We will only accept Pull Requests for bugs that have an issue filed with a priority label**
* If you're interested in fixing a bug that does not have an issue already, please file the issue first and wait for it to have a priority added to it.
* You can request to fix a bug in a comment on the issue if you mention the repo coordinator for this repository, using the @ symbol with their Github username. Check the list of [Repository Coordinators](./CONTRIBUTING.md#repository-coordinators) to find out who to @-mention.
* The "help wanted" label indicates issues that the Scratch Team thinks would be appropriate for an external contributor to work on. You should still wait for an issue to be prioritized before working on it or submitting a PR.
* **We will only accept Pull Requests for bugs that have an issue filed with a priority label**
* If you're interested in fixing a bug that does not have an issue already, please file the issue first and wait
for it to have a priority added to it.
* You can request to fix a bug in a comment on the issue if you mention the repo coordinator for this repository,
using the @ symbol with their Github username. Check the list of [Repository Coordinators](
./CONTRIBUTING.md#repository-coordinators) to find out who to @-mention.
* The "help wanted" label indicates issues that the Scratch Team thinks would be appropriate for an external
contributor to work on. You should still wait for an issue to be prioritized before working on it or submitting
a PR.
* We are not looking for Pull Requests ("PR") for every issue and may deny a PR if it doesn't fit our criteria.
* We are far more likely to accept a PR if it is for an issue marked with the "Help Wanted" label.
* We will not accept PRs for issues marked with "Needs Discussion" or "Needs Design."
* Wait until an issue has been assigned a priority before working on it. Also leave a comment if you start working on a prioritized issue, so other people don't start working on it also.
* Wait until an issue has been assigned a priority before working on it. Also leave a comment if you start working
on a prioritized issue, so other people don't start working on it also.

## Repository Coordinators

#### Repository Coordinators
Public repositories where we encourage contributions have a repository coordinator. Here are the current assignments:

* scratch-audio @ericrosenbaum
* scratch-blocks @ericrosenbaum
* scratch-desktop @cwillisf
Expand All @@ -35,54 +50,77 @@ Public repositories where we encourage contributions have a repository coordinat
* scratchjr-website @chrisgarrity

Repositories that do not accept external PRs:

* scratch-l10n
* scratch-paint
* scratch-parser
* scratch-render-fonts
* scratch-resources
* scratch-sb1converter

### Learning Git and Github
## Learning Git and Github

If you want to work on fixing issues, you should be familiar with Git and Github.

* [Learn Git branching](https://learngitbranching.js.org/) includes an introduction to basic git commands and useful branching features.
* Here's a general introduction to [contributing to an open source project](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github).
* [Learn Git branching](https://learngitbranching.js.org/) includes an introduction to basic git commands and useful
branching features.
* Here's a general introduction to [contributing to an open source project](
https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github).

**Important:** we follow the [Github Flow process](https://guides.github.com/introduction/flow/) as our development
process.

**Important:** we follow the [Github Flow process](https://guides.github.com/introduction/flow/) as our development process.
## How to Fix Bugs

### How to Fix Bugs
1. Identify which Github issue you are working on. Leave a comment on the issue to let us (and other contributors) know you're working on it.
2. Make sure you have a fork of this repo (see [Github's forking a repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) for details)
1. Identify which Github issue you are working on. Leave a comment on the issue to let us (and other contributors)
know you're working on it.
2. Make sure you have a fork of this repo (see [Github's forking a repo](
Comment on lines 24 to 77
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The word "Github" should be capitalized as "GitHub" according to GitHub's official branding guidelines. This appears multiple times in this file including in section headers and body text.

Copilot uses AI. Check for mistakes.
https://help.github.com/en/github/getting-started-with-github/fork-a-repo) for details)
3. Switch to the `develop` branch, and pull down the latest changes from upstream
4. Run the code, and reproduce the problem
5. Create your branch from the `develop` branch
6. Make code changes to fix the problem
7. Test your changes and make sure existing tests pass. In most scratch repositories running `npm test` will run the tests. We strongly encourage you to write tests for any changes.
7. Test your changes and make sure existing tests pass. In most scratch repositories running `npm test` will run the
tests. We strongly encourage you to write tests for any changes.
8. Commit your changes
9. Push your branch to your fork
10. Create your pull request
1. Make sure to follow the template in the PR description
1. Remember to check the “[Allow edits from maintainers](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork)” box
2. Remember to check the "[Allow edits from maintainers](
https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork
)" box

When submitting pull requests, keep in mind:

When submitting pull requests keep in mind:
* please be patient -- it can take a while to find time to review them
* try to change the least amount of code necessary to fix the bug
* the code can't be radically changed without significant coordination with the Scratch Team, so these types of changes should be avoided
* if you find yourself changing a substantial amount of code or considering radical changes, please ask for clarification -- we may have envisioned a different approach, or underestimated the amount of effort
* the code can't be radically changed without significant coordination with the Scratch Team, so these types of
changes should be avoided
* if you find yourself changing a substantial amount of code or considering radical changes, please ask for
clarification -- we may have envisioned a different approach, or underestimated the amount of effort

## Suggestions

### Suggestions
![Block sketch](https://user-images.githubusercontent.com/3431616/77192550-1dcebe00-6ab3-11ea-9606-8ecd8500c958.png)

Please note: **_we are unlikely to accept PRs with new features that haven't been thought through and discussed as a group_**.
Please note: **_we are unlikely to accept PRs with new features that haven't been thought through and discussed as a
group_**.

Why? Because we have a strong belief in the value of keeping things simple for new users. It's been said that the Scratch Team spends about one hour of design discussion for every pixel in Scratch. To learn more about our design philosophy, see [the Scratch Developers page](https://scratch.mit.edu/developers), or [this paper](http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf).
Why? Because we have a strong belief in the value of keeping things simple for new users. It's been said that the
Scratch Team spends about one hour of design discussion for every pixel in Scratch. To learn more about our design
philosophy, see [the Scratch Developers page](https://scratch.mit.edu/developers), or [this paper](
http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf).

We welcome suggestions! If you want to suggest a feature, please post in our [suggestions forum](https://scratch.mit.edu/discuss/1/). Your suggestion will be helped if you include a mockup design; this can be simple, even hand-drawn.
We welcome suggestions! If you want to suggest a feature, please post in our [suggestions forum](
https://scratch.mit.edu/discuss/1/). Your suggestion will be helped if you include a mockup design; this can be
simple, even hand-drawn.

## Other resources

### Other resources
Beyond this repo, there are also some other resources that you might want to take a look at:
* [Community Guidelines](https://github.com/LLK/scratch-www/wiki/Community-Guidelines) (we find it important to maintain a constructive and welcoming community, just like on Scratch)

* [Community Guidelines](https://github.com/LLK/scratch-www/wiki/Community-Guidelines) (we find it important to
maintain a constructive and welcoming community, just like on Scratch)
* [Open Source forum](https://scratch.mit.edu/discuss/49/) on Scratch
* [Suggestions forum](https://scratch.mit.edu/discuss/1/) on Scratch
* [Bugs & Glitches forum](https://scratch.mit.edu/discuss/3/) on Scratch
16 changes: 0 additions & 16 deletions ISSUE_TEMPLATE/BUG_REPORT.md

This file was deleted.

28 changes: 19 additions & 9 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
### Resolves
---
name: Pull Request
about: Submit a Pull Request to contribute changes
title: ''
labels: ''
assignees: ''

_What Github issue does this resolve (please include link)? Please do not submit PRs that are not associated with an issue, or that only partially implement a fix._
---
## Resolves

- Resolves #
_What GitHub issue does this resolve (please include link)? Please do not submit PRs that are not associated with an
issue, or that only partially implement a fix._

### Proposed Changes
- Resolves #0
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholder value "Resolves #0" is problematic because GitHub will create a link to a non-existent issue #0. Consider changing this to "Resolves #" or "Resolves #ISSUE_NUMBER" to make it clearer that this is a placeholder that needs to be replaced.

Suggested change
- Resolves #0
- Resolves #ISSUE_NUMBER

Copilot uses AI. Check for mistakes.

_Describe what this Pull Request does_
## Proposed Changes

### Reason for Changes
_Describe what this Pull Request does._

## Reason for Changes

_Explain why these changes should be made. Be sure to include a brief summary of the issue the Pull Request solves too._

### Test Coverage
## Test Coverage

_Please show how you have added tests to cover your changes, or provide step-by-step instructions for testing your changes. Include screenshots if applicable.
When testing manually, please make sure to test in more than one browser, and let us know which browsers you used._
_Please show how you have added tests to cover your changes, or provide step-by-step instructions for testing your
changes. Include screenshots if applicable. When testing manually, please make sure to test in more than one browser,
and let us know which browsers you used._
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# .github

Scratch community health files
32 changes: 32 additions & 0 deletions profile/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Scratch

[Scratch](https://scratch.mit.edu) is the world's largest creative learning platform inviting young people to think
critically, work collaboratively, and develop the skills they need to thrive in our changing world. We provide
accessible tools and experiences for kids everywhere to explore their ideas, express themselves, and connect with
others through the things they create. Since 2007, millions of kids worldwide have created over 1 billion Scratch
projects in our safe, creative, and free community. Learn more about the nonprofit [Scratch](
https://scratchfoundation.org).

We believe every child deserves the chance to express themselves creatively—and have fun doing it. More than just a
tool for learning to code, Scratch helps kids develop the skills they need to thrive: creativity, problem-solving,
collaboration, and confidence.

## Open Source at Scratch

The Scratch Team is committed to open-source development. Many of our applications and components are public and open
for contribution. Please keep in mind that we are a small team, so we may not be able to respond in detail to every
contribution. We appreciate your patience and understanding.

The [scratch-editor](https://github.com/scratchfoundation/scratch-editor) repository is a monorepo containing the main
components of the Scratch editor and player, and is a good place to start.

Ready to contribute? Check out our general [contributing guidelines](
https://github.com/scratchfoundation/.github/blob/main/CONTRIBUTING.md) as well as any repository-specific
documentation. Thank you!

## Get Involved

- **Learn More**: Visit <https://scratchfoundation.org> to learn more about Scratch.
- **Impact**: Read about our [global impact](https://scratchfoundation.org/impact) and annual reports.
- **Support**: Consider [donating](https://scratchfoundation.org/donate) or [becoming a
Member](https://scratchfoundation.org/membership) to support our mission.