贡献指南
向本仓(平台与 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。
日常
单包:pnpm --filter @sfmc-bds/sdk run build。
自检
文档
依赖对齐
平台发包
日常发版:合并 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/toolsworkspace bin,勿写随深度变化的../../../tools - 不提交
configs/、data/、密钥、本机.sfmc/ - 注释中文 UTF-8;审查关注 DRY / OCP / DIP / LSP / 最少知识