freshcrate
Home > Uncategorized > scaffscript

scaffscript

A superset language of GameMaker Language (GML) for creating module-based GameMaker source codes.

Description

A superset language of GameMaker Language (GML) for creating module-based GameMaker source codes.

README

ScaffScript

ScaffScript Banner

A minimal superset language of GameMaker Language (GML) for creating module-based GameMaker source codes. This minimal language is mainly used for developing GML libraries, but can also be used for other purposes.

Caution

ScaffScript is not affiliated with or endorsed by YoYo Games Ltd. GameMaker and GML are trademarks of YoYo Games Ltd.

Warning

This project is still in early development. The syntax and features are subject to change. Use at your own risk.


Key Features

  • TypeScript-like Module System. Use export, import, and include to organize code across .scaff files, fully resolved at compile-time.
  • Class Syntax. Define classes with constructors, properties, and methods that compile to GML struct constructors. Extend classes across files with impl.
  • Content Directives. Inline compiled GML content (@content, @valueof, @:, etc.) directives for dynamic code insertion.
  • Special Values. Access compile-time tokens like @now, @today, @version, @file, and @line for metadata and debugging.
  • Code Generation Blocks. Use #[blockName] to define named content sections and intg to map them to GameMaker asset paths.
  • GameMaker Integration. Automatically writes .gml files, generates .yy metadata, and updates your .yyp project file for scripts and objects.
  • File Scanning & Processing. Recursive scanning of .scaff and .gml files with dependency-aware processing order.

Installation & Documentation

For more information, please refer to the official documentation.


Questions & Feature Requests

Feel free to start a discussion or open an issue for any questions or feature requests.


Contributing

Contributions are welcome! Please open an issue or submit a pull request.

  1. Fork the repository.
  2. Clone the forked repository to your local machine.
  3. Make and test your changes.
  4. Commit your changes and push it to your forked repository.
  5. Open a pull request to the main repository.

Support

If you like this project, or this project helped you in any way, please consider supporting me on Ko-fi or Trakteer. Don't forget to leave a star! Your support is greatly appreciated!


License

ScaffScript is free and open-source. It's licensed under the MIT License.

Release History

VersionChangesUrgencyDate
v0.3.3<details> <summary>Updating</summary> Check current `scaff` version first: ```bash # make sure you're in your project root directory cd path/to/your/project # using bun bun pm ls @scaffscript/core # using pnpm pnpm list @scaffscript/core # using npm npm list @scaffscript/core ``` If there's `@scaffscript/core@0.3.x` (`x < 3`), update to the latest version: ```bash # using bun bun update @scaffscript/core # using pnpm pnpm update @scaffscript/core # using npm npmHigh4/11/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

slot-jsx-pragma🎰 Enable declarative slottable components with a custom JSX pragma for seamless React integration and enhanced performance.main@2026-04-21
risolutoAI-powered orchestrator that turns Linear issues into working code — autonomous coding agents, real-time dashboard, and seamless GitHub integrationv0.9.0
revisium-endpointAuto-generated GraphQL + REST APIs from Revisium schemasv2.5.1
copilot-api🚀 Access the reverse-engineered GitHub Copilot API through this proxy, enabling streamlined integration for your development needs.main@2026-04-21
terminal-mcp🖥️ Enhance your terminal interactions by allowing AI to see and control your session for real-time debugging and automation.main@2026-04-21