# 发布与验收

## 本地验收

```bash
moon fmt --check
moon check --target wasm
moon check --target js
moon test --target wasm
moon test --target js
moon build --target wasm
moon build --target js
moon run cmd/rrule_lab -- demo
```

统计有效 MoonBit 行数时排除构建目录：

```bash
find . -name '*.mbt' -not -path './_build/*' -print0 | xargs -0 cat | wc -l
```

## mooncakes.io

1. 确认 `moon.mod` 的名称、版本、README、仓库和许可证。
2. 运行 `moon publish --dry-run` 检查发布包。
3. 使用有命名空间权限的账号登录 MoonBit 工具链。
4. 运行 `moon publish`，在 mooncakes.io 确认可访问页面。
5. 创建同版本 Git 标签和 GitHub Release，附上 `CHANGELOG.md`。

## 版本策略

- 修复兼容问题：增加补丁版本。
- 向后兼容的新功能：增加次版本。
- 破坏公开 API：增加主版本并提供迁移说明。

发布失败时不得只修改已发布版本内容，应修复问题并增加版本号重新发布。
