@@ -14,7 +14,11 @@ Root (blade-code)
1414│ ├── agent/ # Agent核心逻辑和控制器
1515│ ├── cli/ # CLI配置和中间件
1616│ ├── commands/ # CLI命令定义和处理
17- │ ├── config/ # 统一配置管理
17+ │ ├── config/ # 统一配置管理(双文件系统)
18+ │ │ ├── ConfigManager.ts # 配置管理器
19+ │ │ ├── PermissionChecker.ts # 权限检查器
20+ │ │ ├── types.ts # 配置类型定义
21+ │ │ └── defaults.ts # 默认配置
1822│ ├── context/ # 上下文管理和压缩
1923│ ├── error/ # 错误处理和恢复
2024│ ├── ide/ # IDE集成和扩展
@@ -26,7 +30,20 @@ Root (blade-code)
2630│ ├── slash-commands/ # 内置斜杠命令
2731│ ├── telemetry/ # 遥测和监控
2832│ ├── tools/ # 工具系统
33+ │ │ ├── builtin/ # 内置工具(Read/Write/Bash等)
34+ │ │ ├── execution/ # 执行管道
35+ │ │ │ ├── ExecutionPipeline.ts # 6阶段管道
36+ │ │ │ └── PipelineStages.ts # 各阶段实现
37+ │ │ ├── registry/ # 工具注册中心
38+ │ │ ├── types/ # 工具类型定义
39+ │ │ └── validation/ # 参数验证
2940│ ├── ui/ # UI组件和界面(基于Ink)
41+ │ │ ├── components/ # UI组件
42+ │ │ │ ├── BladeInterface.tsx # 主界面
43+ │ │ │ └── ConfirmationPrompt.tsx # 确认提示
44+ │ │ └── hooks/ # React Hooks
45+ │ │ ├── useCommandHandler.ts # 命令处理
46+ │ │ └── useConfirmation.ts # 确认管理
3047│ ├── utils/ # 工具函数
3148│ ├── index.ts # 公共API导出
3249│ └── blade.tsx # CLI应用入口
@@ -35,6 +52,25 @@ Root (blade-code)
3552│ ├── integration/ # 多组件工作流测试
3653│ ├── e2e/ # 端到端CLI测试
3754│ └── security/ # 安全测试
55+ ├── docs/ # 项目文档(按受众分类)
56+ │ ├── index.md # 文档中心导航
57+ │ ├── public/ # 用户文档(Docsify站点)
58+ │ │ ├── getting-started/ # 快速开始
59+ │ │ ├── configuration/ # 配置指南
60+ │ │ ├── guides/ # 使用指南
61+ │ │ └── reference/ # 参考文档
62+ │ ├── development/ # 开发者文档(内部技术)
63+ │ │ ├── architecture/ # 架构设计
64+ │ │ ├── implementation/ # 实现细节
65+ │ │ ├── planning/ # 技术方案
66+ │ │ ├── testing/ # 测试文档
67+ │ │ └── api-reference.md # API参考
68+ │ ├── contributing/ # 贡献者文档(开源贡献)
69+ │ │ ├── README.md # 贡献指南
70+ │ │ ├── pr-creation-guide.md
71+ │ │ ├── release-process.md
72+ │ │ └── security-policy.md
73+ │ └── archive/ # 归档文档(历史参考)
3874├── dist/blade.js # 构建后的CLI可执行文件
3975└── package.json # 项目配置
4076```
@@ -59,8 +95,18 @@ Root (blade-code)
5995 - 工具调用集成
6096
6197### Key Services
62- - ** ConfigManager** ([ src/config/config-manager.ts] ( src/config/config-manager.ts ) ): 分层配置管理,支持加密
63- - 配置优先级:命令行参数 > 环境变量 > 用户配置 > 全局配置 > 默认值
98+ - ** ConfigManager** ([ src/config/ConfigManager.ts] ( src/config/ConfigManager.ts ) ): 双文件配置管理系统
99+ - config.json: 基础配置(API、模型、UI)
100+ - settings.json: 行为配置(权限、Hooks、环境变量)
101+ - 配置优先级:环境变量 > 本地配置 > 项目配置 > 用户配置 > 默认值
102+ - ** PermissionChecker** ([ src/config/PermissionChecker.ts] ( src/config/PermissionChecker.ts ) ): 三级权限控制系统
103+ - 支持 allow/ask/deny 规则
104+ - 支持精确匹配、通配符、Glob 模式
105+ - 集成在执行管道的第 3 阶段
106+ - ** ExecutionPipeline** ([ src/tools/execution/ExecutionPipeline.ts] ( src/tools/execution/ExecutionPipeline.ts ) ): 6 阶段执行管道
107+ - Discovery → Validation → Permission → Confirmation → Execution → Formatting
108+ - 事件驱动架构,支持监听各阶段事件
109+ - 自动记录执行历史
64110- ** PromptBuilder** ([ src/prompts/] ( src/prompts/ ) ): 提示模板管理和构建
65111
66112## Build & Development Commands
@@ -207,3 +253,141 @@ rm -rf dist && bun build src/blade.tsx \
207253- ** 行宽** : 最大 88 字符
208254- ** 缩进** : 2 空格
209255- ** TypeScript** : 尽量避免 ` any ` ,测试文件除外
256+
257+ ## Documentation Guidelines
258+
259+ ### 文档结构
260+
261+ 项目文档按受众分为三大类:
262+
263+ 1 . ** 用户文档** (` docs/public/ ` ) - 面向最终用户
264+ - 安装、配置、使用指南
265+ - 通过 Docsify 构建静态站点
266+ - 适合 GitHub Pages 部署
267+
268+ 2 . ** 开发者文档** (` docs/development/ ` ) - 面向项目开发者
269+ - 架构设计、实现细节
270+ - 技术方案、测试文档
271+ - 不对外公开
272+
273+ 3 . ** 贡献者文档** (` docs/contributing/ ` ) - 面向开源贡献者
274+ - 贡献指南、PR 规范
275+ - 发布流程、安全策略
276+ - 适合 GitHub 仓库展示
277+
278+ ### 创建新文档指南
279+
280+ #### 1. 确定文档类型
281+
282+ ** 问自己以下问题:**
283+ - 这个文档是给谁看的?(用户/开发者/贡献者)
284+ - 这个文档的目的是什么?(教程/指南/参考/技术方案)
285+ - 这个文档需要对外公开吗?
286+
287+ ** 文档归属判断:**
288+
289+ | 文档内容 | 目标目录 | 示例 |
290+ | ---------| ---------| ------|
291+ | 用户安装、配置 | ` docs/public/getting-started/ ` | installation.md, quick-start.md |
292+ | 用户配置指南 | ` docs/public/configuration/ ` | config-system.md, permissions.md |
293+ | 用户使用教程 | ` docs/public/guides/ ` | advanced-usage.md |
294+ | CLI/工具参考 | ` docs/public/reference/ ` | cli-commands.md, tool-list.md |
295+ | 架构设计 | ` docs/development/architecture/ ` | execution-pipeline.md, tool-system.md |
296+ | 实现细节 | ` docs/development/implementation/ ` | logging-system.md, mcp-support.md |
297+ | 技术方案 | ` docs/development/planning/ ` | xxx-plan.md, xxx-proposal.md |
298+ | 测试相关 | ` docs/development/testing/ ` | index.md, coverage.md |
299+ | 贡献规范 | ` docs/contributing/ ` | README.md, pr-creation-guide.md |
300+ | 过时文档 | ` docs/archive/ ` | 历史参考文档 |
301+
302+ #### 2. 文档命名规范
303+
304+ - 使用小写字母和连字符:` config-system.md ` (不是 ` ConfigSystem.md ` )
305+ - 名称要描述性强:` execution-pipeline.md ` (不是 ` pipeline.md ` )
306+ - 技术方案文档加后缀:` feature-name-plan.md ` 或 ` feature-name-proposal.md `
307+
308+ #### 3. 文档内容规范
309+
310+ ** 每个文档应包含:**
311+
312+ ``` markdown
313+ # 标题
314+
315+ > 简短描述:一句话说明这个文档的目的
316+
317+ ## 目录(可选,复杂文档需要)
318+
319+ - [ 章节1] ( #章节1 )
320+ - [ 章节2] ( #章节2 )
321+
322+ ## 正文内容
323+
324+ ### 使用代码示例
325+
326+ \`\`\` typescript
327+ // 代码示例要完整且可运行
328+ const example = 'hello';
329+ \`\`\`
330+
331+ ### 使用相对链接
332+
333+ 引用其他文档时使用相对路径:
334+ - 同目录:[ 其他文档] ( other-doc.md )
335+ - 父目录:[ 上级文档] ( ../parent-doc.md )
336+ - 其他分类:[ 开发文档] ( ../../development/architecture/tool-system.md )
337+
338+ ### 使用表格和图表
339+
340+ 让文档易于理解。
341+
342+ ## 参考资源(可选)
343+
344+ - 相关文档链接
345+ - 外部资源链接
346+ ```
347+
348+ #### 4. 更新文档索引
349+
350+ 创建新文档后,必须更新相应的索引:
351+
352+ - ** 用户文档** : 更新 ` docs/public/_sidebar.md ` 和 ` docs/public/README.md `
353+ - ** 开发者文档** : 更新 ` docs/development/README.md `
354+ - ** 贡献者文档** : 更新 ` docs/contributing/README.md `
355+ - ** 文档中心** : 如果是重要文档,更新 ` docs/index.md `
356+
357+ #### 5. 文档维护原则
358+
359+ - ** 避免重复** :一个主题只写一份文档,其他地方通过链接引用
360+ - ** 保持同步** :代码变更时及时更新相关文档
361+ - ** 及时归档** :过时文档移到 ` docs/archive/ ` ,不要直接删除
362+ - ** 交叉引用** :相关文档之间相互链接,形成文档网络
363+
364+ ### Docsify 用户文档站点
365+
366+ ` docs/public/ ` 目录配置了 Docsify 静态站点:
367+
368+ - ** 本地预览** :
369+ ``` bash
370+ npm install -g docsify-cli
371+ docsify serve docs/public
372+ # 访问 http://localhost:3000
373+ ```
374+
375+ - ** 配置文件** :
376+ - ` index.html ` - Docsify 配置
377+ - ` _sidebar.md ` - 侧边栏导航
378+ - ` _coverpage.md ` - 封面页
379+ - ` .nojekyll ` - 禁用 Jekyll
380+
381+ - ** 添加新页面** :
382+ 1 . 在 ` docs/public/ ` 对应目录创建 ` .md ` 文件
383+ 2 . 在 ` _sidebar.md ` 中添加导航链接
384+ 3 . 本地预览验证效果
385+
386+ ### 文档编写最佳实践
387+
388+ 1 . ** 从用户角度出发** :用户文档应该回答"如何做"而非"这是什么"
389+ 2 . ** 提供完整示例** :代码示例要能直接运行,不需要额外修改
390+ 3 . ** 循序渐进** :从简单到复杂,从基础到高级
391+ 4 . ** 使用视觉辅助** :表格、流程图、代码高亮让文档更易读
392+ 5 . ** 保持简洁** :一个文档只讲一个主题,不要贪多
393+ 6 . ** 定期审查** :每个月检查文档是否还与代码实现一致
0 commit comments