npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gamemaker/gm-cli

v1.4.1

Published

The GameMaker command-line interface GM-CLI is a helpful tool to edit, compile, package, and run your GameMaker projects.

Readme

GameMaker CLI

The GameMaker command-line interface gm-cli is a helpful tool to edit, compile, package, and run your GameMaker projects.

Recording of the gm-cli run command

Usage

IMPORTANT: You must first install nodeJS which comes with the tools npm and npx.

Run:

npx @gamemaker/gm-cli@latest --help

...or if your prefer to install gm-cli globally

npm install -g @gamemaker/gm-cli@latest
gm-cli --help

GameMaker CLI has many commands, to learn more about them, use the --help flag. For example, to see how the compile command works, run:

npx @gamemaker/gm-cli@latest compile --help

Create new projects

Use gm-cli init to create a new project, either from a blank game or a template.

npx @gamemaker/gm-cli@latest init

If you wish, it will also help you setup more advanced feature like:

  • GitHub automation pipelines to compile and package your project
  • AI agent integration (AGENTS.md, MCP, Claude config)

Compile, run, and package projects

GameMaker CLI can automatically download the runtime and all other tools needed to compile and run your projects.

Try running one of these commands in a folder with a .yyp file:

npx @gamemaker/gm-cli@latest run
npx @gamemaker/gm-cli@latest compile
npx @gamemaker/gm-cli@latest package

Note that there are many options, like target, runtime and toolchain to configure if you wish. Use the --help flag for more details. For example:

npx @gamemaker/gm-cli@latest compile --runtime=vm --target=operagx [email protected]

Edit projects without the IDE

Use gm-cli resourcetool to programmatically make changes to your project files without having to use the IDE. Try it out inside a project:

gm-cli resourcetool eval "resource list"

There are many ways of using ResourceTool, the most convenient is with an AI agent using the Model Context Protocol gm-cli resourcetool mcp. But you can also use it yourself in interactive session gm-cli resourcetool repl or as a script.

Signing-in

GameMaker CLI automatically gives you a guest license, so there is no need to sign in. But if you prefer to use your own access key from https://gamemaker.io/en/account/access-keys. You may run:

npx @gamemaker/gm-cli@latest login <my key>

Query the GameMaker Manual

The command gm-cli manual can be used to semantically search GameMaker Manual. Use the open subcommand to open a a web page in your browser. You can also get results in a specific language through --language. Try it out:

gm-cli manual open "sprites" --language=es

The read subcommand displays an article directly in your terminal,

gm-cli manual read "data structures"

Publish to GX.Games

Use gm-cli gxgames to publish a game to gx.games. Run gm-cli gxgames --help for the full list of subcommands.

The flow:

  1. Package the game as an OperaGX zip:
    npx @gamemaker/gm-cli@latest package --target=operagx --output=game.zip
  2. Link the project to a studio and game (opens the browser to sign in on first use):
    npx @gamemaker/gm-cli@latest gxgames link --studioid=<id> --gameid=<id>
    Omit the flags to pick interactively.
  3. Upload the zip (prompts for a X.Y.Z.B version if --version is omitted):
    npx @gamemaker/gm-cli@latest gxgames upload --file=game.zip --version=1.0.0.0
  4. Set metadata required for publishing — title (must be unique across GX.Games), description, age rating, platforms, 16:9 cover, and 16:9 screenshot. Cover and graphic must have an exact 16:9 aspect ratio (e.g. 1920×1080):
    npx @gamemaker/gm-cli@latest gxgames meta \
      --title="My Game" \
      --description="A short description" \
      --age-rating=EVERYONE \
      --platforms=DESKTOP,MOBILE \
      --cover=cover_1920x1080.png \
      --graphic=screenshot_1920x1080.png
    Each flag overrides one field; omitted flags keep the current server value.
  5. Publish to make the game public (opens the published page on success):
    npx @gamemaker/gm-cli@latest gxgames publish

Near future

Note: The GameMaker CLI is made for the community and we welcome your feedback! Please suggest features or tell us about any issues you are having.

Many features are planned to soon be added to gm-cli. These include:

More targets

GameMaker CLI will have support to manage more targets.

A library to make your own tools

gm-cli will expose its internals as a TypeScript library that you can use to more easily make your own editor tools.

Editor integration

gm-cli will support opening projects in the IDE (or your preferred editor) and likely also help you download the IDE itself.