丛书编写标准
本文档定义 KeyApp 技术丛书的编写规范,作为撰写和审稿的依据。
1. 丛书结构标准
1.1 索引完整性
index.md 必须列出所有 Book
| 规则 | 要求 |
|---|---|
| MUST | 每个顶层目录在 index.md 中有对应条目 |
| MUST | Book 编号与目录编号一致 |
| MUST | 描述准确反映内容 |
Book 分类:
- 📙 E-Series: Engineering (工程手册) - 面向开发流程
- 📘 T-Series: Technical (技术参考) - 面向实现细节
- 📗 F-Series: Functional (业务指南) - 面向业务功能
1.2 目录命名规范
{序号}-{英文名}/
├── README.md # Book 入口 (MUST)
├── 00-Overview.md # 概览 (SHOULD)
├── 01-{Chapter}/ # 章节目录
│ ├── 01-{Section}.md
│ └── 02-{Section}.md
└── ...命名规则:
| 规则 | 要求 | 示例 |
|---|---|---|
| MUST | 顶层目录使用 {2位序号}-{PascalCase} | 01-Kernel-Ref |
| MUST | 子目录使用 {2位序号}-{PascalCase} | 01-Process |
| MUST | 文件使用 {2位序号}-{PascalCase}.md | 01-State-Machine.md |
| MUST | 每个目录有 README.md 或 00-Index.md | - |
| SHOULD | 目录名与内容主题对应 | - |
1.3 Book 入口标准
每个 Book 的 README.md 必须包含:
markdown
# 📘 Book {编号}: {英文名} ({中文名})
> {一句话描述}
## 📖 目录
| 文档 | 说明 |
|------|------|
| [章节1](./path) | 描述 |
| [章节2](./path) | 描述 |
---
## 🎯 核心要点
{3-5 个核心要点}
---
## 相关文档
- [相关 Book 1](../path)
- [相关 Book 2](../path)2. 文档内容标准
2.1 文档头部
每个文档必须以标题和描述开始:
markdown
# 文档标题
> 源码: [`src/path/`](https://github.com/BioforestChain/KeyApp/blob/main/src/path/)
---规则:
| 规则 | 要求 |
|---|---|
| MUST | 有一级标题 |
| SHOULD | 有源码链接 (技术文档) |
| SHOULD | 使用 --- 分隔主要章节 |
2.2 源码链接规范
格式: 使用绝对 GitHub URL
markdown
> 源码: [`src/services/wallet/`](https://github.com/BioforestChain/KeyApp/blob/main/src/services/wallet/)规则:
| 规则 | 要求 |
|---|---|
| MUST | 技术参考文档必须有源码链接 |
| MUST | 使用 blob/main/ 指向主分支 |
| MUST NOT | 使用相对路径链接源码 |
| SHOULD | 链接到目录而非单个文件 (除非特指) |
2.3 行为约束标记
使用 RFC 2119 关键词标记规范:
| 关键词 | 含义 | 使用场景 |
|---|---|---|
| MUST | 必须遵守 | 违反将导致功能缺陷或安全问题 |
| MUST NOT | 禁止行为 | 违反将导致严重问题 |
| SHOULD | 建议遵守 | 不遵守会降低质量 |
| SHOULD NOT | 不建议 | 可能导致问题 |
| MAY | 可选实现 | 增强但非必需 |
格式:
markdown
| 约束级别 | 要求 |
|----------|------|
| **MUST** | 私钥永不上传服务器 |
| **SHOULD** | 使用后清除内存 |
| **MAY** | 支持远程锁定 |2.4 代码示例规范
格式:
markdown
### 使用示例
\`\`\`typescript
// 简短注释说明用途
const example = doSomething()
\`\`\`规则:
| 规则 | 要求 |
|---|---|
| MUST | 指定语言 (typescript, json, bash 等) |
| MUST | 代码可独立运行或有完整上下文 |
| SHOULD | 包含简短注释 |
| SHOULD NOT | 包含过长的代码块 (>50行拆分) |
2.5 表格规范
格式:
markdown
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 值1 | 值2 | 值3 |规则:
| 规则 | 要求 |
|---|---|
| MUST | 表头与分隔符对齐 |
| SHOULD | 列宽适中,避免过长 |
| SHOULD | 表格有上下文说明 |
2.6 图表规范
使用 ASCII 图表:
markdown
\`\`\`
┌─────────────┐
│ 模块 A │
└──────┬──────┘
│
▼
┌─────────────┐
│ 模块 B │
└─────────────┘
\`\`\`规则:
| 规则 | 要求 |
|---|---|
| MUST | 使用等宽字体字符 (Box Drawing) |
| SHOULD | 图表宽度 < 80 字符 |
| SHOULD | 图表有标题或说明 |
3. 交叉引用标准
3.1 内部链接
同 Book 内:
markdown
[章节名](./01-Chapter/01-Section.md)跨 Book:
markdown
[Security Reference](../08-Security-Ref/README.md)规则:
| 规则 | 要求 |
|---|---|
| MUST | 使用相对路径 |
| MUST | 链接目标存在 |
| SHOULD | 每个文档末尾有"相关文档"章节 |
3.2 相关文档章节
每个文档末尾应有:
markdown
---
## 相关文档
- [相关文档1](./path1.md) - 简短描述
- [相关文档2](../other/path2.md) - 简短描述4. 内容完整性标准
4.1 技术参考 (T-Series) 必须包含
| 章节 | 要求 |
|---|---|
| 源码链接 | MUST |
| 接口/类型定义 | MUST |
| 使用示例 | MUST |
| 行为约束 | SHOULD |
| 相关文档 | SHOULD |
4.2 业务指南 (F-Series) 必须包含
| 章节 | 要求 |
|---|---|
| 业务流程图 | MUST |
| 状态定义 | SHOULD |
| 边界条件 | SHOULD |
| 错误处理 | SHOULD |
| 相关文档 | SHOULD |
4.3 工程手册 (E-Series) 必须包含
| 章节 | 要求 |
|---|---|
| 快速开始 | MUST |
| 命令参考 | MUST |
| 配置说明 | SHOULD |
| 常见问题 | MAY |
5. 审稿检查清单
5.1 结构检查
- [ ] index.md 列出所有 Book
- [ ] 每个目录有 README.md
- [ ] 文件命名符合规范
- [ ] 编号连续无跳跃
5.2 内容检查
- [ ] 每个文档有一级标题
- [ ] 技术文档有源码链接
- [ ] 代码示例指定语言
- [ ] 表格格式正确
- [ ] 行为约束使用标准关键词
5.3 链接检查
- [ ] 内部链接目标存在
- [ ] 源码链接使用绝对 URL
- [ ] 相关文档章节完整
5.4 一致性检查
- [ ] 术语使用一致 (参考术语表)
- [ ] 格式风格一致
- [ ] 中英文混排规范 (空格)
6. 中英文混排规范
6.1 空格规则
| 规则 | 示例 |
|---|---|
| 中文与英文之间加空格 | 使用 React 框架 |
| 中文与数字之间加空格 | 共 178 个文件 |
| 英文与数字之间不加空格 | React19 |
| 全角标点前后不加空格 | 框架,包含 |
6.2 标点规则
| 规则 | 要求 |
|---|---|
| 中文语境 | 使用全角标点 |
| 英文/代码语境 | 使用半角标点 |
| 列表项 | 不加句末标点 |
7. 版本与更新
7.1 文档版本
markdown
---
version: 1.0
lastUpdated: 2024-01-07
---7.2 变更记录
重大更新应在 CHANGELOG 中记录:
markdown
## [1.1.0] - 2024-01-15
### Added
- 新增 Security Reference
### Changed
- 重构 UI Reference 结构附录: 目录编号规范
| 编号范围 | 用途 |
|---|---|
| 00-09 | 元文档 (Manifesto, 索引) |
| 01-09 | 技术参考 (T-Series) |
| 10-19 | 业务指南 (F-Series) |
| 90-98 | 工程手册 (E-Series) |
| 99 | 附录与指南 |
