Repository Location

The curriculum's source code is hosted on GitHub at:

You can open issues, fork the curriculum, or submit pull requests to suggest changes.

Markdown style

To keep the curriculum's underlying markdown consistent, we use this markdown style guide. Since markdown is not a strict specification, there are a few options we choose to take from the style guide

Updating GitBook with changes

If you make changes to file names and links, make sure to update the GitBook references in accordingly.

Lint tool

We use mdast-lint to enforce the above style. All submissions will be run through mdast-lint and free of any errors and warnings.

Curriculum style

How to write Snap!


Snap! Code

Blocks and scripts should always be presented as they would be in Snap! as an image.


Use the move 10 steps block to move your sprite.


Use the move block to move your sprite.

If it is absolutely necessary that a block not have a picture, wrap the name in blockquotes (e.g. move 10 steps block).

Creating new script images

Use the "script pic..." feature to create new images. If you need the result of a reporter block, use shift-right-click to get the "script pic with result..." option.

If you are adding a block, the file name should follow the text of the block with lower camel case.


move 10 steps -> move10Steps.png


move 10 steps -> move.png

Reusing existing script images

Before you create new blocks images, check to see of blocks are stored in the curriculum in /blocks.

All script images should be stored in /scripts.

Vocabulary words


Lesson plans

Creating a pull request

Each pull request should have it's own branch. Here are a few examples of a proper pull request workflow