用途
Node.js Best Practices 是一项面向智能体(agent)的技能,目标是让 Node.js 相关的修改或代码审查变得“具体、安全、成比例”。它通过一套经过整理的最佳实践目录来引导工作,而不是让智能体凭记忆给出泛泛建议。官方说明明确指出:应将随包提供的 reference/README.md 及其链接的文件视为权威的实践目录,不要复制或自行发明一套并行的检查清单。
工作流程
该技能定义了一套使用步骤:
- 确立任务边界:检查受影响的代码、配置、测试、部署文件以及仓库内的说明;识别涉及的运行面(HTTP、worker、CLI、数据访问、容器、CI 或 npm 发布)。
- 在 Practice map 中选择相关的实践领域,然后在 reference/README.md 中定位对应条目;在做决定或提出发现之前,先阅读条目的 TL;DR 与 “Otherwise” 后果说明。
- 当建议影响实现决策、权衡不清晰或需要示例时,跟随条目本地的 Read More 链接;reference/sections/ 下的文件是详细参考,应优先使用其中的本地示例与素材,而非凭记忆给出的建议。
- 将指导应用到实际代码库,除非任务要求,否则保留项目既有的框架、包管理器和约定;目录中的库名称仅为示例,添加前需先验证与项目 Node 版本及依赖的兼容性。
- 按改动规模做相应验证:运行项目相关检查,覆盖被改动的错误路径与边界,并在适用时检查生成/容器配置。
- 仅当涉及运行面的每个相关实践领域都被考虑、每条实质性建议都已实现或被明确说明为不适用、且结果有代码或测试证据支持时,才算完成。
实践领域(Practice map)
技能提供了一张路由表,将任务类型映射到 README 章节。所列章节只是路由标签,并非要求自动应用每一条实践。
- 涉及组件边界、分层、配置、框架或 TypeScript 范围时:从第 1 章「项目架构实践」开始。
- 涉及抛出的错误、被拒绝的 Promise、日志、校验、进程失败或 API 错误响应时:从第 2 章「错误处理实践」开始。
- 涉及 JavaScript/TypeScript 约定、模块、异步代码、lint 或副作用时:从第 3 章「代码风格实践」开始。
- 涉及单元/API/e2e 测试、fixture、覆盖率、mock、端口或静态分析时:从第 4 章「测试与整体质量实践」开始。
- 涉及可观测性、依赖、进程存活、部署、扩缩容、内存或生产环境时:从第 5 章「走向生产实践」开始。
- 涉及密钥、认证、输入处理、注入、依赖风险、重定向、子进程或 npm 发布时:从第 6 章「安全实践」开始。
- 涉及事件循环延迟或可避免的工具库开销时:从第 7 章「性能实践」开始。
- 涉及镜像、Dockerfile、构建密钥、容器生命周期、运行时限制或镜像扫描时:从第 8 章「Docker 实践」开始。
审查输出要求
当用于审查而非修改代码时,技能要求只报告在当前代码库中可操作的发现。每条发现应给出:受影响的位置、失败模式、适用的 README 实践,以及具体的修复建议。安全、数据丢失、服务中断与正确性风险的优先级应高于可维护性建议。当这类上下文能让审查可审计时,应说明检查了哪些相关领域。
参考边界
- reference/README.md 是整个目录的索引与简明理由说明。
- reference/sections/ 包含链接的深入内容、示例与配套素材;应通过 README 链接加载单个文档,而不是扫描整个目录。
- 为保证包体聚焦,官方省略了翻译版 README,应使用英文 README 作为权威路径。
- ATTRIBUTION.md 与 reference/LICENSE 说明了来源与复用条款。
适用场景与限制
适用场景包括:对 Node.js/TypeScript 项目进行代码修改、代码审查、生产与安全实践检查、错误处理与性能改进、Docker 配置检查等。限制方面:本技能本身是一套实践指导目录,其具体内容需参照包内 reference/README.md 与 reference/sections/ 文件;关于许可证、版本、安装方式与更多技术细节,当前资料暂未提供。