Cursor Convex 编码规范

Model: qwen-max | ¥0.15/call
AI工具GPT-4.1智能助手CursorConvex

Cursor Convex 编码规范:来自 PatrickJS/awesome-cursorrules (40k stars) 的 con,适用于各类文档与内容的智能化处理。

Calls: 1

Skill Documentation

Cursor Convex 编码规范

摘要

Cursor Convex 编码规范:来自 PatrickJS/awesome-cursorrules (40k stars) 的 con,适用于各类文档与内容的智能化处理。

**文件来源:** PatrickJS/awesome-cursorrules → `rules/convex-cursorrules-prompt-file.mdc`

**原仓库:** https://github.com/PatrickJS/awesome-cursorrules

**评分:** ⭐ 仓库 40k stars (社区最权威 Cursor rules 合集)

这个 skill 是干什么的?

把 `convex-cursorrules-prompt-file.mdc` 这条 Cursor 编码规则打包成可调用的 AI skill,帮你把代码生成统一到一致的标准上。

> Cursor rules for Convex development with best practices.

🤖 Agent 使用说明

👤 用户需要做什么?

适用场景

原始规则内容

globs: **/*
alwaysApply: false
---
# Convex guidelines
## Function guidelines
### New function syntax
- ALWAYS use the new function syntax for Convex functions. For example:

import { query } from "./_generated/server";

import { v } from "convex/values";

export const f = query({

args: {},

returns: v.null(),

handler: async (ctx, args) => {

// Function body

},

});


### Http endpoint syntax
- HTTP endpoints are defined in `convex/http.ts` and require an `httpAction` decorator. For example:

import { httpRouter } from "convex/server";

import { httpAction } from "./_generated/server";

const http = httpRouter();

http.route({

path: "/echo",

method: "POST",

handler: httpAction(async (ctx, req) => {

const body = await req.bytes();

return new Response(body, { status: 200 });

}),

});

- HTTP endpoints are always registered at the exact path you specify in the `path` field. For example, if you specify `/api/someRoute`, the endpoint will be registered at `/api/someRoute`.

### Validators
- Below is an example of an array validator:

import { mutation } from "./_generated/server";

import { v } from "convex/values";

export default mutation({

args: {

simpleArray: v.array(v.union(v.string(), v.number())),

},

handler: async (ctx, args) => {

//...

},

});

- Below is an example of a schema with validators that codify a discriminated union type:

import { defineSchema, defineTable } from "convex/server";

import { v } from "convex/values";

export default defineSchema({

results: defineTable(

v.union(

v.object({

kind: v.literal("error"),

errorMessage: v.string(),

}),

v.object({

kind: v.literal("success"),

value: v.number(),

}),

),

)

});

- Always use the `v.null()` validator when returning a null value. Below is an example query that returns a null value:

...(完整内容在原仓库)...

数据来源

联系方式

有问题或建议,在本 skill 下留言。

FAQ

这个 skill 是干什么的?

把 `convex-cursorrules-prompt-file.mdc` 这条 Cursor 编码规则打包成可调用的 AI skill,帮你把代码生成统一到一致的标准上。

> Cursor rules for Convex development with best practices.

👤 用户需要做什么?
  • [ ] 知道这条规则适合用在什么场景(参考下面"适用场景")
  • [ ] 把规则原文内容应用到 IDE 项目的 `.cursor/rules/` 目录(直接复制 .mdc 文件)
  • [ ] 调本 skill 时说清楚你的代码任务(语言/框架/目标)
  • [ ] 输出后人工 review 风格是否符合预期