# MERN全栈开发插件 `MERN` `MongoDB` `Express` `React` `Node.js` `Claude Code` `插件` `测试生成` `代码审查` # MERN Ninja > 面向 [Claude Code](https://claude.ai/claude-code) 的 MERN 全栈精通工具 一个为 Claude Code 提供 MongoDB、Express、React 和 Node.js 开发专项技能的插件。 ## 安装 ```bash # 第一步:添加市场(仅需一次) /plugin marketplace add 9tykeshav/mern-ninja-marketplace # 第二步:安装插件 /plugin install mern-ninja@mern-ninja-marketplace ``` ## 技能 ### `mern-ninja:backend-test-writer` 以智能默认值、零配置方式生成全面的后端测试。 **直接说:** ``` 为我的用户路由生成测试 为认证服务编写测试 为 User 模型创建测试 ``` **功能说明:** | 文件类型 | 测试类型 | 方式 | |----------|----------|------| | 路由/控制器 | 集成测试 | Supertest + mongodb-memory-server | | 服务 | 单元测试 | Mock 依赖 | | 模型 | 单元测试 | 校验、方法、toJSON | | 中间件 | 单元测试 | Mock req/res/next | | 工具函数 | 单元测试 | 纯函数测试 | **特性:** - 自动检测测试框架(Jest/Vitest/Mocha) - 在生成新测试前分析现有测试的覆盖缺口 - 为每个测试用例标注优先级(P0/P1/P2) - 针对特定领域的边界情况(日期 → 夏令时/时区,金额 → 精度) - 内置 Setup/Teardown 样板代码 --- ### `mern-ninja:code-reviewer` 从安全、性能和最佳实践角度审查 MERN 全栈代码。 **直接说:** ``` 审查我的认证代码 检查这个 Express API 的安全问题 审计这个 MongoDB Schema ``` **审查优先级:** | 优先级 | 关注点 | |--------|--------| | 1. 安全 | 注入攻击、XSS、认证缺陷、密钥泄露、CORS | | 2. 性能 | N+1 查询、重复渲染、阻塞操作 | | 3. 最佳实践 | 错误处理、异步模式、资源清理 | | 4. 架构 | API 设计、状态同步、类型安全 | **示例输出:** ```markdown # MERN 代码审查 ## 摘要 - 已审查文件:5 - 问题:2 个严重,3 个重要,5 条建议 ## 严重(必须修复) ### [C1] 安全:登录接口存在 NoSQL 注入 **文件:** `api/auth/login.js:24` **原因:** 用户输入直接传入查询 **修复:** 使用显式字段匹配 ## 做得好的地方 - JWT 刷新流程正确 - 错误响应格式一致 ``` --- ### `mern-ninja:mongodb-query-patterns` 以数据流优先的方式编写可扩展的 MongoDB/Mongoose 查询。 **以下情况会自动触发:** ``` 编写新的 Mongoose 查询 在服务之间传递数据 构建读写 MongoDB 的接口 在可传递文档的地方传递了 ID ``` **核心理念:** 最好的查询是根本不发出的查询。在调用栈中传递文档——不要重复获取调用方已经拥有的数据。 **涵盖的模式:** | 模式 | 防止的问题 | |------|-----------| | 在服务间传递数据 | 同一文档在服务边界被重复查询 3-4 次 | | 使用 `$in` + Map 批量处理 | 每条记录触发一次查询的 N+1 循环 | | `.select()` + `.lean()` | 读路径上携带 Mongoose 开销的全文档查询 | | 避免对列表使用 `.populate()` | 隐藏在整洁 API 背后的隐式 N+1 查询 | | 直接使用 `updateOne` | 简单字段更新的"查询-修改-保存"往返 | | 使用 `bulkWrite` | 顺序执行的更新循环 | | 提升公共查询 | if/else 分支中的重复查询 | | 为过滤字段建立索引 | 全集合扫描(COLLSCAN) | **包含:** 提交前检查清单、常见错误对照表,以及"每条查询都必须自证其存在"的决策框架。 --- ## 参考指南 插件内置约 1500 行精心整理的最佳实践: | 指南 | 内容 | |------|------| | `security.md` | OWASP Top 10、MERN 特有漏洞 | | `react.md` | Hooks、重复渲染、安全、测试 | | `nodejs.md` | 异步模式、事件循环、内存管理 | | `express.md` | 中间件、认证、错误处理 | | `mongodb.md` | Schema 设计、索引、查询 | | `fullstack.md` | API 设计、认证流程、状态同步 | | `test-patterns.md` | 按文件类型分类的完整测试示例 | | `test-setup.md` | Jest 配置、测试夹具、Mock | ## 路线图 - [ ] `mern-ninja:scaffolder` – 生成 MERN 脚手架 - [ ] `mern-ninja:migrator` – 数据库迁移辅助工具 - [ ] `mern-ninja:frontend-test-writer` – React 组件测试 ## 许可证 MIT