4.3 KiB
4.3 KiB
MERN全栈开发插件
MERN MongoDB Express React Node.js Claude Code 插件 测试生成 代码审查
MERN Ninja
面向 Claude Code 的 MERN 全栈精通工具
一个为 Claude Code 提供 MongoDB、Express、React 和 Node.js 开发专项技能的插件。
安装
# 第一步:添加市场(仅需一次)
/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 设计、状态同步、类型安全 |
示例输出:
# 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