贡献
欢迎贡献。无论修 bug、加测试还是提 feature request,都从这里开始。
搭环境
git clone https://github.com/TokenDanceLab/TokenDanceCode.git
cd TokenDanceCode
pnpm install
pnpm build
三行命令即可进入开发状态。项目使用 TypeScript strict 模式,通过 Vitest 跑测试。
常用命令
| 命令 | 作用 |
|---|---|
pnpm build | 编译所有包(core、sdk、cli) |
pnpm test | 跑全部 Vitest 测试 |
pnpm verify | typecheck + lint + test + contract check |
pnpm pack:smoke | 打包 tarball 并验证导入 |
pnpm release:next:check | 发布前 dry-run 检查 |
提交 PR
- 跑
pnpm verify并确认全部通过。 - 如果改了公开 API,同步更新类型和注释。
- 补充或更新对应测试。
- breaking change 请附设计说明——讲清楚改了什么、为什么改、迁移路径。
- 如果改动属于 release candidate,额外跑一次
pnpm release:next:check。
不确定改动范围合不合适?先开个 issue 聊聊,比闷头写代码省时间。
代码约定
- TypeScript strict,不放松。
- 导出符号带 JSDoc。
- 共享类型走
@tokendance/code-core,不要在各包间复制类型定义。 - 文件名:模块
kebab-case.ts,桶导出index.ts。 - 抛类型化错误(
TokenDanceCodeError子类),不用裸 string。
发布
协作和发版编排在 AgentHub 上进行。npm publish 由 release owner 在 pnpm release:next:check 通过后手动执行。