Skip to content

系统架构总览

架构页不是站点的主叙事,而是规则地图的可信度证明:根目录 .mdc 文件是事实来源,脚本负责验证和生成目录资产,Pages 负责把这些规则解释给读者。

核心设计原则

1. 根目录 .mdc 是产品本体

仓库根目录的 .mdc 文件是对外契约。文件名和路径本身就是契约的一部分,因此保持扁平结构,不移动到子目录。

当前共 26 个规则,覆盖 6 个分类

分类数量规则文件
通用3clean-code, codequality, gitflow
语言8python, java, go, cpp, csharp-dotnet, php, ruby, typescript
后端3node-express, spring, fastapi
前端6react, vue, svelte, nextjs, tailwind, medusa
移动端4android, ios, wechat-miniprogram, nativescript
工程2database, docker

2. 生成式架构

文档站点是规则文件的投影,而非独立维护的内容副本:

  • scripts/validate-rules.mjs 校验 .mdc 结构
  • scripts/lib/rule-processor.mjs 负责规则解析、校验与目录项归一化
  • scripts/build-rule-catalog.mjs 生成 rules.jsoncategories.json 以及本地化规则页面

3. 展示层职责分离

  • docs/.vitepress/ 提供 VitePress 文档站点配置和主题
  • docs/public/assets/catalog.js (~570 行) 负责规则目录的展示和交互(vanilla JavaScript)
  • GitHub Pages 负责解释、导读与检索

数据流架构

规则激活流程

当开发者使用 Cursor IDE 打开文件时,规则激活流程如下:

设计约束

约束说明
README 不维护规则清单只做入口,避免重复
Pages 不维护手写规则数据只消费生成产物,确保一致性
OpenSpec 只记录边界不重复 README 文案,保持信息密度

分层规则设计

本仓库采用分层规则设计,多个规则匹配同一文件是预期行为:

文件类型语言层框架层UI 层
*.tsxtypescript.mdcreact.mdc / nextjs.mdctailwind.mdc
*.pypython.mdcfastapi.mdc-
*.javajava.mdcspring.mdc-

这种设计允许规则按需组合,而非强制单一匹配。

延伸阅读

26 curated .mdc rules for better AI coding assistance.