ajskateboarder / scratch-git

Git integration for Scratch (TurboWarp) that just works
MIT License
22 stars 3 forks source link

scratch.git

Git version control integration for Scratch (TurboWarp) that just works and makes sense

https://github.com/ajskateboarder/scratch-git/assets/81255936/4374d0a8-1d89-4aad-a968-5919a63b6b27

The goals of this interface is to:

Usage

scratch.git works by modifying TurboWarp Desktop through a userscript. Git interfacing is done between the desktop GUI and the local computer through a WebSocket interface between the userscript and a small server.

To get started:

  1. Install these things:

  2. Download the scratch.git release for your system from the Releases section

  3. Unpack the zip or tar.gz and run the scratch.git executable - it'll run continuously until you close out the terminal or do Ctrl+C

Congrats, you are now a 🦄✨~ 1000x developer ~✨🦄, no Git skills required!!

You should now see:

These features closely mimic the kind of Git development seen in editors such as Visual Studio or VS Code, but in a more friendly manner.

Please note the following:

If you spotted a bug or any errors, please report bugs to the issue tracker.

Commit spec

scratch-git uses a derivative of Convential Commits which has been adapted to fit Scratch programming.

Changes are done by sprite and are separated by commas.

Commits start with the name of the sprite you are making changes to (e.g. Sprite1, Stage) with a colon afterwards (similar to CC).

Commits then specify the change they are making using one of the following statements:

Statement Description
add [costumes] The following costumes: [costumes] have been added
remove [costumes] The following costumes: [costumes] have been removed
modify [costumes] The following costumes: [costumes] have been edited
{+}{#}, {-}{#} blocks {#} number of blocks have been added (+) and removed (-)

This is implemented in src-server/diff/.

Commit examples

Sprite1: +3 blocks, add costume1.png, move.mp3, Stage: remove backdrop3
Player: +36 blocks, remove old-player, Cloud: +15 blocks

Credits

Thanks to: