feat(docs): add Claude Code plugin for AI-assisted development#598
feat(docs): add Claude Code plugin for AI-assisted development#598JasonXuDeveloper merged 5 commits intomasterfrom
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.
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>
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.
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() |
There was a problem hiding this comment.
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