Skip to content

Commit 0bcfa86

Browse files
committed
feat: 升级工程提示词,明确约束
1 parent 1042152 commit 0bcfa86

19 files changed

Lines changed: 382 additions & 449 deletions

.cursor/rules/business/ESM与模块发布.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ alwaysApply: true
5555
## 验证
5656

5757
```bash
58-
pnpm --filter @142vip/<pkg> build
58+
cd packages/<pkg> && pnpm build
5959
pnpm check:esm # 根目录 ESM 检查(发版前)
6060
pnpm check:publish # dry-run
6161
```

.cursor/rules/business/Egg开发.mdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ packages/egg-<name>/src/
2929
## 验证
3030

3131
```bash
32-
pnpm --filter @142vip/egg test
33-
pnpm --filter egg-demo test
32+
cd packages/egg && pnpm test
33+
cd apps/egg-demo && pnpm test
3434
```

.cursor/rules/business/Nest开发.mdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ alwaysApply: false
3434
## 验证
3535

3636
```bash
37-
pnpm --filter @142vip/nest-starter test
38-
pnpm --filter @142vip/nest-starter build
37+
cd packages/nest-starter && pnpm test
38+
cd packages/nest-starter && pnpm build
3939
```

.cursor/rules/business/VitePress开发.mdc

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,44 @@ alwaysApply: false
88

99
## 文档站与代码同步(必守)
1010

11-
根文档站内容**来源于仓库实际结构**,变更后须与代码一致(细则见 `engineering/09-文档同步规范`)。
11+
**代码变更 → 同步文档与站点**(细则 `engineering/09-文档同步规范`)。交付前必须做 **09 文档自检**
1212

13-
**完整性**:根 README 包列表、`.vitepress/sidebar.ts` 须覆盖全部 **30 包 + 4 demo**,整理文档时不得删减仍存在的模块/应用。
13+
### 三层须一致
14+
15+
| 层 | 路径 | 说明 |
16+
|----|------|------|
17+
| 主题包 | `packages/vitepress/` | `@142vip/vitepress` 源码、组件、API |
18+
| 根站配置 | `.vitepress/` | 导航、侧栏、首页、主题扩展 |
19+
| 站点正文 | `packages/*/README.md`、`apps/*/README.md`、`docs/`(见 `09` 文档地图) |
20+
21+
### 改什么 → 同步什么
1422

1523
| 改什么 | 同步哪里 |
1624
|--------|----------|
17-
| 新增/删除包 | `.vitepress/sidebar.ts`、根 README 包列表、包 `README.md` |
18-
| 包 API / 用法 | `packages/*/README.md`;大改后 `pnpm build:docs` 刷新 `docs/apis/` |
19-
| demo 端口/命令 | `apps/*/README.md`、`08` 端口表 |
20-
| 首页模块表格 | 改 `sidebar.ts` + 包 `package.json`(`project-data.ts` 自动聚合) |
21-
| 导航/URL 重写 | `.vitepress/config.ts` 的 `nav`、`rewrites` |
25+
| 新增/删除包或 demo | `sidebar.ts`、根 README 包列表、`16`、对应 `README.md` |
26+
| 包 API / 用法 | `packages/*/README.md`;刷新 `docs/apis/`(`build:docs`) |
27+
| demo 端口/命令 | `apps/*/README.md`、`08` |
28+
| 导航 / 版本 / rewrites | `.vitepress/config.ts` |
29+
| 侧栏分类 / 链接 | `.vitepress/sidebar.ts` |
30+
| 首页表格 / demo 列表 | `sidebar.ts`、`project-data.ts`(`DEMO_APP_DIRS` 若 demo 名变) |
31+
| 首页 UI | `theme/components/HomePage.vue`、`docs/index.md`(**仅** hero + HomePage) |
32+
| 主题继承 / 注册 | `theme/index.ts` 对齐 `@142vip/vitepress` |
2233

23-
**勿手改** `docs/apis/` 下 TypeDoc 生成文件;**勿在** `project-data.ts` 重复硬编码包清单
34+
**禁止**:文档有、代码无(幽灵条目);代码有、sidebar/README 无(遗漏);手改 `docs/apis/` 生成文件。
2435

25-
### 站点结构速查
36+
### `.vitepress/` 文件职责
2637

2738
```
28-
.vitepress/config.ts # base、nav、rewrites、主题
29-
.vitepress/sidebar.ts # 侧栏分类(包清单权威来源之一)
30-
docs/index.md # 首页
31-
packages/*/README.md # → /packages/:pkg/
32-
apps/*/README.md # → /apps/:pkg/
33-
docs/apis/ # typedoc:api 生成
39+
.vitepress/
40+
├── config.ts # nav、rewrites、主题配置、版本
41+
├── sidebar.ts # 侧栏(30 包 + 4 demo)
42+
├── theme/
43+
│ ├── index.ts # defineVipExtendsTheme
44+
│ ├── style.css
45+
│ └── components/
46+
│ ├── HomePage.vue
47+
│ └── project-data.ts # 首页数据(读 sidebar + package.json)
48+
docs/index.md # 首页 frontmatter + HomePage
3449
```
3550

3651
## 核心 API(不可破坏)
@@ -40,7 +55,7 @@ defineVipVitepressConfig(userConfig) // 原样返回
4055
defineVipVitepressConfig(userConfig, { mermaid: true }) // 增量合并 markdown + vite
4156
```
4257

43-
## 文件职责
58+
## 文件职责(packages/vitepress)
4459

4560
| 文件 | 职责 |
4661
|------|------|
@@ -64,13 +79,8 @@ defineVipVitepressConfig(userConfig, { mermaid: true }) // 增量合并 markdown
6479
## 验证
6580

6681
```bash
67-
# 仓库根
68-
pnpm --filter @142vip/vitepress build
69-
pnpm --filter @142vip/vitepress typecheck
70-
pnpm --filter vitepress-demo build
71-
pnpm build:docs # 根站 + typedoc:api
72-
73-
# 等价:进入目录
7482
cd packages/vitepress && pnpm build && pnpm typecheck
7583
cd apps/vitepress-demo && pnpm build
84+
pnpm build:docs # 根站 + typedoc:api;验证 .vitepress 与文档一致
85+
pnpm dev # 可选预览 :8080
7686
```

.cursor/rules/business/unbuild打包.mdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ export default defineBuildConfig({
3636
## 验证
3737

3838
```bash
39-
pnpm --filter @142vip/<pkg> build
40-
pnpm --filter @142vip/<pkg> typecheck
39+
cd packages/<pkg> && pnpm build
40+
cd packages/<pkg> && pnpm typecheck
4141
```

.cursor/rules/business/任务路由索引.mdc

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@ alwaysApply: true
55

66
# 任务路由索引
77

8-
> 收到任务后,用本表定位「改哪里、读什么规则、跑什么命令」。
8+
> 收到任务后,用本表定位「改哪里、读什么规则、跑什么命令」。验证**首选** `cd` 模块目录;安装**首选** `./scripts/ci`。
99

1010
## 意图 → 包 → 路径 → 验证
1111

1212
| 意图 | 目标包 | 关键路径 | 验证命令 |
1313
|------|--------|----------|----------|
14-
| 文档站主题/组件 | `@142vip/vitepress` | `packages/vitepress/src/` | `build` + `typecheck` + `vitepress-demo build` |
15-
| 根文档配置 | — | `.vitepress/config.ts` | `pnpm build:docs` 或 `pnpm dev` |
16-
| demo 文档 | `vitepress-demo` | `apps/vitepress-demo/.vitepress/` | `pnpm --filter vitepress-demo build` |
14+
| 文档站主题/组件 | `@142vip/vitepress` | `packages/vitepress/src/` | `cd packages/vitepress && pnpm build`;`cd apps/vitepress-demo && pnpm build` |
15+
| 根文档配置 | — | `.vitepress/config.ts` | `pnpm build:docs` 或 `pnpm dev`(根目录) |
16+
| demo 文档 | `vitepress-demo` | `apps/vitepress-demo/.vitepress/` | `cd apps/vitepress-demo && pnpm build` |
1717
| Mermaid 图表 | `@142vip/vitepress` | `components/VipMermaid.vue`, `core/mermaid.ts` | 同上 |
18-
| Nest 启动/配置 | `@142vip/nest-starter` | `packages/nest-starter/src/` | `test` + `nest-demo` |
19-
| Nest 日志/Redis/ORM | `nest-logger` 等 | `packages/nest-*/` | `pnpm --filter @142vip/nest-* test` |
20-
| Egg 插件 | `@142vip/egg-*` | `packages/egg-*/src/` | `test` + `egg-demo test` |
21-
| HTTP 客户端 | `@142vip/axios` | `packages/axios/src/` | `test` + `build` |
22-
| gRPC | `@142vip/grpc` | `packages/grpc/src/` | `test` + `build` |
23-
| 数据源 | `@142vip/data-source` | `packages/data-source/src/` | `test` + `build` |
24-
| CLI 工具 | `@142vip/fairy-cli` | `packages/fairy-cli/src/` | `test` + `build` |
25-
| 版本发布 | `@142vip/release-version` | `packages/release-version/` | `test` |
18+
| Nest 启动/配置 | `@142vip/nest-starter` | `packages/nest-starter/src/` | `cd packages/nest-starter && pnpm test`;`cd apps/nest-demo && pnpm start` |
19+
| Nest 日志/Redis/ORM | `nest-logger` 等 | `packages/nest-*/` | `cd packages/nest-<name> && pnpm test` |
20+
| Egg 插件 | `@142vip/egg-*` | `packages/egg-*/src/` | `cd packages/egg && pnpm test`;`cd apps/egg-demo && pnpm test` |
21+
| HTTP 客户端 | `@142vip/axios` | `packages/axios/src/` | `cd packages/axios && pnpm test build` |
22+
| gRPC | `@142vip/grpc` | `packages/grpc/src/` | `cd packages/grpc && pnpm test build` |
23+
| 数据源 | `@142vip/data-source` | `packages/data-source/src/` | `cd packages/data-source && pnpm test build` |
24+
| CLI 工具 | `@142vip/fairy-cli` | `packages/fairy-cli/src/` | `cd packages/fairy-cli && pnpm test build` |
25+
| 版本发布 | `@142vip/release-version` | `packages/release-version/` | `cd packages/release-version && pnpm test` |
2626
| ESLint 规则 | `@142vip/eslint-config` | `packages/eslint-config/` | 根 `pnpm lint:fix` |
27-
| 开源链接/常量 | `@142vip/open-source` | `packages/open-source/src/constants/` | `build` |
28-
| VuePress | `@142vip/vuepress` | `packages/vuepress/` | `vuepress-demo build` |
27+
| 开源链接/常量 | `@142vip/open-source` | `packages/open-source/src/constants/` | `cd packages/open-source && pnpm build` |
28+
| VuePress | `@142vip/vuepress` | `packages/vuepress/` | `cd apps/vuepress-demo && pnpm build` |
2929

3030
## 跨包改动判断
3131

3232
```
33-
只改一个包? → 单包 build/test 即可
33+
只改一个包? → cd 该包目录 build/test
3434
改公开 API? → 检查 dependents + demo + 文档
3535
改 peerDeps? → 检查所有消费方 package.json
3636
改根 ESLint/TS? → 全仓 lint:fix + 关键包 build
@@ -40,10 +40,10 @@ alwaysApply: true
4040

4141
| Demo | 验证命令 | 覆盖包 |
4242
|------|----------|--------|
43-
| `vitepress-demo` | `pnpm --filter vitepress-demo build` | vitepress, open-source, utils |
44-
| `nest-demo` | `pnpm --filter nest-demo start` | nest-starter 等 |
45-
| `egg-demo` | `pnpm --filter egg-demo test` | egg 插件族 |
46-
| `vuepress-demo` | `pnpm --filter vuepress-demo build` | vuepress |
43+
| `vitepress-demo` | `cd apps/vitepress-demo && pnpm build` | vitepress, open-source, utils |
44+
| `nest-demo` | `cd apps/nest-demo && pnpm start` | nest-starter 等 |
45+
| `egg-demo` | `cd apps/egg-demo && pnpm test` | egg 插件族 |
46+
| `vuepress-demo` | `cd apps/vuepress-demo && pnpm build` | vuepress |
4747

4848
## 不确定时
4949

@@ -53,4 +53,8 @@ alwaysApply: true
5353

5454
## 命令写法
5555

56-
`pnpm --filter <name> <script>` 与 `cd` 到对应 `packages/` / `apps/` 目录后执行 `pnpm <script>` **等价**(详见 `engineering/08-常用命令手册`)。根级脚本(`pnpm dev`、`build:docs`、`lint:fix`)仅在仓库根执行。
56+
- **安装**:`./scripts/ci`(首选);失败或受限时用 `pnpm install`
57+
- **build / test / dev**:`cd packages/<dir>` 或 `cd apps/<demo>` 后 `pnpm <script>`(首选)
58+
- **根目录**:`pnpm dev`、`build:docs`、`lint:fix`、`pnpm build`
59+
60+
`pnpm --filter` 与 `cd` 后执行等价,仅在不便切换目录时使用(详见 `engineering/08-常用命令手册`)。
Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
11
---
2-
description: 【业务】专项规则索引与加载说明
2+
description: 【业务】技术栈专项规则索引(globs 自动加载)
33
alwaysApply: true
44
---
55

66
# 模块开发索引
77

8-
本目录(`business/`)收纳**包职责、任务路由及各技术栈 / 模块类型的开发专项规则**,与 `engineering/` 中带序号的流程类规则分离
8+
> 包职责与验证命令见 **`任务路由索引`**;文档同步见 **`engineering/09`**
99

10-
## 文件清单
10+
## globs → 规则
1111

12-
| 文件 | globs / apply | 用途 |
13-
|------|---------------|------|
14-
| `包职责地图.mdc` | alwaysApply | 各包职责与依赖边界 |
15-
| `任务路由索引.mdc` | alwaysApply | 意图 → 包 → 路径 → 验证命令 |
16-
| `代码风格统一.mdc` | alwaysApply | 全仓风格、lint |
17-
| `ESM与模块发布.mdc` | alwaysApply | ESM 优先、CJS 兼容、exports |
18-
| `TypeScript规范.mdc` | `**/*.{ts,tsx}` | TS、ESLint 特例 |
19-
| `Vue组件规范.mdc` | `**/*.vue` | Vue SFC、Element Plus 注册 |
20-
| `unbuild打包.mdc` | `**/build.config.ts` | unbuild 打包与 exports |
21-
| `Nest开发.mdc` | `packages/nest*/**/*` | Nest 系列包 |
22-
| `Egg开发.mdc` | `packages/egg*/**/*` | Egg 插件族 |
23-
| `VitePress开发.mdc` | `packages/vitepress/**` 等 | 文档站与 Mermaid |
24-
| `测试规范.mdc` | `**/test/**` | Jest 测试约定 |
12+
| 规则 | 触发路径 |
13+
|------|----------|
14+
| `TypeScript规范` | `**/*.{ts,tsx}` |
15+
| `Vue组件规范` | `**/*.vue` |
16+
| `unbuild打包` | `**/build.config.ts` |
17+
| `Nest开发` | `packages/nest*/**` |
18+
| `Egg开发` | `packages/egg*/**` |
19+
| `VitePress开发` | `vitepress`、`.vitepress`、`vitepress-demo`、`docs/**` |
20+
| `测试规范` | `**/test/**` |
2521

26-
## 任务 → 模块规则
22+
## alwaysApply(business/)
2723

28-
| 改动路径 | 加载规则 |
29-
|----------|----------|
30-
| `packages/vitepress/`、`.vitepress/`、`apps/vitepress-demo/` | `VitePress开发` + `Vue组件规范` |
31-
| `packages/nest*/`、`apps/nest-demo/` | `Nest开发` + `TypeScript规范` |
32-
| `packages/egg*/`、`apps/egg-demo/` | `Egg开发` + `TypeScript规范` |
33-
| `**/build.config.ts` | `unbuild打包` + `ESM与模块发布` |
34-
| 任意 TS/TSX | `TypeScript规范` |
35-
| `**/test/*.spec.ts` | `测试规范` |
24+
`包职责地图` · `任务路由索引` · `代码风格统一` · `ESM与模块发布`
3625

37-
## 目录内分工
38-
39-
```
40-
engineering/00~14 → 流程、Mermaid、TODO、协作、规则边界
41-
business/* → 包职责、任务路由、技术栈专项(怎么写代码)
42-
```
43-
44-
实现阶段(`engineering/01-执行流程` 阶段 3)须同时遵循 **`代码风格统一`** 及本目录匹配的专项规则。
26+
实现时同时遵循 `engineering/01` 与上表匹配项。

.cursor/rules/business/测试规范.mdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ apps/egg-demo/test/
2828
## 运行
2929

3030
```bash
31-
pnpm --filter @142vip/<pkg> test
32-
pnpm test
31+
cd packages/<pkg> && pnpm test
32+
pnpm test # 全量(根目录)
3333
```
3434

3535
Jest 全局变量已在 `eslint.config.js` 声明。

.cursor/rules/engineering/00-索引与记忆.mdc

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,41 +5,33 @@ alwaysApply: true
55

66
# 索引与记忆
77

8-
> **rules 目的**:沉淀已验证的仓库事实,减少重复探索。`codegraph sync` → 本文件 → `16` → `01``02``06` → `12` → `14`
8+
> 模型单次任务路径:`codegraph sync` → **`16`****`business/任务路由`**读代码小改**`01`** 流程
99

10-
## 目录速查
11-
12-
```
13-
engineering/ 工程化(流程 00~17)
14-
business/ 业务(包职责·任务路由·风格·ESM·技术栈专项)
15-
TODO.md 仅未完成待办
16-
```
17-
18-
**首读**:`16-全仓资产清单`(30 包 / 4 demo / CI / 文档来源)
19-
20-
## 核心记忆
10+
## 速查(30 包 · 4 demo)
2111

2212
| 项 | 值 |
2313
|----|-----|
24-
| packages | 30 个 npm 包,ESM 优先 + CJS 兼容 |
25-
| Nest 系 | tsc CommonJS,勿强行改 ESM |
26-
| 对外文档 | 根 README;**不引用 rules**(`14`) |
27-
| Mermaid | 根 README ↔ `07` 同构(`10`) |
28-
| 文档站 | 根 VitePress ↔ 包/demo README ↔ `sidebar.ts`(`09`) |
29-
| 任务开始 | `codegraph sync` |
30-
| 任务结束 | `pnpm lint:fix` |
31-
32-
## 任务路由
33-
34-
| 意图 | 规则 |
35-
|------|------|
36-
| 全仓结构 | `16-全仓资产清单` |
37-
| npm 包 / exports | `business/ESM与模块发布`、`business/unbuild打包` |
38-
| VitePress | `business/VitePress开发` |
39-
| Nest / Egg | `business/Nest开发` / `business/Egg开发` |
40-
| 图表 | `10`、更新根 README + `07` |
41-
| 文档站同步 | `09-文档同步规范`、`business/VitePress开发` |
42-
| 文档完整性 | `09`:30 包 + 4 demo 与代码一致、不遗漏 |
43-
| scripts | `15-scripts脚本手册` |
44-
| Markdown | `17-Markdown文档规范` |
45-
| 代码质量 | `03` + `pnpm lint` **零 error**(warning 允许)+ 牵连模块 build |
14+
| 安装 | `./scripts/ci` 首选;失败 → `pnpm install` |
15+
| build | `cd packages/<dir>` 或 `cd apps/<demo>` 后 `pnpm build` |
16+
| 结束 | `lint:fix`(0 error)→ 牵连 build → **`09` 文档自检** |
17+
| 文档 | 根 README + `docs/` + `.vitepress/` + 包 README,与代码同步 |
18+
| 图表 | 根 README ↔ `07` 五段同构;变更见 `10` 同步铁律 |
19+
| 对外 | **不引用** `.cursor/rules`(`14`) |
20+
21+
## 读哪条规则
22+
23+
| 第一步 | 文件 |
24+
|--------|------|
25+
| 不知道改哪 | `business/任务路由索引` |
26+
| 不知道有哪些包 | `engineering/16-全仓资产清单` |
27+
| 执行顺序 | `engineering/01` → `02` 验收 |
28+
| 命令怎么跑 | `engineering/08` |
29+
| 文档怎么同步 | `engineering/09`(含 `docs/`) |
30+
| 写代码风格 | `business/代码风格统一` + 路径匹配专项(`business/模块开发索引`) |
31+
32+
## 目录
33+
34+
```
35+
engineering/ 00~17 流程·命令·文档·Mermaid·scripts
36+
business/ 包职责·路由·风格·ESM·技术栈专项
37+
```

0 commit comments

Comments
 (0)