Markdown 研发文档管理指南
适用于智守、CodePilot 等项目的技术文档管理方案
1. 目录结构
通用模板
| project/
├── docs/ # 技术文档根目录
│ ├── README.md # 文档导航/索引(入口)
│ ├── architecture/ # 架构设计
│ │ ├── README.md
│ │ ├── overview.md # 系统架构总览
│ │ ├── diagrams/ # Mermaid 源文件 (*.mmd)
│ │ └── images/ # 导出的 PNG 图片
│ ├── api/ # API 接口文档
│ │ ├── README.md
│ │ └── endpoints.md
│ ├── design/ # 设计文档
│ │ └── technical-design.md
│ ├── decisions/ # ADR 架构决策记录
│ │ ├── README.md
│ │ └── adr/
│ │ ├── 001-xxx.md
│ │ └── 002-xxx.md
│ ├── ops/ # 运维文档
│ │ ├── deployment/
│ │ └── monitoring/
│ ├── references/ # 参考文件
│ │ ├── specs/ # 规格说明(Excel/CSV)
│ │ ├── templates/ # 文档模板
│ │ └── exports/ # 导出文件(PDF/PNG)
│ └── templates/ # Markdown 模板
│ ├── adr-template.md
│ └── doc-template.md
├── scripts/
│ └── render-diagrams.sh # Mermaid 渲染脚本
└── assets/ # 公共资源
├── images/
└── diagrams/
|
项目定制
智守(IoT 硬件项目) 额外目录:
| docs/
├── hardware/ # 硬件设计
│ ├── schematics/ # 原理图
│ └── bom/ # 物料清单
├── firmware/ # 固件文档
└── cloud/ # 云平台
|
CodePilot(AI 软件项目) 额外目录:
| docs/
├── models/ # 模型文档
│ ├── training/ # 训练
│ └── inference/ # 推理
└── api/
├── endpoints/ # 端点详情
└── auth/ # 认证
|
2. 版本管理
与代码同仓库(推荐)
| # 文档和代码一起提交
git add docs/
git commit -m "docs: 添加系统架构设计 v2.1"
# 追踪文档变更
git log --oneline -- docs/
git diff HEAD~1 -- docs/architecture/
# 文档标签
git tag -a docs/v1.0.0 -m "技术文档 v1.0 基线"
|
PR 规范
| docs: 添加 API 接口文档 v1.2
- 新增 /api/v1/completion 接口
- 更新认证方式说明
- 添加请求示例
|
3. 图表管理
Mermaid(推荐)
优势: - ✅ GitHub / GitLab 原生渲染 - ✅ 纯文本,Git diff 清晰 - ✅ VS Code 实时预览 - ✅ 可自动导出 PNG
写法:
| ## 架构图
```mermaid
graph TB
A[前端] --> B[网关]
B --> C[后端服务]
|
| **自动导出 PNG:**
```bash
# 安装
npm install -g @mermaid-js/mermaid-cli
# 渲染单个
npx mmdc -i docs/architecture/diagrams/system.mmd \
-o docs/architecture/images/system.png \
-b transparent -w 2x
# 批量渲染
./scripts/render-diagrams.sh
|
Graphviz
GitHub 不原生支持,需导出后使用:
| dot -Tpng architecture.dot -o images/architecture.png
|
draw.io
- 保存
.drawio 源文件到 diagrams/ - VS Code 有 draw.io 插件预览
- 导出 PNG 到
images/
4. 图片管理
| docs/module/
├── module.md # 文档
├── diagrams/ # 图表源文件
│ ├── arch.mmd # Mermaid
│ └── flow.drawio # draw.io
└── images/ # 图片
├── arch.png # 从 Mermaid 导出
├── screenshot.png # 截图
└── generated/ # 自动生成
|
规则: 1. 图片放在对应模块的 images/ 子目录 2. 命名清晰:system-arch.png、login-flow.png 3. 截图加日期后缀:screenshot-2026-05-01.png 4. 大图压缩后再提交
5. Excel 等文件管理
策略:核心数据 Markdown 化 + 完整文件外链
| ## 接口参数
核心参数(Markdown 表格,可版本管理):
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| user_id | string | 是 | 用户唯一标识 |
| token | string | 是 | 认证令牌 |
完整参数表:[api-params.xlsx](references/specs/api-params.xlsx)
|
Excel → CSV 自动化
| # scripts/excel-to-csv.py
import pandas as pd
df = pd.read_excel("references/specs/api-params.xlsx")
df.to_csv("references/specs/api-params.csv", index=False)
|
| # 在 CI 中自动同步
python3 scripts/excel-to-csv.py
git add references/specs/*.csv
|
文件存放
| references/specs/
├── api-params.xlsx # 原始 Excel(不版本管理或 LFS)
├── api-params.csv # 导出 CSV(版本管理)
├── test-cases.xlsx
└── bom-master.xlsx # BOM 总表
|
大文件处理:
| # 用 Git LFS 管理大文件
git lfs install
git lfs track "*.xlsx" "*.png" "*.pdf"
echo "*.xlsx filter=lfs diff=lfs merge=lfs -text" >> .gitignore
|
6. ADR 架构决策记录
格式
| # ADR-001: 选择 STM32 作为主控 MCU
**状态:** Accepted
**日期:** 2026-03-12
## 上下文
需要一款性价比高的 MCU...
## 决策
选择 STM32F4 系列
## 后果
+ 生态成熟,开发成本低
- Flash 容量有限
|
状态流转
| Proposed → Accepted → (Deprecated → Superseded by NNN)
|
7. CI 自动化
GitHub Actions 示例
| # .github/workflows/docs.yml
name: Docs
on:
push:
paths: ['docs/**']
jobs:
render-diagrams:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install -g @mermaid-js/mermaid-cli
- name: Render diagrams
run: |
find docs -name "*.mmd" | while read f; do
dir=$(dirname "$f")
base=$(basename "$f" .mmd)
mkdir -p "$dir/../images"
npx mmdc -i "$f" -o "$dir/../images/$base.png" -b transparent
done
- name: Commit
run: |
git config user.name "docs-bot"
git add docs/
git diff --cached --quiet || git commit -m "chore: auto-render diagrams"
git push
|
8. 文档模板
ADR 模板
见各项目 docs/templates/adr-template.md
文档模板
| # [文档标题]
> [一句话描述]
---
## 概述
## 详细设计
## 接口/配置
## 部署
## 参考
---
*最后更新:YYYY-MM-DD*
|
9. 工具推荐
| 用途 | 工具 |
| 本地预览 | VS Code + Markdown All in One |
| 图表编辑 | Mermaid Live Editor / draw.io |
| 文档站点 | Docusaurus / MkDocs / VitePress |
| 导出 PDF | mdpdf / Pandoc |
| 拼写检查 | markdownlint |
| 链接检查 | markdown-link-check |
10. 最佳实践清单
创建日期:2026-05-01