Skip to content

scratchfoundation/scratch-editor

Repository files navigation

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!