用途
bun-first 是一份开发约定,用于指导项目在 JavaScript/TypeScript 工程中优先选择 Bun,而不是 Node.js 及其周边工具链。它把 Bun 设为默认的 JavaScript 运行时、包管理器和任务运行器,并要求在没有特别说明的情况下假定 Bun 可用。
主要能力与规则
总体原则
- 优先使用 Bun,而不是 Node.js、npm、pnpm 或 yarn。
- 当 Bun 提供内置功能时,优先使用内置功能而非第三方工具。
- 优先使用 Bun 原生 API(例如文件访问、SQL、S3 等),而不是 Node.js API。
包管理
- 使用
bun install、bun add、bun remove。 - 避免 npm、yarn、pnpm。
- 倾向使用 Bun 原生的锁文件与依赖解析行为。
- 保持依赖最小且有意引入。
脚本与工具
- 脚本执行优先使用
bun run。 - 不使用 Bun 内置测试运行器(
bun test),测试改用 Vitest。 - 不使用 Bun 内置构建工具(
bun build),构建改用 Vite。 - 除非必要,不引入额外的任务运行器。
运行时与 API
- 优先使用 Bun 原生 API(fetch、fs、path、环境变量处理)。
- 编写代码时假定运行时提供现代 Web API。
- 除非明确需要,避免 Node 专有 API。
性能与开发体验
- 优先使用简单、显式的脚本,而非复杂工具链。
- 避免不必要的抽象。
使用方式
该技能以约定和规则形式呈现,适用于在开发过程中作为默认选择依据:安装依赖、运行脚本、调用运行时 API 时按上述优先级执行。未提供具体的安装命令、配置文件或代码示例。
适用场景
适合使用 Bun 作为运行时和包管理器的 JavaScript/TypeScript 项目,尤其是在希望减少第三方工具、使用现代 Web API 并保持工具链简单的团队或课程练习中。
限制与明确排除项
- 测试不使用 Bun 自带测试运行器,改用 Vitest。
- 构建不使用 Bun 自带构建工具,改用 Vite。
- 避免 npm、yarn、pnpm。
- 除明确要求外,避免 Node 专有 API。
- 关于收费、价格、平台、具体效果或完整使用步骤,资料暂未提供。