Scratch editor mono-repo
  • JavaScript 92.7%
  • CSS 3.1%
  • TypeScript 1.8%
  • HTML 1.5%
  • Shell 0.7%
  • Other 0.2%
Find a file
2026-01-21 21:31:36 +00:00
.github ci: add workflow step to publish task-herder 2025-12-15 12:05:06 -08:00
.husky chore: add husky hook for commitlint 2023-06-07 15:08:33 -07:00
packages fix(deps): update dependency scratch-semantic-release-config to v4.0.1 2026-01-21 21:31:36 +00:00
scripts feat: [IPR-1063] Move jq command from publish workflow to script 2025-09-24 11:45:13 +03:00
.editorconfig style: remove blanket indenting setting 2025-11-10 13:08:46 -08:00
.gitattributes style: add initial .editorconfig, .gitattributes, etc. 2023-06-07 15:08:32 -07:00
.gitignore build: create fresh monorepo as a subdirectory 2023-07-14 10:21:09 -07:00
.nvmrc chore(deps): update node.js to v20.20.0 2026-01-15 00:37:26 +00:00
commitlint.config.js chore: add commitlint 2023-06-07 15:08:33 -07:00
LICENSE docs: switch to AGPLv3 2024-09-26 14:10:56 -07:00
package-lock.json fix(deps): update dependency scratch-semantic-release-config to v4.0.1 2026-01-21 21:31:36 +00:00
package.json chore(release): 12.3.1 [skip ci] 2025-12-18 15:43:25 +00:00
README.md docs: update README.md with info for community 2025-01-23 11:38:02 -08:00
Release.md docs: update README.md with info for community 2025-01-23 11:38:02 -08:00
renovate.json5 ci: reduce noise by configuring Renovate to automerge by branch instead of PR 2025-02-21 07:28:54 -08:00
TRADEMARK fix: move TRADEMARK to root and update it 2025-10-22 10:46:59 -07:00

scratch-editor: The Scratch Editor Monorepo

If you'd like to use Scratch, please visit the Scratch website. You can build your own Scratch project by pressing "Create" on that website or by visiting https://scratch.mit.edu/projects/editor/.

This is a source code repository for the packages that make up the Scratch editor and a few additional support packages. Use this if you'd like to learn about how the Scratch editor works or to contribute to its development.

What's in this repository?

The packages directory in this repository contains:

  • scratch-gui provides the buttons, menus, and other elements that you interact with when creating and editing a project. It's also the "glue" that brings most of the other modules together at runtime.
  • scratch-render draws backdrops, sprites, and clones on the stage.
  • scratch-svg-renderer processes SVG (vector) images for use with Scratch projects.
  • scratch-vm is the virtual machine that runs Scratch projects.

Please add to this list as more packages are migrated to the monorepo.

Each package has its own README.md file with more information about that package.

Monorepo migration

What's going on?

We're migrating the Scratch editor packages into this monorepo. This will allow us to manage all the packages that make up the Scratch editor in one place, making it easier to manage dependencies and make changes that affect multiple packages.

Why are there only a few packages in this repo?

We're migrating packages in stages. The current plan, which is subject to change, has us migrating repositories in four batches. We plan to complete the migration within 2025.

What will happen to the existing repositories?

The existing repositories will be archived and made read-only. Those repositories contain valuable work and information, including but not limited to issues and pull requests. We plan to keep that information available for reference, and to selectively migrate it to this new repository.

Thank you!

Scratch would not be what it is today without help from the global community of Scratchers and open-source contributors. Thank you for your contributions and support. Scratch on!

Donate

We provide Scratch free of charge, and want to keep it that way! Please consider making a donation to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!