-
Notifications
You must be signed in to change notification settings - Fork 340
feat(docs): add Claude Code plugin for AI-assisted development #598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Add in-repo Claude Code plugin that enables AI coding agents to automatically discover and use JEngine APIs when users develop games with the framework. Plugin includes: - Main CLAUDE.md with JEngine patterns and conventions - Skills for JAction, JObjectPool, MessageBox, and Editor UI components - Marketplace configuration for automatic plugin updates - CI workflow for automated version bumps on release Also adds plugin-maintenance rule to keep documentation in sync with API changes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
Add Claude Code plugin as a key feature in the "Why JEngine?" section for both English and Chinese README files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
6da03f6 to
f1d2277
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a Claude Code plugin for JEngine, plus supporting docs, marketplace config, and CI to keep the plugin version and documentation in sync with the underlying APIs.
Changes:
- Add a structured Claude Code plugin under
claude-plugin/with skills for JAction, JObjectPool, MessageBox, and Editor UI components, plus a plugin-level CLAUDE.md. - Add marketplace configuration and README instructions for installing the plugin and enabling auto-updates.
- Add a GitHub Actions workflow to automatically bump the plugin version on changes, and a
.clauderule file describing how to keep plugin docs aligned with API changes.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| claude-plugin/skills/messagebox/SKILL.md | Documents MessageBox async dialog API, usage patterns, and common pitfalls for the AI plugin. |
| claude-plugin/skills/jobjectpool/SKILL.md | Describes JObjectPool usage patterns and best practices for pooling, though the constructor signature and custom factory example need correction. |
| claude-plugin/skills/jaction/SKILL.md | Documents JAction’s fluent API, execution patterns, and performance guidance; one note about state/value-type boxing should be updated to match the actual implementation. |
| claude-plugin/skills/editor-ui/SKILL.md | Provides an extensive catalog of Editor UI components, design tokens, and an example EditorWindow for AI-assisted generation. |
| claude-plugin/marketplace.json | Defines the jengine-marketplace source and jengine plugin metadata for Claude Code marketplace installs. |
| claude-plugin/claude.json | Declares the JEngine Claude plugin manifest (name, version, repo, skills glob, top-level CLAUDE.md). |
| claude-plugin/README.md | User-facing instructions for installing the plugin via marketplace or direct URL, plus feature overview and requirements. |
| claude-plugin/CLAUDE.md | High-level description of JEngine packages and key usage patterns for UniTask, JAction, JObjectPool, MessageBox, and Editor UI for AI agents. |
| CLAUDE.md | Extends the top-level project guidelines to include the new plugin-maintenance rule file. |
| .github/workflows/release-plugin.yml | Adds a release workflow that bumps claude-plugin/claude.json’s version, commits, and tags on relevant pushes or manual runs; the if: condition should be made safe for workflow_dispatch. |
| .claude/rules/plugin-maintenance.md | Documents when and how to update the plugin’s SKILL files and versioning, including a small Markdown table formatting issue. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Fix release-plugin.yml condition to handle workflow_dispatch events - Correct JObjectPool constructor signature (maxSize, not createFunc) - Fix JAction state parameter docs (value types work without boxing) - Update README AI feature wording for better clarity Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
State overloads DO NOT work with value types - they get boxed when passed as generic parameters. Updated docs to reflect this and recommend closures for value types. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Auto-approved: Copilot review found no issues and Unity Tests passed (or were skipped for non-code changes).
Prevents workflow from running on PR branches when the workflow file is being added. Only runs on master or manual dispatch. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Auto-approved: Copilot review found no issues and Unity Tests passed (or were skipped for non-code changes).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ### State Parameter for Zero-Allocation (Reference Types Only) | ||
| ```csharp | ||
| // CORRECT - no closure allocation with reference types | ||
| var data = new MyData(); | ||
| JAction.Create() |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "State Parameter for Zero-Allocation (Reference Types Only)" section is out of sync with the actual JAction implementation: the comment states that state overloads cause boxing for value types and recommends using closures instead, but StateStorage<T> is explicitly designed to avoid boxing for value types (see IStateStorage/StateStorage<T> in JAction internals). Please update this section (including the "Reference Types Only" heading and the value-type warning/example) to reflect that state overloads work efficiently for both reference and value types and adjust the guidance accordingly.
Summary
claude-plugin/) enabling AI coding agents to automatically discover and use JEngine APIsPlugin Features
After installation, Claude Code automatically:
Installation (for users)
Test plan
claude plugin install ./claude-plugin🤖 Generated with Claude Code