这个Skill在做什么
如果你正在维护一个Next.js 14 + tRPC + BullMQ + TypeScript的monorepo项目,你一定懂那种痛——路由里塞满业务逻辑、process.env到处乱飞、多租户查询忘了加projectId过滤……backend-dev-guidelines这个Skill就是专门为Langfuse这类复杂后端项目设计的,把架构规范、代码模式、测试策略全部固化成AI可以直接理解的上下文。
核心功能
这个Skill覆盖了Langfuse后端开发的完整链路,核心能力分三块:
- 分层架构约束:强制tRPC procedures只做路由分发,业务逻辑必须下沉到Service层,Queue Processor同理。AI在生成代码时会自动遵循这套规范,不会把200行逻辑塞进一个procedure里。
- 双数据库模式:PostgreSQL(Prisma)处理结构化CRUD,ClickHouse处理分析型查询。Skill内置了两套查询模板,包括多租户隔离必须的projectId过滤模式。
- 可观测性规范:后端统一用OpenTelemetry + DataDog,不用Sentry。logger、traceException、instrumentAsync的用法都有明确示例,不会再出现console.log混入生产代码的情况。
除此之外,Skill还内置了Zod v4输入校验规范、env.mjs环境变量管理、Fern API文档同步要求,以及Web(Jest)和Worker(Vitest)两套测试策略。
适用平台
backend-dev-guidelines作为一个标准的AI Skill文件,可以无缝接入主流AI编程助手。在Cursor中,它会在你打开相关文件时自动激活,给AI提供完整的架构上下文;在GitHub Copilot里,它能显著提升代码补全的准确性,生成的tRPC router结构直接符合项目规范;Claude Code、OpenAI Codex、Gemini Code Assist同样支持,AI理解了这套分层架构后,给出的建议会更贴合实际工程需求。国内的文心快码、腾讯云CodeBuddy、华为云CodeArts也能直接使用,对于在国内云环境部署Langfuse的团队来说,这个Skill是AI编程助手的强力补充。
实操代码示例
下面是Skill中强调的几个核心模式,直接可以对照使用:
tRPC procedure正确写法——业务逻辑必须委托给Service:
// ✅ 正确:procedure只做路由分发
export const traceRouter = createTRPCRouter({
byId: protectedProjectProcedure
.input(z.object({ traceId: z.string() }))
.query(async ({ input, ctx }) => {
return await getTraceById(input.traceId);
}),
});
多租户隔离——Prisma查询必须带projectId:
// ✅ 正确:始终过滤projectId
const trace = await prisma.trace.findUnique({
where: { id: traceId, projectId },
});
异常处理与可观测性:
import { traceException, logger } from "@langfuse/shared/src/server";
try {
await operation();
} catch (error) {
traceException(error); // 记录到OpenTelemetry span
logger.error("操作失败", { error: error.message });
throw error;
}
优势分析
市面上很多后端规范文档是给人看的,但backend-dev-guidelines是专门为AI设计的——它的description字段精确列出了触发场景,AI在处理tRPC router、BullMQ队列、Prisma查询时会自动加载这份上下文,不需要你每次手动粘贴规范。
另一个亮点是渐进式披露设计:主文件只有约540行,核心原则一目了然,详细内容通过7个resource文件按需展开。这种结构让AI不会被过长的上下文淹没,同时在需要深入某个模块时又有完整参考。
应用场景
- 新人上手Langfuse项目:不用花几天读代码,让AI配合这个Skill直接生成符合规范的feature骨架。
- Code Review辅助:让AI检查PR是否违反了分层架构原则,比如procedure里有没有直接写业务逻辑。
- 重构遗留代码:把老的API route迁移到tRPC + Service模式时,AI能给出符合项目规范的重构方案。
- 多租户安全审计:让AI扫描数据库查询,找出缺少projectId过滤的潜在数据泄露风险。
- 测试用例生成:基于Skill中的测试模板,AI能直接生成Jest或Vitest测试文件,覆盖集成测试和单元测试。
最佳实践
使用这个Skill时有几个工程化细节值得注意。首先是Skill触发范围:description中列出的触发条件越精确,AI加载上下文的时机就越准确,避免在不相关的前端文件里也触发后端规范。
其次是与项目实际代码保持同步:如果你的项目升级了Zod版本或者调整了目录结构,记得同步更新Skill文件,否则AI给出的import路径会对不上。
测试策略上,Skill明确区分了Web用Jest、Worker用Vitest,建议在CI配置里也对应分开,避免测试框架混用导致的配置冲突。另外,测试数据务必用randomUUID()生成唯一ID,Skill里特别强调了不要用pruneDatabase,这在并发测试场景下非常重要。
对于需要管理多个项目Skill文件的团队,Skill优仓提供了统一的Skill托管和分发能力,团队成员可以直接从Skill优仓拉取最新版本的规范文件,不用再靠口口相传或者Wiki文档来同步开发规范。








暂无评论内容