SuperAPI AI Directory

miniprogram-development

Coding & development

View repository

Updated 10-16 01:31

About this skill

Sibling skills (local only)

Sibling CloudBase skills ship beside this skill. Use local relative paths such as ../auth-tool-cloudbase/SKILL.md.

If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.

Cross-cutting protocols (required before code changes or deployments):

  • Change Safety Protocol: ../cloudbase-platform/references/protocols/change-safety-protocol.md
  • Deployment Gate: ../cloudbase-platform/references/protocols/deployment-gate.md

Post-deployment (optional, non-intrusive): after a mini program upload/publish is verified successful, you may offer at most once to generate anonymized shareables (visual card + paste-ready copy) and, in that same offer, optionally submit the work to the case wall — see ../cloudbase-platform/references/protocols/deployment-share.md for trigger boundaries, required information, anonymization red lines, and deliverable formats. Never follow up if declined; never publish or submit on the user's behalf.

Activation Contract

Use this first when

  • The request is about WeChat Mini Program structure, pages, preview, publishing, or CloudBase mini program integration.
  • The user asks about mini program account registration or subject type (individual / individual industrial and commercial household / enterprise subject, quickly register and certify a mini program, mini program subject change), or reports that the DevTools Cloud Development entry is grayed out or their environment cannot be found.

Read before writing code if

  • The user mentions wx.cloud, CloudBase mini programs, OPENID, mini program deployment/debug workflows, Nightly DevTools, wechatide, or WeChat IDE Skills.
  • The user mentions test account / trial accounts, a grayed-out Cloud Development entry, or a mini program environment that is invisible in DevTools.
  • The user mentions message push (message push), customer-service auto-reply (customer service messages/auto-reply), or binding MsgType/Event callbacks to cloud functions.

Then also read

  • CloudBase auth -> ../auth-wechat-miniprogram/SKILL.md
  • CloudBase document DB -> ../cloudbase-document-database-in-wechat-miniprogram/SKILL.md
  • Mini Program WeChat Pay, virtual payment (virtual payment, wx.requestVirtualPayment), or Integration Center generated payment functions -> ../cloudbase-wechat-integration/SKILL.md (official docs: https://docs.cloudbase.net/integration/wechat-pay-miniprogram.md)
  • UI generation -> ../ui-design/SKILL.md first

Do NOT use for

  • Web auth flows or Web SDK-specific frontend implementation.
  • WeChat Pay, virtual payment / wx.requestVirtualPayment, payment callbacks, refunds, or Official Account OAuth details; use cloudbase-wechat-integration for those scenarios.

Common mistakes / gotchas

  • Generating a Web-style login flow for mini programs.
  • Mixing Web SDK assumptions into wx.cloud projects.
  • Applying CloudBase constraints before confirming the project actually uses CloudBase.
  • Assuming Stable WeChat Developer Tools includes Nightly Skills/wechatide (it may not).
  • Running which wechatide, finding nothing, and quietly switching to manual import. Missing wechatide is a setup gap to report and offer to fix, not an environment limit — state that Nightly is required, offer to install it, and wait for the user's decision before falling back.
  • Forcing CloudBase MCP Tencent Cloud login for daily mini program cloud ops when Nightly wechatide already works.
  • Inventing wechatide tool names or flags instead of using --help / Nightly tools.yaml.
  • Bypassing wxide CLI / IDE for message-push ops with low-level transport before cloud_*_msg_push is exposed (see message-push-customer-service.md).
  • Assuming cloud-function return values auto-reply to customer-service chats (must use cloud.openapi.customerServiceMessage.send).
  • Treating a grayed-out Cloud Development entry, or an environment missing from DevTools, as a DevTools bug — trial/test accounts do not support CloudBase, and when the mini program's bound Tencent Cloud account differs from the account that created the environment, the environment is simply not listed. Diagnose the cause before touching the project (see Common Pitfalls §6).
  • Recommending a personal-subject (personal subject) mini program account because registration is free — personal subjects cannot bind a WeChat Pay merchant account, so physical goods and offline services are out; they also have far fewer service categories, and switching subject later requires notarization plus a paid review. The reverse mistake is just as bad: do not push a virtual-goods-only idea to a company account on the grounds that "personal cannot take payments" — virtual payment is open to personal subjects whose service category includes tools. Ask what the app will sell before recommending a subject (see CloudBase integration reference §0.1).
  • Making code or configuration changes without first following the Change Safety Protocol (cloudbase-platform/references/protocols/change-safety-protocol.md).
  • Performing mini program upload/publish without first completing the checks in cloudbase-platform/references/protocols/deployment-gate.md.

When to use this skill

Use this skill for WeChat Mini Program development when you need to:

  • Build or modify mini program pages and components
  • Organize mini program project structure and configuration
  • Debug, preview, or publish mini program projects
  • Work with WeChat Developer Tools workflows
  • Handle mini program runtime behavior, assets, or page config files
  • Integrate CloudBase in a mini program project when explicitly needed

Do NOT use for:

  • Web frontend development (use web-development)
  • Pure backend service development (use cloudrun-development or cloud-functions as appropriate)
  • UI design-only tasks without mini program development context (use ui-design)

How to use this skill (for a coding agent)

  1. Start with the general mini program workflow

    • Treat WeChat Mini Program development as the default scope
    • Do not assume the project uses CloudBase unless the user or codebase indicates it
  2. Follow mini program project conventions

    • Keep mini program source under the configured mini program root
    • Ensure page files include the required configuration file such as index.json
    • Check project.config.json before suggesting preview or IDE workflows
  3. Route by scenario

    • If the task involves debugging, previewing, publishing, opening DevTools, console/network, or wechatide, read debug and preview reference first
    • If choosing between WeChat IDE Skills and CloudBase MCP, read WeChat IDE Skills vs CloudBase MCP
    • If the task involves CloudBase, wx.cloud, cloud functions, CloudBase database/storage, or CloudBase identity handling, read CloudBase integration reference
    • If the task hits account / subject prerequisites (mini program not yet registered, subject selection, test account, Cloud Development entry grayed out, environment not visible), read CloudBase integration reference section 0 first
    • If the task involves mini program SEO / WeChat search optimization / page indexing / search promotion (mini program search optimization, page indexing, search promotion, keyword ranking), read Mini Program SEO & WeChat Search Optimization first
    • If the task involves message push (message push), customer-service auto-reply (customer service message auto-reply), MsgType/Event → cloud function binding, or push-related function logs, read Message Push & Customer Service Auto-Reply first
    • If the task involves tabBar, icon assets, or label spacing, prefer the text-only custom tabBar default below unless the user explicitly requires icons
  4. Use CloudBase rules only when applicable

    • CloudBase / WeChat Cloud Development is an important mini program integration path, but not a universal requirement
    • Only apply CloudBase-specific auth, database, storage, or cloud function constraints when the project is using CloudBase
  5. Recommend the right preview/debug/cloud-ops path

    • Default target: Nightly WeChat Developer Tools (built-in Skills/MCP), executed through wechatide — see devtools-debug-preview.md
    • Nightly download: https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly_backup.html
    • A missing wechatide is a one-time setup gap, not an environment limit. Tell the user Nightly is required for the CLI-driven path, offer to download/install it, and wait for their answer. Only after they decline or cannot install do you continue with miniprogram-ci + CloudBase MCP.
    • Never present stable DevTools + hand import as the recommended default, and never make the "keep it simple" trade-off on the user's behalf. Manual import is a downgrade the user chooses, not one you assign.

WeChat Mini Program Development Rules

General Project Rules

  1. Project Structure

    • Mini program code should follow the project root configured in project.config.json
    • Keep page-level files complete, including .json configuration files
    • Ensure referenced local assets actually exist to avoid compile failures
  2. Configuration Checks

    • Check project.config.json before opening, previewing, or publishing a project
    • Confirm appid is available when a real preview, upload, or WeChat Developer Tools workflow is required
    • Confirm miniprogramRoot and related path settings are correct
  3. Resource Handling

    • For tabBar, prefer a text-only custom tabBar by default when the user does not explicitly need icons. This avoids icon asset handling, removes reserved icon space, and makes the label area easier to align.
    • Only generate local icon assets and configure iconPath / selectedIconPath when the user explicitly asks for tab icons or the design requires them.
    • When generating local asset references such as icons, ensure the files are downloaded into the project.
    • Keep file paths stable and consistent with mini program config files.

Recommended default for simple tabBar

Use tabBar.custom = true, keep only pagePath and text in app.json, and render text-only items in the custom component so there is no icon slot and no extra blank area above the label.

app.json

{
  "tabBar": {
    "custom": true,
    "list": [
      { "pagePath": "pages/index/index", "text": "首页" },
      { "pagePath": "pages/travel/travel", "text": "行程" },
      { "pagePath": "pages/my/my", "text": "我的" }
    ]
  }
}

Keep the custom tabBar layout text-only, and use flex centering or matching height and line-height to remove the blank area above the label. Switch to downloaded local icons only when the user explicitly wants icon-based tabs.

CloudBase as a Mini Program Sub-Scenario

  • If the user explicitly uses CloudBase, wx.cloud, Tencent CloudBase, Tencent Cloud Development, or Cloud Development, follow the CloudBase integration reference
  • In CloudBase mini program projects, use wx.cloud APIs and CloudBase environment configuration appropriately
  • Do not apply CloudBase-specific rules to non-CloudBase mini program projects

Debugging, Preview, and Publishing

  • Default path: Nightly DevTools + wechatide for open project, compile, simulator, console/network debug, preview, upload, and daily cloud ops (WeChat login — no separate Tencent Cloud login)
  • Always pass required context: -c <clientName>, absolute --project, valid appid, and cloud env when needed
  • If wechatide is missing: report it as a setup gap, state that Nightly is required for the CLI-driven path, offer to install it, and wait for the user's answer — do not downgrade on your own
  • Only after the user declines or cannot install Nightly: use miniprogram-ci for preview/upload/npm plus CloudBase MCP for cloud resources, and say which capabilities are now missing (simulator, console/network, automation, CLI cloud ops)
  • For detailed workflows, read debug and preview reference and WeChat IDE Skills vs CloudBase MCP

Message Push & Customer Service Auto-Reply

WeChat Ecosystem Special Chapter: for message push / customer-service auto-reply details, refer to the Chinese reference (keep English API names for terminology).

  • Current only ops path: WeChat Developer Tools IDE + wxide CLI. Do not teach low-level bypasses while cloud_query_msg_push / cloud_manage_msg_push are not yet exposed (pending WeChat IDE CLI support).
  • Deploy receiver functions with cloud_fn_deploy and --remote-npm-install; bind (MsgType, Event) → one cloud function in the IDE message-push panel until CLI tools land.
  • Customer-service auto-reply requires cloud.openapi.customerServiceMessage.send plus config.json openapi permissions — function return values alone do not reply.
  • Function logs: IDE Cloud Development Console → Cloud Functions → Logs; the wxide CLI does not expose log query yet — do not teach low-level log CGI bypasses.
  • Full reference: Message Push & Customer Service Auto-Reply

Minimal project skeleton

app.js

App({
  onLaunch() {
    console.log("Mini Program launched");
  },
});

pages/index/index.js

Page({
  data: {
    message: "Hello CloudBase Mini Program",
  },
});

pages/index/index.wxml

<view class="page">
  <text>{{message}}</text>
</view>

pages/index/index.json

{
  "navigationBarTitleText": "Home"
}

project.config.json

{
  "appid": "your-mini-program-appid",
  "projectname": "cloudbase-mini-program",
  "miniprogramRoot": "./",
  "compileType": "miniprogram"
}

References