For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /dev/contributing.md.
  • 简体中文
  • 贡献指南

    向本仓(平台与 SDK)提交改动时看这篇。业务模块在独立作者仓发布,不经本仓 changesets。

    更细约定见 代码约定;脚本见 工具脚本;模块发包见 发布你的模块。

    环境

    • Node.js ≥ 22.13
    • pnpm workspace(pnpm-workspace.yaml);本地 @sfmc-bds/* 用 ^<version>,禁止 workspace:*
    • 可选:Python 3.12 + pip install -r docs/requirements.txt
    pnpm install && pnpm run build && pnpm run verify

    根脚本

    以下命令统一使用 pnpm。

    日常

    命令说明
    pnpm run build各 workspace build
    pnpm run typecheck各 workspace typecheck
    pnpm run lintbuild eslint-plugin 后 eslint .
    pnpm startCLI

    单包:pnpm --filter @sfmc-bds/sdk run build。

    自检

    命令说明
    pnpm run verify平台集成自检

    文档

    pnpm run docs api
    pnpm run docs serve
    pnpm run docs build

    依赖对齐

    pnpm run syncpack:fix
    pnpm exec syncpack format --check

    平台发包

    命令说明
    pnpm run changeset添加 changeset;push main 后 CI 开 Version PR
    node packages/tools/pack-verify.mjs检查发布包内容

    日常发版:合并 Version PR 即可,无需本地 prerelease / release。正式版使用 npm latest;预发布需单独启用 Changesets pre mode。模块作者发包见 发布你的模块。

    仓库规则

    • 业务模块只依赖 @sfmc-bds/sdk + @minecraft/*;跨模块用 manifest + service
    • 不直连 db-server、不 import 其它模块源码、不读写对方私有表
    • 配置 JSON、SAPI 启动缓存;改配置后重启 BDS
    • 消息用 Msg.*,不用 player.sendMessage()
    • 包内 build/typecheck 走 monorepo @sfmc-bds/tools workspace bin,勿写随深度变化的 ../../../tools
    • 不提交 configs/、data/、密钥、本机 .sfmc/
    • 注释中文 UTF-8;审查关注 DRY / OCP / DIP / LSP / 最少知识

    相关

    文档内容
    架构分层
    平台开发SDK / db / CLI
    ESLint 约定规则
    文档站维护Rspress / TypeDoc