系统架构总览
架构页不是站点的主叙事,而是规则地图的可信度证明:根目录 .mdc 文件是事实来源,脚本负责验证和生成目录资产,Pages 负责把这些规则解释给读者。
核心设计原则
1. 根目录 .mdc 是产品本体
仓库根目录的 .mdc 文件是对外契约。文件名和路径本身就是契约的一部分,因此保持扁平结构,不移动到子目录。
当前共 26 个规则,覆盖 6 个分类:
| 分类 | 数量 | 规则文件 |
|---|---|---|
| 通用 | 3 | clean-code, codequality, gitflow |
| 语言 | 8 | python, java, go, cpp, csharp-dotnet, php, ruby, typescript |
| 后端 | 3 | node-express, spring, fastapi |
| 前端 | 6 | react, vue, svelte, nextjs, tailwind, medusa |
| 移动端 | 4 | android, ios, wechat-miniprogram, nativescript |
| 工程 | 2 | database, docker |
2. 生成式架构
文档站点是规则文件的投影,而非独立维护的内容副本:
scripts/validate-rules.mjs校验.mdc结构scripts/lib/rule-processor.mjs负责规则解析、校验与目录项归一化scripts/build-rule-catalog.mjs生成rules.json、categories.json以及本地化规则页面
3. 展示层职责分离
docs/.vitepress/提供 VitePress 文档站点配置和主题docs/public/assets/catalog.js(~570 行) 负责规则目录的展示和交互(vanilla JavaScript)- GitHub Pages 负责解释、导读与检索
数据流架构
规则激活流程
当开发者使用 Cursor IDE 打开文件时,规则激活流程如下:
设计约束
| 约束 | 说明 |
|---|---|
| README 不维护规则清单 | 只做入口,避免重复 |
| Pages 不维护手写规则数据 | 只消费生成产物,确保一致性 |
| OpenSpec 只记录边界 | 不重复 README 文案,保持信息密度 |
分层规则设计
本仓库采用分层规则设计,多个规则匹配同一文件是预期行为:
| 文件类型 | 语言层 | 框架层 | UI 层 |
|---|---|---|---|
*.tsx | typescript.mdc | react.mdc / nextjs.mdc | tailwind.mdc |
*.py | python.mdc | fastapi.mdc | - |
*.java | java.mdc | spring.mdc | - |
这种设计允许规则按需组合,而非强制单一匹配。