بنقرة واحدة
project-schema-registry
项目数据库schema架构综合指南,包含架构原则、编写标准(Trinity Pattern)和详细的领域参考。用于定义新表、修改schema或理解数据模型时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
项目数据库schema架构综合指南,包含架构原则、编写标准(Trinity Pattern)和详细的领域参考。用于定义新表、修改schema或理解数据模型时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
使用 Nitro v3 框架和 H3 编写服务端 API 的技能。适用于后端接口开发、Mock 数据迁移到 Neon 数据库、以及编写符合 Drizzle ORM 标准的查询逻辑。当需要开发新的 CRUD 接口或修复现有后端逻辑时使用此技能。
规范类型项目(apps/type)的代码组织方式、导出语法和文件结构。用于解决类型导出冲突、创建统一导出入口、处理重复导出等问题。适用于类型项目开发、类型错误修复、代码规范实施场景。在处理类型项目的代码写法时,请使用本技能。
当你修改数据库结构或种子生成脚本时,请务必阅读并遵循此指南,以防止性能问题、数据一致性崩溃和部署失败。新 Schema 应在 apps/type 中创建。
数据库 Schema 变更时的全项目同步检查清单。当修改 apps/type 中 schema.ts 的表字段、新增数据库表、或删除表时,使用此技能确保类型项目、数据库迁移、后端接口、前端页面、种子数据和技能文档全部同步更新,避免遗漏。
当用户要求在 bug 已经定位并修复后,记录排错经验、事故结论、AI 记忆更新、复盘摘要或本地 MCP 记忆时使用。这个技能只负责沉淀"发生了什么、为什么会发生、如何修好、以后要记住什么",不要把它用于实际修复 bug。
新建公共组件规范专家 - 指导在 src/components/common 目录下创建符合项目规范的公共组件,包括文件结构、TypeScript 类型、Vue 组件、文档和测试页面。 触发条件(满足任意一项即触发): - 任务包含"新建组件"、"公共组件"、"common 组件"、"创建组件"等关键词 - 需要在 src/components/common 目录下创建新组件 - 需要创建可复用的业务组件(如表单分区标题、操作按钮组、信息展示卡片) - 需要编写组件的 TypeScript 类型定义 - 需要编写组件使用文档(index.md) - 需要创建组件测试页面(src/pages/test-use/) - 用户提及"组件规范"、"组件文档"、"组件测试"等关键词 必须协同的技能: - beautiful-component-design(组件美化时)- 图标、响应式设计、表单分区标题 - component-migration(从旧组件迁移时)- ColorUI → wot-design-uni - use-wd-form(组件内包含表单时)- 表单结构、wd-picker、校验规则 禁止事项: - 禁止在 components 目录外创建公共组件 - 禁止不编写组件文档(index.md) - 禁止不提供使用示例和测试页面 - 禁止组件命名不规范(必须使用短横线命名法) - 禁止不定义 TypeScript 类型(types.ts) - 禁止在组件文件顶部不添加说明注释 - 禁止不使用 withDefaults 设置 props 默认值 覆盖场景:所有需要跨页面复用的业务组件,包括表单分区标题(FormSectionTitle)、操作按钮组(ActivityActions)、信息展示卡片(ActivityInfo)、加载状态组件(ZPagingLoading)等。
| name | project-schema-registry |
| description | 项目数据库schema架构综合指南,包含架构原则、编写标准(Trinity Pattern)和详细的领域参考。用于定义新表、修改schema或理解数据模型时使用。 |
本技能提供项目数据库 Schema 架构、编写标准和特定领域数据定义的权威指南。
apps/type 包是所有数据定义的 Single Source of Truth(唯一事实来源)。对于每个业务实体,它必须导出三种产物:
communities)。insertCommunitySchema)。type NewCommunity)。@01s-11comm/type 导入表、schemas 和类型。apps/type/src/business/<domain>/<module>/schema.ts。apps/admin/server 必须使用导出的 Zod schemas 验证 API 请求体。apps/admin/src 必须使用导出的 Zod schemas 验证表单。每个 schema.ts 文件必须严格遵循 Trinity Pattern(三位一体模式):
pgTable 定义表。primaryId() 定义 UUID 主键。...timestamps 添加标准的 create_time / update_time 字段。.references(() => otherTable.id) 定义外键。opMerchants)。createInsertSchema(table)。
(schema) => schema.min(1)。.omit({ id: true, createTime : true, updateTime: true })。insert<Entity>Schema(例如 insertOpMerchantSchema)。createSelectSchema(table)。
.extend() 覆盖字段(避免类型不兼容)。select<Entity>Schema(例如 selectOpMerchantSchema)。z.object({...})。
insertSchema.partial()。显式定义。id 字段是必需的(z.string().uuid())。update<Entity>Schema(例如 updateOpMerchantSchema)。typeof table.$inferSelect(名称:<Entity>)typeof table.$inferInsert(名称:New<Entity>)z.infer<typeof update<Entity>Schema>(名称:Update<Entity>)当后端使用 readValidatedBody(event, insertSchema.parse) 但类型推导不足时,必须使用 New<Entity> 作为写入类型回填,确保 db.insert(table).values(body) 无类型报错。
特定业务领域的详细 schema 定义可在 references/ 目录中找到:
所有 PostgreSQL 枚举必须在 apps/type/src/common/enums.ts 中定义,以确保全局唯一性和复用。