- 新增文档模板和导航结构 - 实现服务器基础API路由和控制器 - 添加扩展插件配置和前端框架 - 引入多租户和权限管理模块 - 集成日志和数据库配置 - 添加核心业务模型和类型定义
13 KiB
ChatGPT Export
Conversation: AI友好项目结构设计 URL: https://chatgpt.com/c/69b7c25b-5b50-8330-b35f-136a8b74ad57 Exported: 2026-03-16T08:47:55.941Z
User
创建更多AI友好的项目文件 帮助 AI 理解模块间的依赖边界,避免循环依赖和架构混乱 帮助 AI 快速定位各模块职责,理解代码组织方式
Assistant
明白,你想要的是一种AI友好的项目文件结构和说明体系,让 AI 能够快速理解模块之间的依赖、职责边界,以及整体架构,避免循环依赖和混乱。下面我整理了一套方案,包括文件设计、说明方式和辅助工具。
1. 项目总体设计原则
模块化
每个模块(Module)单一职责,明确功能边界。
尽量避免跨模块调用深层内部函数,只通过接口或导出函数进行通信。 2. 层级清晰
分层原则(Layered Architecture):
core 核心逻辑
service 服务/业务逻辑
controller 控制层/路由层
ui 界面或前端组件
AI 能通过路径快速推断模块职责。 3. 依赖方向一致
只允许高层模块依赖低层模块,禁止低层模块依赖高层模块。
可用 PROJECT_MAP.md 来可视化依赖关系,帮助 AI 理解边界。
4.
明确接口(Interface)
每个模块导出统一接口,并在模块目录下放置 README.md 或 module_info.md 描述:
功能
输入/输出
调用约束
2. 文件/目录结构示例
project-root/│├─ core/ # 核心模块,最低依赖层│ ├─ utils/ # 公共工具函数│ │ ├─ string_utils.js│ │ └─ array_utils.js│ └─ constants.js│├─ service/ # 业务逻辑层│ ├─ userService/│ │ ├─ index.js│ │ └─ module_info.md│ └─ orderService/│ ├─ index.js│ └─ module_info.md│├─ controller/ # 控制层│ ├─ userController.js│ └─ orderController.js│├─ ui/ # 前端组件层│ ├─ components/│ └─ pages/│├─ docs/ # 项目文档│ ├─ PROJECT_MAP.md # 模块依赖可视化│ ├─ PROJECT_RULES.md # 编码和依赖规范│ └─ ARCHITECTURE.md # 架构说明│└─ package.json
3. AI友好文件内容示例
3.1 module_info.md(每个模块单独维护)
Markdown# UserService 模块## 功能- 用户信息管理- 登录/注册逻辑- 用户权限验证## 接口- `createUser(data: UserData): Promise<User>`- `getUserById(id: string): Promise<User>`- `validateUserCredentials(username: string, password: string): Promise<boolean>`## 依赖- core/utils- core/constants## 被调用方- controller/userController
AI 可以直接扫描
module_info.md来理解模块职责和依赖关系。
3.2 PROJECT_MAP.md(全局依赖地图)
Markdown# 项目模块依赖关系- core/utils -> 无依赖- core/constants -> 无依赖- service/userService -> core/utils, core/constants- service/orderService -> core/utils, core/constants, service/userService- controller/userController -> service/userService- controller/orderController -> service/orderService
AI 能快速定位循环依赖风险和依赖链。
3.3 PROJECT_RULES.md(AI友好开发规范)
Markdown# 项目开发规则1. 模块必须单一职责。2. 高层模块可以依赖低层模块,禁止反向依赖。3. 每个模块必须提供 `module_info.md` 描述功能、接口、依赖。4. 公共工具函数放在 core/utils。5. 所有依赖必须通过 import/export 明确,不允许动态 require。6. 项目新增模块必须更新 PROJECT_MAP.md。
4. 辅助工具(可选)
自动生成依赖图
使用工具扫描 import/export,生成模块关系图,AI 可以快速理解:
JS/TS: madge、dependency-cruiser
Python: pydeps
2.
自动检查循环依赖
集成到 CI/CD,保证新增模块不破坏依赖层次。 3. 结构化文档
使用 YAML 或 JSON 描述模块接口(可选),AI 可以直接解析:
YAMLmodule: userServicefunctions: - name: createUser params: - name: data type: UserData returns: Userdependencies: - core/utils
如果你愿意,我可以帮你生成一个完整的 AI 友好项目模板仓库,包含:
所有目录和示例模块
每个模块 module_info.md
PROJECT_MAP.md、PROJECT_RULES.md
自动生成依赖图的配置
这样你直接 clone 就能用。
你希望我帮你生成这个模板吗?
User
还有更多的吗
Assistant
当然,可以做得更系统、更“AI友好”,让 AI 不只是理解模块关系,还能快速定位逻辑、推导依赖、辅助重构。我把思路拆成几类扩展方案:
1️⃣ 模块级增强
除了 module_info.md,每个模块可以加:
接口定义文件(Interface 文件)
明确函数、类、返回类型和异常
JS/TS 可用 .d.ts 或 interface.json
AI可以直接解析这些接口文件来理解模块“输入输出” 2. 职责标签(tags.json)
JSON{ "module": "userService", "tags": ["user-management","authentication","validation"]}
AI可通过标签快速搜索相关模块
使用示例(examples/)
每个模块放一个最小使用示例,说明如何调用
AI可以直接学习调用模式
2️⃣ 项目级增强
模块依赖拓扑图
使用 Mermaid 或 Graphviz 生成可视化依赖图
Mermaid
AI直接读 Markdown 文件,就能理解模块关系
功能地图(Feature Map)
按功能点拆分模块
Markdown# Feature Map- Authentication: userService, authService- Orders: orderService, orderController- Reporting: reportService
AI快速定位功能模块
公共约束文件
约束依赖方向、命名规范、文件大小、单模块行数等
AI可用这些规则自动检查或推理架构异常
3️⃣ 数据流与调用链
输入输出文档(IO Map)
描述模块输入输出类型和来源去向
YAMLmodule: orderServiceinputs: - source: userController.createOrder type: OrderDataoutputs: - destination: orderController.sendOrderConfirmation type: Confirmation
AI可以快速分析数据流,定位潜在循环依赖
调用链示例(Call Map)
用 JSON 或 Mermaid 展示典型业务调用流程
Mermaid
AI快速理解执行路径
4️⃣ AI友好标注
函数/类级别注释
明确输入类型、返回类型、异常、依赖
模块级 summary 注释
摘要模块目的、边界和关键依赖
版本或变更日志
CHANGELOG.md 描述模块演变,AI可追溯历史依赖问题
5️⃣ 可选高级做法
结构化模块文档
用 JSON/YAML 统一描述模块信息
AI可以直接解析,不用自然语言理解
YAMLmodule: userServicelayer: servicedependencies: [core/utils, core/constants]interfaces: - name: createUser params: [UserData] returns: User
自动生成文档工具
docgen.js 或 Python 脚本扫描项目,生成:
模块 info
项目依赖图
数据流图
AI能直接读取生成的“标准化结构”,理解项目逻辑
💡 总结:
目前你的基础是 module_info.md + PROJECT_MAP.md + PROJECT_RULES.md,可进一步升级为:
模块标签、接口文件、示例
功能地图、拓扑图、数据流图
结构化文档(JSON/YAML)+ 自动生成工具
这样 AI 能做到完全理解模块边界、职责、依赖方向、调用链,还能快速定位问题或辅助重构。
如果你愿意,我可以帮你画一张AI友好项目文档体系全图,把这些文件、文档和图标关系全部整合成一张架构图,让整个项目对 AI 一目了然。
你希望我画吗?
User
可以
Assistant
好,我给你设计一张AI友好项目文档体系全图,把所有文件、模块、文档和关系整合在一起,清晰显示 AI 如何理解模块、依赖、数据流和职责边界。
AI友好项目文档体系全图(概念示意)
Mermaid
🌟 说明
核心模块 (core/)
公共工具和常量
最底层依赖,不依赖其他模块
2.
业务逻辑模块 (service/)
每个模块有 module_info.md、IO Map
可视化调用链 (Call Map) 辅助理解
3.
控制层 (controller/)
依赖业务模块
AI可通过调用链快速理解流程
4.
前端/UI (ui/)
仅依赖核心和服务模块
文档中标注依赖和接口
5.
项目文档 (docs/)
PROJECT_RULES.md 规范
PROJECT_MAP.md 依赖关系
ARCHITECTURE.md 架构说明
AI可直接解析规则、地图和架构说明 6. 高级 AI 文档
IO Map(输入输出数据)
功能地图(Feature Map)
调用链(Call Map / Mermaid)
标签、示例代码、接口定义文件
这个全图能帮助 AI 实现:
快速理解模块职责与依赖
避免循环依赖
理解数据流和调用链
支持快速定位重构点
我可以帮你把这个概念图升级成一个可直接 clone 的 AI友好项目模板,里面包括所有模块、文档示例和 Mermaid 自动生成依赖图。
你希望我帮你做这个吗?
User
可以
Assistant
好,我帮你设计一个完整的 AI 友好项目模板仓库,结构清晰、文档齐全、可直接 clone 使用,并且支持 AI 快速理解模块依赖、职责和数据流。下面是设计方案和示例内容:
1️⃣ 项目结构(模板版)
ai_friendly_project/│├─ core/ # 核心模块│ ├─ utils/ # 公共工具函数│ │ ├─ string_utils.js│ │ └─ array_utils.js│ └─ constants.js│├─ service/ # 业务逻辑模块│ ├─ userService/│ │ ├─ index.js│ │ ├─ module_info.md│ │ └─ io_map.yaml│ └─ orderService/│ ├─ index.js│ ├─ module_info.md│ └─ io_map.yaml│├─ controller/ # 控制层│ ├─ userController.js│ └─ orderController.js│├─ ui/ # 前端组件层│ ├─ components/│ └─ pages/│├─ docs/ # 项目文档│ ├─ PROJECT_RULES.md # 开发与依赖规范│ ├─ PROJECT_MAP.md # 模块依赖地图│ ├─ ARCHITECTURE.md # 架构说明│ ├─ FEATURE_MAP.md # 功能地图│ └─ CALL_MAP.md # 业务调用链│├─ examples/ # 模块示例代码│ ├─ userService_example.js│ └─ orderService_example.js│├─ package.json└─ README.md
2️⃣ 核心模块示例
core/utils/string_utils.js
JavaScriptexport function capitalize(str) { return str.charAt(0).toUpperCase() + str.slice(1);}
core/constants.js
JavaScriptexport const STATUS = { ACTIVE: 'active', INACTIVE: 'inactive'};
3️⃣ 模块文档示例
service/userService/module_info.md
Markdown# UserService 模块## 功能- 用户信息管理- 登录/注册逻辑- 用户权限验证## 接口- createUser(data: UserData): Promise<User>- getUserById(id: string): Promise<User>- validateUserCredentials(username: string, password: string): Promise<boolean>## 依赖- core/utils- core/constants## 被调用方- controller/userController
service/userService/io_map.yaml
YAMLmodule: userServiceinputs: - source: userController.createUser type: UserDataoutputs: - destination: userController.sendUserCreatedResponse type: User
4️⃣ 项目文档示例
docs/PROJECT_MAP.md
Markdown# 项目模块依赖关系- core/utils -> 无依赖- core/constants -> 无依赖- service/userService -> core/utils, core/constants- service/orderService -> core/utils, core/constants, service/userService- controller/userController -> service/userService- controller/orderController -> service/orderService
docs/PROJECT_RULES.md
Markdown# 项目开发规则1. 模块必须单一职责。2. 高层模块可以依赖低层模块,禁止反向依赖。3. 每个模块必须提供 module_info.md 和 io_map.yaml。4. 公共工具函数放在 core/utils。5. 所有依赖必须通过 import/export 明确。6. 项目新增模块必须更新 PROJECT_MAP.md 和 FEATURE_MAP.md。
docs/FEATURE_MAP.md
Markdown# 功能地图- Authentication: userService, authService- Orders: orderService, orderController- Reporting: reportService
docs/CALL_MAP.md(Mermaid 业务调用链)
Mermaid
5️⃣ AI友好特性
模块边界清晰:每个模块都有 module_info.md + io_map.yaml。
2.
依赖透明化:PROJECT_MAP.md 和 FEATURE_MAP.md 让 AI 快速理解依赖和功能分类。
3.
调用链可视化:CALL_MAP.md 让 AI理解业务流程。
4.
标准化接口:所有函数和模块都有明确输入输出类型。
5.
示例代码:examples/ 提供最小调用示例,方便 AI理解使用方式。
如果你愿意,我可以进一步帮你生成完整模板文件夹和示例代码,直接可用的项目结构,甚至包括 Mermaid 自动生成依赖图脚本,让 AI 一打开就能理解整个项目。
你希望我直接生成这个完整模板吗?