draft: @game-ci/gamemaker plugin (structural skeleton) - #124
Merged
Merged
Conversation
Structural skeleton for a GameMaker Studio engine plugin, per the plugin-idea roadmap. Not wired into core's default load list - loadable via --plugin @game-ci/gamemaker once real. See plugins/gamemaker/README.md for what's real (registration shape) vs. TODO (actual detection/build logic, which needs verification against a real GameMaker/Igor CLI install before it can be implemented).
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe pull request adds a draft ChangesGameMaker plugin
Estimated code review effort: 2 (Simple) | ~10 minutes ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
2 of 3 tasks
CI's bun install --frozen-lockfile was failing on this branch since the lockfile never reflected the new plugins/<name> workspace member.
frostebite
marked this pull request as ready for review
August 24, 2026 21:54
This was referenced Aug 24, 2026
frostebite
added a commit
that referenced
this pull request
Aug 24, 2026
…139) (#142) * draft: consolidate the remaining 14 plugin skeletons Lands the structural skeletons from #125-#128 and #130-#139 in one commit. They were opened as 15 separate PRs, but every one of them touches bun.lock (each adds its own plugins/* workspace member), so merging the first - #124, gamemaker - immediately conflicted all 14 others. Merging them one at a time would mean 14 more rounds of regenerate-lockfile / push / re-run CI, each invalidating the next. Consolidating regenerates the lockfile exactly once instead. Content is taken verbatim from each PR's branch; only bun.lock is regenerated. Every plugin is the same shape as the already-merged gamemaker one: - a real, correctly-typed GameCIPlugin (name, version, and either an engineDetector or a commands entry) - domain logic that throws "not implemented yet (draft plugin)" and points at plugins/<name>/README.md, rather than guessing an invocation shape that hasn't been verified against the real tool - NOT added to cli.ts's loadPlugins() default list, so none of this is reachable unless explicitly requested via --plugin @game-ci/<name> Engines: rpg-maker, renpy. Deploy targets: itch-deploy, steam-workshop, github-release-deploy. Commands/options: crash-symbol-upload, screen-capture, live-show, dedicated-server-provisioning, anti-cheat, pseudo-localization, save-data-compat, dev-tunnel, code-signing. Several of the command-based drafts still need their command name registered in core's CliCommands before they can be invoked at all, even once implemented - each README says so explicitly. Verified: `bun install --frozen-lockfile` passes (the gate that was failing on all of these branches), and the suite shows 244 failures before and after - the pre-existing orchestrator-plugin vitest-under-bun failures, unchanged. * chore: drop a snapshot file accidentally included in the previous commit plugins/unity/.../versioning.test.ts.snap was picked up by a broad `git add plugins/` after running the suite locally. Running these vitest snapshots under bun's test runner appends a second entry under a differently-formatted key, so the file was modified as a side effect of testing, not by any real change - and committing it broke the "Unity engine core tests" job. Restored to main's version. * draft: drop the five plugins that belong in orchestrator, not here crash-symbol-upload, anti-cheat, screen-capture, dedicated-server-provisioning and dev-tunnel are being implemented as real orchestrator capabilities instead of standalone plugin skeletons. They are lifecycle/infrastructure concerns, which is orchestrator's domain, not new user-facing command surface (which is what a plugin is for - see steam-deploy, runtime-test-framework, and the engine plugins): - crash-symbol-upload is an output type plus an upload, and orchestrator already owns output-type-registry (whose built-ins include coverage/logs/metrics/test-results) and artifact-upload-handler. "symbols" is a sibling of those. - anti-cheat registered options and NO command at all - it hooks into an existing build, which is exactly services/hooks/middleware-service. - screen-capture overlaps an existing built-in output type: images ("Screenshots, render captures, atlas previews"). - dedicated-server-provisioning is provisioning, which is what orchestrator's providers already do. - dev-tunnel exposes a running job, adjacent to hot-runner/providers. Lockfile regenerated for the reduced workspace set; `bun install --frozen-lockfile` still passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Structural skeleton for a GameMaker Studio engine plugin, from the plugin-idea roadmap. Not functional yet. A real, correctly-typed engine detector + build-command shape, matching
godot-plugin.ts's pattern, but detection and build logic are documented TODOs, not guessed implementations. Not wired into core's default load list.See
plugins/gamemaker/README.mdfor exactly what's real vs. TODO and the remaining work.Summary by CodeRabbit
New Features
Documentation
Chores