← Back to Skills Marketplace
openlark

WeChat Mini Program CI

by OpenLark · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
53
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install miniprogram-ci
Description
Automate WeChat Mini Program code upload, preview, npm build, and cloud deployments with CI/CD support using Node.js or CLI without opening DevTools.
README (SKILL.md)

miniprogram-ci

WeChat Mini Program CI tool · v2.1.31 · Node >= 16.1.0

A compilation module extracted from the WeChat Developer Tools for mini program/mini game projects. Supports both Node.js script calls and CLI commands.

Installation

npm install miniprogram-ci
# Global install (for CLI usage)
npm install -g miniprogram-ci

Prerequisites

  1. Get AppID — appid of your mini program/mini game
  2. Generate private key — WeChat Official Platform → Management → Development → Development Settings → Mini Program Code Upload → Generate "Upload Private Key" (.key file)
  3. Configure IP whitelist (recommended) — Only whitelisted IPs can call upload/preview APIs
  4. Key security — Private keys are not stored in plaintext on the platform. Must reset if lost.

Quick Start

const ci = require("miniprogram-ci");

(async () => {
  const project = new ci.Project({
    appid: "wx0000000000000000",
    type: "miniProgram",            // miniProgram | miniProgramPlugin | miniGame | miniGamePlugin
    projectPath: "./dist/build/mp-weixin",
    privateKeyPath: "./key/private.wx.xxxxx.key",
    ignores: ["node_modules/**/*"],
  });

  // Upload code
  const uploadResult = await ci.upload({
    project,
    version: "1.0.0",
    desc: "Fixed several issues",
    setting: { es6: true, minify: true },
    onProgressUpdate: console.log,
    robot: 1,
  });
  console.log("subPackageInfo:", uploadResult.subPackageInfo);

  // Preview (generate QR code)
  await ci.preview({
    project,
    desc: "Preview version",
    setting: { es6: true },
    qrcodeFormat: "image",          // image | base64 | terminal
    qrcodeOutputDest: "./preview.jpg",
    pagePath: "pages/index/index",
    searchQuery: "id=123",
    onProgressUpdate: console.log,
    robot: 1,
  });
})();

Main API

Method Purpose Key Parameters
ci.upload() Upload code project, version(required), desc, setting, robot
ci.preview() Preview (QR code) project, qrcodeOutputDest(required), desc, setting, robot
ci.buildNpm() Build npm project, options.ignores
ci.getDevSourceMap() Get latest sourceMap project, robot(required), sourceMapSavePath(required)
ci.cloudFunctionDeploy() Upload cloud function project, env(required), name(required), path(required)
ci.cloudFileUpload() Upload cloud storage/static hosting project, env(required), path(required) [alpha]
ci.cloudContainerDeploy() Deploy cloud container version project, env(required), containerRoot + version [alpha]
ci.proxy() Set proxy proxyUrl(optional)

Compile Settings

{
  es6: true,           // ES6 → ES5
  es7: true,           // Enhanced compilation
  minifyJS: true,      // Minify JS
  minifyWXML: true,    // Minify WXML
  minifyWXSS: true,    // Minify WXSS
  minify: true,        // Minify all
  codeProtect: true,   // Code protection
  autoPrefixWXSS: true, // Auto prefix CSS
}

Project Object

new ci.Project({
  appid: "wx...",           // required
  projectPath: "./dist",    // required (directory containing project.config.json)
  privateKeyPath: "./key",  // required
  type: "miniProgram",      // optional, defaults to miniProgram
  ignores: ["node_modules"],// optional
})

CLI Commands

# Upload
miniprogram-ci upload \
  --pp ./dist \
  --pkp ./key/private.key \
  --appid wx0000000000000000 \
  --uv 1.0.0 \
  --ud "Version description" \
  --r 1

# Preview
miniprogram-ci preview \
  --pp ./dist \
  --pkp ./key/private.key \
  --appid wx0000000000000000 \
  --uv 1.0.0 \
  --ud "Preview description" \
  --qrcode-format image \
  --qrcode-output-dest ./preview.jpg

Proxy Configuration

Auto-detection order: HTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy → npm config → manual

ci.proxy("http://127.0.0.1:8888");   // manual
ci.proxy();                           // clear, restore auto

servicewechat.com is automatically added to no_proxy.

Return Values (upload/preview)

{
  subPackageInfo: [
    { name: "__FULL__", size: 123456 },    // entire package
    { name: "__APP__", size: 100000 },     // main package
    { name: "subPack1", size: 23456 },     // sub package
  ],
  pluginInfo: [
    { pluginProviderAppid: "wx...", version: "1.0.0", size: 12345 },
  ],
  devPluginId: "wx...",
}

Third-Party Platform

Supported since 1.0.28. Note:

  • Project must have a valid ext.json
  • Use the private key of the development mini program bound to the third-party platform
  • IP whitelist also belongs to that development mini program
  • The appid passed in must be the bound development mini program's appid

Robot Parameter

Specify which CI robot to use (1~30), enabling concurrent operations without conflicts.

Reference Files

File Content
references/cloud.md Cloud development (cloud functions/cloud containers/cloud storage)
references/cli.md CLI command detailed options
Usage Guidance
Install only if you intend to let an agent help with WeChat Mini Program CI/CD. Treat the WeChat upload private key as a deployment credential: keep it out of repositories and chat logs, inject it through a CI secret store, restrict access and IPs where possible, rotate it if exposed, and require explicit confirmation before upload, preview, cloud function, storage, or container deployment commands.
Capability Tags
cryptorequires-walletrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The artifact is a documentation skill for miniprogram-ci, covering upload, preview, npm build, cloud function deployment, cloud storage upload, and cloud container deployment, which match the stated CI/CD purpose.
Instruction Scope
Examples require explicit project path, appid, private key path, version, robot, and cloud environment parameters, but the docs do not strongly require user confirmation before remote upload or deployment actions.
Install Mechanism
The package contents are Markdown documentation only; it suggests npm installation of miniprogram-ci, including optional global CLI installation, with no bundled executable, install hook, or obfuscated code.
Credentials
Use of WeChat app IDs, upload private keys, IP whitelisting, proxies, and cloud environment IDs is sensitive but proportionate for a CI/CD deployment tool. Secret-handling guidance is present only at a minimal level.
Persistence & Privilege
No background worker, recurring execution, credential persistence, privilege escalation, destructive local file operation, or autonomous execution mechanism is defined by the artifacts.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install miniprogram-ci
  3. After installation, invoke the skill by name or use /miniprogram-ci
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of miniprogram-ci v1.0.0: - Provides Node.js module and CLI for WeChat Mini Program/mini game CI/CD without opening DevTools. - Supports code upload, preview (QR code), npm build, cloud function/cloud container deployment, and cloud storage upload. - Includes comprehensive API and CLI usage documentation. - Requires appid, private key, and optional IP whitelist for secure access. - Allows custom compile settings and robot selection for concurrent operations. - Details return values and advanced use (e.g., third-party platform integration, proxy configuration).
Metadata
Slug miniprogram-ci
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is WeChat Mini Program CI?

Automate WeChat Mini Program code upload, preview, npm build, and cloud deployments with CI/CD support using Node.js or CLI without opening DevTools. It is an AI Agent Skill for Claude Code / OpenClaw, with 53 downloads so far.

How do I install WeChat Mini Program CI?

Run "/install miniprogram-ci" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is WeChat Mini Program CI free?

Yes, WeChat Mini Program CI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does WeChat Mini Program CI support?

WeChat Mini Program CI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created WeChat Mini Program CI?

It is built and maintained by OpenLark (@openlark); the current version is v1.0.0.

💬 Comments