Skip to content

About

goboscript is the Scratch compiler

Topics

Resources

Contributing

Stars

565 stars

Watchers

9 watching

Forks

Latest commit

 

History

1,038 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goboscript

IDE  •  Documentation  •  Decompiler  •  Standard Library  •  Package Manager

goboscript screenshot

Matrix Discord GitHub License

goboscript is a text-based programming language that compiles to Scratch. Write your project as plain text and compile it into a .sb3 file that opens in the Scratch editor, TurboWarp, or on the Scratch website.

goboscript makes developing advanced Scratch projects fast. The syntax is concise and easy to read, and because projects are plain text, you get the full power of modern tooling:

  • Version control with git.
  • Any editor you like -- VS Code, or your favourite text editor.
  • Sharing code by copy-pasting.
  • Refactoring with search and replace.
  • Code generation -- write scripts in other languages that emit goboscript.
  • External tools and workflows, such as generating costumes for a text rendering engine or loading images into lists.

A powerful macro system (similar to C's) eliminates repetition, and the standard library ships macros for frequently used patterns, like converting R, G, B values into a single integer. The compiler optimizes your project, removes unused code, and detects problems and mistakes.

goboscript goes beyond a 1:1 mapping of Scratch blocks to text with abstractions such as:

  • Custom data types using Structs and Enums.
  • Functions that return values.
  • Default parameters for functions and procedures.
  • Operators such as !=, >=, <=, // (floor division) and not in.
  • Local variables (function-scoped).
  • ...and more.

All of these abstractions compile down to regular Scratch code.

goboscript overview & reference

Scratch Forum Topic  •  Made With Goboscript Studio  •  Hacker News Discussion (Reached Frontpage)

Prior Art

For a complete list of text-based Scratch languages, see https://scratch.mit.edu/discuss/topic/792714/.

@retr0id first presented his boiga project to the demoscene Discord. boiga exports Python data structures that neatly represent Scratch code as Python source. Soon after, I created my own re-implementation of boiga called Gobomatic.

Contributing

See the Contributing Guide for instructions on setting up a development environment and submitting pull requests.

See CHANGELOG for a list of changes.

FOSS HACK 25

goboscript was one of the first-place winners of FOSS HACK 25 and was awarded a ₹50,000 prize. FOSS HACK 25 was a 48-hour open-source hackathon conducted on 22nd – 23rd February 2025 by the FOSS United Foundation. Over the weekend, I worked on several goboscript issues and features. Thank you FOSS United.

Star History

Star History Chart

About

goboscript is the Scratch compiler

Topics

Resources

Contributing

Stars

565 stars

Watchers

9 watching

Forks

Used by

Contributors

Languages