Agent Skills: 创建模块

创建新业务模块时使用

UncategorizedID: sail-sail/nest/create-module

Install this agent skill to your local

pnpm dlx add-skill https://github.com/sail-sail/nest/tree/HEAD/codegen/.agents/skills/create-module

Skill Files

Browse the full folder contents for create-module.

Download Skill

Loading file tree…

codegen/.agents/skills/create-module/SKILL.md

Skill Metadata

Name
create-module
Description
创建新业务模块时使用

创建模块

文件结构

src/tables/{mod}/
├── {mod}.sql    # 表结构
└── {mod}.ts     # 表配置

步骤

  1. 检查模块名
  • 确保 {mod}src/tables/ 下唯一,不与现有模块重名。
  1. 创建文件
  • 创建 src/tables/{mod}/{mod}.sql
  • 创建 src/tables/{mod}/{mod}.ts
  1. 注册模块
  • src/tables/tables.ts 注册:
import { defineConfig } from "../config.ts";
import base from "./base/base.ts";
import {mod} from "./{mod}/{mod}.ts";

export default defineConfig({
  ...base,
  ...{mod},
});
  1. 配置菜单
  • 创建菜单 CSV: src/tables/{mod}/base_menu.{mod}.sql.csv
id,parent_id,lbl,route_path,is_home_hide,is_enabled,is_hidden,order_by
{uuid},,模块名称,,0,1,0,60000
{uuid},{parent_uuid},子菜单,/{mod}/{table},0,1,0,60001
  • parent_id 为空表示根菜单
  • is_hidden=1, is_enabled=0 表示隐藏菜单 (通常用于被其他页面内联查看的子表)
  • 不要手动创建 base_tenant_menubase_role_menu 文件,它们会在 npm run importCsv 时自动生成
  • 无需创建 base_menu_lang, 国际化菜单仅在启用 i18n 时需要, 大部分系统不需要

示例

模块名: ec(电商)

// src/tables/ec/ec.ts
import { defineConfig } from "../../config.ts";

export default defineConfig({
  // 订单
  ec_order: { /* 订单表配置 */ },
  // 订单明细
  ec_order_detail: { /* 订单明细配置 */ },
});