Skip to content

Conversation

@JasonXuDeveloper
Copy link
Owner

Summary

  • Add in-repo Claude Code plugin (claude-plugin/) enabling AI coding agents to automatically discover and use JEngine APIs
  • Include skills documentation for JAction, JObjectPool, MessageBox, and Editor UI components
  • Add marketplace configuration for automatic plugin updates
  • Add CI workflow for automated version bumps on release
  • Add plugin-maintenance rule to keep documentation in sync with API changes

Plugin Features

After installation, Claude Code automatically:

  • Suggests JAction for sequential tasks, timers, and delays
  • Suggests JObjectPool for object pooling and GC optimization
  • Suggests MessageBox for confirmation dialogs
  • Suggests Editor UI components for custom inspectors and editor windows
  • Follows JEngine coding conventions (UniTask, namespaces, etc.)

Installation (for users)

# Add marketplace (one-time, enables auto-updates)
claude plugin marketplace add https://github.com/JasonXuDeveloper/JEngine/tree/master/claude-plugin/marketplace.json

# Install plugin
claude plugin install jengine@jengine-marketplace

Test plan

  • Verify plugin files are correctly structured
  • Test plugin installation locally: claude plugin install ./claude-plugin
  • Verify skills trigger on relevant queries
  • Confirm CI workflow syntax is valid

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings January 29, 2026 04:42
@github-actions github-actions bot added documentation Improvements or additions to documentation ci labels Jan 29, 2026
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>
Copy link

Copilot AI left a 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 .claude rule 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.

JasonXuDeveloper and others added 2 commits January 29, 2026 15:49
- 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>
Copilot AI review requested due to automatic review settings January 29, 2026 04:51
github-actions[bot]
github-actions bot previously approved these changes Jan 29, 2026
Copy link

@github-actions github-actions bot left a 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>
Copy link

@github-actions github-actions bot left a 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).

@JasonXuDeveloper JasonXuDeveloper enabled auto-merge (squash) January 29, 2026 04:54
@JasonXuDeveloper JasonXuDeveloper merged commit ae29a2f into master Jan 29, 2026
15 checks passed
@JasonXuDeveloper JasonXuDeveloper deleted the feat/claude-code-plugin branch January 29, 2026 04:54
Copy link

Copilot AI left a 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.

Comment on lines +76 to +80
### State Parameter for Zero-Allocation (Reference Types Only)
```csharp
// CORRECT - no closure allocation with reference types
var data = new MyData();
JAction.Create()
Copy link

Copilot AI Jan 29, 2026

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant