Skip to content

bscotch/stitch

Repository files navigation

Stitch (GameMaker Pipeline Development Kit) Logo

Stitch Monorepo

Butterscotch Shenanigans ("Bscotch") develops and maintains a collection of tools for management of GameMaker projects. These tools are collected under the umbrella trademark "Stitch".

This monorepo includes the code for many of the Stitch projects.

💡 Bscotch only develops features and fixes bugs that impact our studio directly. If you need other features or fixes, feel free to fork this project to add them yourself. You may submit pull requests with your changes, but we make no promises that we will merge them.

Butterscotch Shenanigans® and Stitch™ are not affiliated with GameMaker®.

Stitch Projects

Some of the projects listed here are available as compiled packages via npm or other 3rd party repositories. Others are only used locally.

  • Stitch for VSCode: A Visual Studio Code extension providing code editing features for GameMaker project files. Available as bscotch.bscotch-stitch-vscode via the Visual Studio Marketplace.
  • Stitch Core: The core SDK for managing and manipulating GameMaker projects. It includes a programmatic API and a CLI. Available as @bscotch/stitch via npm.
  • Stitch YY: Utilities for reading, validating, and writing .yy and .yyp files. Available as @bscotch/yy via npm.
  • Stitch Launcher: Utilities for automatically installing the GameMaker IDE by version, and opening GameMaker projects with specific IDE versions.
  • Spritely: Utilities for batch-preparation of source images for import as GameMaker sprites. It includes a programmatic API and a CLI. Available as @bscotch/spritely via npm.
  • GameMaker Merged Releases: Utilities for merging the various GameMaker IDE and Runtime release notes into a single merged listing. Available as @bscotch/gamemaker-releases via npm. Merged feeds are regularly published to this repo's releases.

Development

Setup

  1. Install pnpm
  • If you already have corepack available but do not have pnpm, you can run npm run setup:pnpm in this directory to install it.
  1. Run pnpm install in this directory to install all dependencies.
  • You can use pnpm filters to only install the dependencies for a specific package.
  1. Run pnpm build:all to build all packages.