Skip to content

feat(plugin): enhance Feishu plugin packaging and build process for a…#1628

Merged
zerob13 merged 2 commits into
devfrom
feishu-plugin
May 15, 2026
Merged

feat(plugin): enhance Feishu plugin packaging and build process for a…#1628
zerob13 merged 2 commits into
devfrom
feishu-plugin

Conversation

@zhangmo8
Copy link
Copy Markdown
Collaborator

@zhangmo8 zhangmo8 commented May 15, 2026

…ll platforms

Summary by CodeRabbit

Release Notes

  • Chores
    • Enhanced plugin bundling and verification across Windows, Linux, and macOS build pipelines.
    • Feishu plugin now supports multi-platform deployment with architecture-specific binaries.
    • Updated plugin packaging documentation with comprehensive guides for plugin developers.

Review Change Stack

@zhangmo8 zhangmo8 marked this pull request as draft May 15, 2026 06:18
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 15, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR introduces a unified plugin bundling and verification system. A new CLI tool orchestrates plugin discovery, builds, and artifact verification. CI pipelines are rewritten to bundle Feishu plugins (Windows, Linux) and both CUA and Feishu (macOS), verify artifacts, and embed them into packaged applications. Comprehensive documentation describes the workflow and guides for adding new plugins.

Changes

Plugin bundling and verification system

Layer / File(s) Summary
Plugin orchestration script
scripts/plugin.mjs
New CLI tool parsing validate/package/bundle/verify actions, discovering official plugins from plugins/ directory manifests, handling optional native build scripts, delegating to package-plugin.mjs, and verifying bundled artifacts exist in deployment directories.
npm script configuration and Feishu plugin updates
package.json, plugins/feishu/plugin.json
npm scripts introduce generic plugin commands and CUA macOS variants; Feishu manifest adds ${target.platform} to artifact download URL for platform-aware runtime selection.
Windows CI/CD plugin bundling and verification
.github/workflows/build.yml, .github/workflows/release.yml
Windows jobs bundle Feishu plugin before electron-builder and verify artifacts in the unpacked plugins directory.
Linux CI/CD plugin bundling and verification
.github/workflows/build.yml, .github/workflows/release.yml
Linux jobs bundle Feishu plugin before electron-builder and verify artifacts in the unpacked plugins directory.
macOS CI/CD plugin bundling and verification
.github/workflows/build.yml, .github/workflows/release.yml
macOS jobs run CUA helper app build and bundle both CUA and Feishu plugins; verification uses dynamic app directory detection (x64 vs arm64) instead of static filename checks.
Plugin embedding in Electron Builder
electron-builder.yml
Electron Builder copies bundled .dcplugin files from build/bundled-plugins/ into the app's unpacked plugins directory during packaging.
Plugin packaging guide
docs/guides/plugin-packaging.md
Documents .dcplugin naming patterns, generic commands workflow, per-architecture plugin artifacts, output locations, CI/release matrix, embedded-file examples, and checklist for adding new plugins.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 In bundles we hop, from script to deploy,
Plugins dance through platforms with bundling joy,
Windows, Linux, Mac—all in a row,
Verification whispers: "Let artifacts flow!" 🎁

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(plugin): enhance Feishu plugin packaging and build process for all platforms' clearly and specifically summarizes the main changes—enhancing Feishu plugin packaging/building across Windows, Linux, and macOS platforms.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feishu-plugin

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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.

@zhangmo8 zhangmo8 marked this pull request as ready for review May 15, 2026 06:35
@zerob13 zerob13 merged commit ea12958 into dev May 15, 2026
2 of 3 checks passed
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.

2 participants