← Browse

@lessup/awesome-cursorrules-zh-21

A

NestJS TypeScript .cursorrules 提示文件

rulescursor

Install

agr install @lessup/awesome-cursorrules-zh-21 --target cursor

Writes 1 file into .cursor/rules/, pinned to git-45f880bf.

  • .cursorrules

Document

NestJS TypeScript .cursorrules 提示文件

你是 NestJS、TypeScript 和企业级后端开发方面的专家。

核心原则

  • 遵循 SOLID 原则和模块化设计
  • 使用依赖注入管理服务依赖
  • 为每个主要域/路由创建独立模块
  • 使用 DTO 和 class-validator 验证输入
  • 实现清晰的关注点分离

技术栈

  • 框架:NestJS
  • 语言:TypeScript
  • ORM:MikroORM / TypeORM
  • 验证:class-validator
  • 测试:Jest

最佳实践

模块化设计

// 推荐的项目结构
src/
├── core/           # 核心模块
│   ├── filters/    # 全局异常过滤器
│   ├── middleware/ # 全局中间件
│   ├── guards/     # 权限守卫
│   └── interceptors/ # 拦截器
├── modules/        # 业务模块
│   └── feature/
│       ├── controllers/
│       ├── models/
│       │   ├── dto/
│       │   └── entities/
│       └── services/
├── shared/         # 共享模块
│   ├── utils/
│   └── services/
└── main.ts

控制器示例

@Controller('users')
export class UserController {
  constructor(private readonly userService: UserService) {}

  @Get(':id')
  async getUser(@Param('id') id: string): Promise<User> {
    return this.userService.getUserById(id);
  }

  @Post()
  async createUser(@Body() dto: CreateUserDto): Promise<User> {
    return this.userService.create(dto);
  }
}

服务示例

@Injectable()
export class UserService {
  constructor(
    @InjectRepository(User)
    private readonly userRepository: Repository<User>,
  ) {}

  async getUserById(id: string): Promise<User> {
    const user = await this.userRepository.findOne({ where: { id } });
    if (!user) {
      throw new NotFoundException('用户不存在');
    }
    return user;
  }
}

DTO 验证

import { IsString, IsEmail, MinLength } from 'class-validator';

export class CreateUserDto {
  @IsString()
  @MinLength(2)
  name: string;

  @IsEmail()
  email: string;

  @IsString()
  @MinLength(8)
  password: string;
}

关键约定

  1. 命名规范

    • 类名:PascalCase
    • 变量、函数、方法:camelCase
    • 文件和目录:kebab-case
    • 环境变量:UPPERCASE
    • 布尔变量使用动词:isLoading, hasError, canDelete
  2. TypeScript 规范

    • 始终声明类型(参数和返回值)
    • 避免使用 any
    • 为公共类和方法使用 JSDoc
    • 每个文件一个导出
    • 避免魔法数字,定义常量
  3. 模块组织

    • 每个主要域一个模块
    • 一个控制器对应其路由
    • 使用 DTO 验证输入
    • 为输出声明简单类型
    • 每个实体一个服务

测试规范

describe('UserService', () => {
  let service: UserService;

  beforeEach(async () => {
    const module = await Test.createTestingModule({
      providers: [UserService, UserRepository],
    }).compile();

    service = module.get(UserService);
  });

  it('should return user by id', async () => {
    const user = await service.getUserById('1');
    expect(user).toBeDefined();
  });
});

性能优化

  • 使用缓存拦截器
  • 实现数据库连接池
  • 使用批量操作减少数据库往返
  • 压缩响应数据

Repository README

Describes LessUp/awesome-cursorrules-zh as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.

Awesome Cursor Rules 中文版

Project Status Website GitHub Pages Translation Progress GitHub Stars GitHub Forks License

🇨🇳 中文 | 🇺🇸 English

为中文开发者打造的 Cursor AI 编程规则集合 Chinese localized version of Awesome Cursor Rules

132 个规则文件 · 32 个技术领域 · 190 个技术文档 · 6,500+ 行代码

🚀 快速开始 · 📂 规则目录 · 💡 使用指南 · 📚 官网 · 🤝 贡献


📋 目录


这是什么?

Awesome Cursor Rules 是优秀的 Cursor AI 编程助手规则集合。本项目是其中文本地化版本,专为中文开发者优化:

  • 🎯 精准翻译 — 高质量中文翻译,技术术语准确专业
  • 📂 结构清晰 — 按技术领域分类,便于快速查找
  • 🚀 开箱即用 — 复制 .cursorrules 文件即可开始使用
  • 🌍 双语支持 — 完整的中英文文档对照
  • ⚡ 132 个规则 — 涵盖前端、后端、移动端、AI、DevOps 等

🌐 在线文档: awesome-cursorrules-zh.js.org


什么是 .cursorrules?

.cursorrulesCursor AI 编辑器的项目级配置文件,用于定义 AI 如何协助你的编程:

功能说明示例
编码规范定义代码风格、命名约定PascalCase 组件名、camelCase 函数名
技术栈指定框架、库、工具链React + TypeScript + Tailwind CSS
最佳实践自动应用行业标准错误处理、性能优化、安全策略
AI 行为定制 AI 回复和代码生成风格详细注释、函数式编程

💡 本质:给 AI 助手的"项目工作手册",确保代码生成的一致性和高质量


✨ 特性亮点

🏆 热门技术栈

📊 覆盖领域

  • 🌐 应用开发: 前端、后端、移动端、数据库、系统编程
  • 🤖 AI 与数据: 机器学习、数据科学、数据工程
  • ☁️ 基础设施: DevOps、云服务、边缘计算、安全
  • 🔬 专业领域: 区块链、物联网、量子计算、生物科技

🚀 快速开始

安装使用

# 克隆仓库
git clone https://github.com/LessUp/awesome-cursorrules-zh.git

# 浏览可用规则
cd awesome-cursorrules-zh
ls rules/frontend/react/

使用方法

# 复制规则到你的项目
cp rules/frontend/react/nextjs-typescript/.cursorrules /你的项目路径/

完成!在 Cursor 中打开项目,AI 将自动遵循规则。

热门规则示例

技术栈规则命令
Next.js + TypeScriptnextjs-typescriptcp rules/frontend/react/nextjs-typescript/.cursorrules ./
Vue 3composition-apicp rules/frontend/vue/composition-api/.cursorrules ./
FastAPIfastapi-api-examplecp rules/backend/python/fastapi-api-example/.cursorrules ./
Flutterflutter-app-expertcp rules/mobile/flutter/flutter-app-expert/.cursorrules ./

📖 完整快速开始指南


📂 规则目录

领域目录技术
前端frontend/React, Vue, Angular, Svelte, SolidJS, TypeScript
后端backend/Node.js, Python, Go, Java, PHP, .NET, Elixir
移动端mobile/Flutter, React Native, SwiftUI, Jetpack Compose
数据库database/云原生、时空数据库
系统编程systems/C++ 现代规范、Rust
领域目录技术
AI/MLai/计算机视觉、MLOps、知识图谱、边缘 AI
数据科学data-science/Pandas, PyTorch, TensorFlow, Scikit-learn
数据工程data/Kafka, Spark, Flink, 数据仓库
领域目录技术
DevOpsdevops/Docker, Kubernetes, Terraform, CI/CD
云服务cloud/中间件、无服务器
边缘计算edge/AI 推理、模型压缩
安全security/零信任、隐私计算、同态加密
领域目录技术
区块链blockchain/Solidity, Web3, 智能合约, Foundry
物联网iot/嵌入式、数字孪生
量子计算quantum/量子纠错、超导计算
生物科技bio/生物电子、生物传感器
硬件hardware/神经形态芯片、光子计算
游戏开发gaming/DragonRuby, 云游戏
领域目录技术
开发工具tools/Convex, GitHub Quality
通用规范general/代码规范、风格一致性、测试

完整目录请查看 rules/ 文件夹


💡 使用指南

单技术栈项目

cp rules/frontend/react/nextjs-typescript/.cursorrules ./

多技术栈项目

方案一:合并规则

cat rules/frontend/react/nextjs-typescript/.cursorrules > .cursorrules
echo "" >> .cursorrules
cat rules/backend/python/fastapi-api-example/.cursorrules >> .cursorrules

方案二:目录级规则(推荐用于单体仓库)

project/
├── .cursorrules           # 通用规则
├── frontend/
│   └── .cursorrules       # 前端规则
└── backend/
    └── .cursorrules       # 后端规则

自定义规则

# 追加项目特定规则
cat >> .cursorrules << 'EOF'

## 项目自定义规则
- API 路由使用 /api/v1 前缀
- 所有模型必须包含 created_at 和 updated_at 字段
- 优先使用函数组件而非类组件
EOF

📖 完整最佳实践指南


📊 数据统计

指标数值
规则文件132 个 .cursorrules
技术领域32 个分类
技术文档190 个 Markdown 文件
总行数6,500+ 行
翻译进度100% 中英双语
覆盖范围前端、后端、移动端、AI、DevOps、区块链、物联网等

热门技术

TypeScript  ████████████████████████████████  29 个规则
React       ██████████████████████            19 个规则
Tailwind    ███████████████                   13 个规则
Python      █████████████                     11 个规则
Next.js     ██████████                         8 个规则
Node.js     █████████                          7 个规则
Docker      █████████                          7 个规则

📚 文档

文档说明链接
🚀 快速开始5 分钟上手指南在线阅读 · GitHub
📖 安装指南详细安装配置在线阅读 · GitHub
💡 最佳实践配置和使用建议在线阅读 · GitHub
🔧 故障排除问题诊断解决在线阅读 · GitHub
📋 API 参考规则格式参考在线阅读 · GitHub
📝 更新日志版本历史中文 · English

🤝 贡献

欢迎所有形式的贡献:

  • 🐛 报告问题提交 Issue
  • 🔧 改进内容提交 Pull Request
  • 🔄 同步上游 — 帮助与原项目保持同步
  • 📝 完善文档 — 优化使用指南

详见 贡献指南


🙏 致谢

本项目是 PatrickJS/awesome-cursorrules 的中文本地化版本。感谢原作者和所有贡献者。


📄 许可证

MIT License


如果这个项目对你有帮助,请给一个 ⭐ Star!

🌐 访问官方网站 · ⬆ 返回顶部

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-45f880bfd5b42026-08-04