约定

这些约定描述 Hypit 仓库内部的工作方式。项目扩展使用自己的 scope 与公开的 @hypit/hypit/* SDK 子路径。

命名

对象约定例子
包目录kebab-casepackages/speech-alignment/
包名带 scope@hypit/speech-alignment
Provider 包provider- 前缀@studio/provider-images
TypeScript 文件kebab-casealign.ts
导出的类型PascalCaseSpeechAlignment
导出的函数camelCasecreateSpeechAlignment

模块边界

包在 package.json 的 exports 里声明公开入口;src/index.ts 是常见的工作区入口。内部模块使用显式 .js 扩展名(NodeNext 解析),避免在构建产物里留下歧义。

为什么值得守约定

  • — 依赖图由包边界决定,边界清晰才不会把运行时牵进编辑器
  • — 命名一致让 Agent 能猜对文件名,减少来回确认
  • — 显式扩展名让 ESM 在 Node 下行为可预期

FAQ

项目扩展也要遵守吗?

命名与边界建议遵守;scope 用你自己的。

能用默认导出吗?

建议用具名导出,便于树摇与类型推断。

可以不做 TypeScript 构建吗?

可以,但示例与官方包都用 TypeScript,跟随示例最省力。

继续阅读