catalog/repos/9tykeshav--mern-ninja-cc.md

149 lines
4.3 KiB
Markdown
Raw Normal View History

2026-04-07 11:44:56 +08:00
# 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