Skip to content

feat: executable plugin protocol for process-isolated providers#42

Merged
frostebite merged 3 commits intofeat/bun-migration-plugin-systemfrom
feat/executable-plugin-protocol
Apr 2, 2026
Merged

feat: executable plugin protocol for process-isolated providers#42
frostebite merged 3 commits intofeat/bun-migration-plugin-systemfrom
feat/executable-plugin-protocol

Conversation

@frostebite
Copy link
Copy Markdown
Member

Summary

  • Adds CliProtocolProvider — a ProviderPlugin implementation that spawns an external binary and communicates via JSON-over-stdin/stdout protocol, enabling process-isolated provider plugins
  • Extends PluginLoader with executable: prefix to load standalone binaries as plugins
  • Adds engine smoke test CI workflow for Godot and (manual) Unreal Engine testing
  • Full test coverage for the protocol provider and plugin loader

How it works

// Load an executable as a plugin
await PluginLoader.load('executable:/path/to/game-ci-orchestrator');

// Or via yargs options
game-ci remote build --providerStrategy cli-protocol --provider-executable ./game-ci-orchestrator

The CliProtocolProvider spawns the executable with serve args, writes JSON to stdin, reads JSON from stdout. Supports streaming output for long-running commands (run-task, watch-workflow).

Dependencies

Test plan

  • CliProtocolProvider unit tests — construction, method presence, error handling
  • PluginLoader tests — executable: prefix routing, error cases
  • CI: engine-smoke-test.yml validates protocol integration with real binaries
  • CI: Godot container smoke test

🤖 Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 28, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 83c272e9-8b5b-477d-886e-c40ea09e97f3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/executable-plugin-protocol

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Adds CliProtocolProvider that communicates with external binaries via
JSON-over-stdin/stdout protocol, enabling process-isolated, language-agnostic
provider plugins. Extends PluginLoader with executable: prefix support.

Also adds Godot + Unreal Engine smoke test CI workflow.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@frostebite frostebite force-pushed the feat/executable-plugin-protocol branch from 125babc to 7d06fe0 Compare March 29, 2026 01:57
frostebite and others added 2 commits April 1, 2026 02:59
Replace stale WIP placeholder with comprehensive quick-start guide
showing how to run Godot and UE builds locally, via Docker, and
through the orchestrator with local-docker and local-system providers.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Update Docker image table from adamrehn/ue4-docker to modern UE5
community images (evoverses/ue5-docker, unrealcontainers.com).

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@frostebite frostebite merged commit a434016 into feat/bun-migration-plugin-system Apr 2, 2026
3 checks passed
@frostebite frostebite deleted the feat/executable-plugin-protocol branch April 2, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant