Files
nexus/wiki/concepts/Docs-as-Code.md
2026-05-03 05:42:12 +08:00

3.1 KiB
Raw Blame History

title, type, tags, last_updated
title type tags last_updated
Docs-as-Code concept
documentation
devops
methodology
2026-05-01

Definition

Docs-as-Code 是一种将文档视为代码的实践方法论——文档使用与代码相同的工具、流程和版本控制进行管理。

Core Principles

1. 版本控制

  • 文档存储在 Git 仓库中
  • 所有变更通过 Pull Request 审查
  • 保留完整变更历史,支持回滚

2. 自动化构建

  • 文档变更触发 CI/CD 流水线
  • 自动运行文档检查spellcheck、broken links、style linting
  • 自动部署到文档托管平台

3. 协作流程

  • 开发者可以直接在 IDE 中编辑文档
  • 使用 Markdown / reStructuredText / AsciiDoc 等代码友好格式
  • 文档评审与代码评审使用相同工具和流程

4. 自动化生成

  • API 参考文档从 OpenAPI/Swagger 规范自动生成
  • 代码示例从源代码自动提取
  • 从代码注释docstrings/JSDoc自动生成参考文档

Tooling Ecosystem

Static Site Generators

  • DocusaurusMeta 出品React 驱动,适合开源项目
  • MkDocsPython 驱动YAML 配置Material 主题美观
  • SphinxPython 官方文档工具reStructuredText 格式,扩展丰富
  • VitePressVue 团队出品轻量快速Markdown 优先

Documentation Generators

  • OpenAPI Generator / Swagger Codegen:从 OpenAPI 规范生成多语言 SDK + 参考文档
  • JSDoc / TypeDoc:从代码注释生成 JS/TS 参考文档
  • Sphinx autodoc:从 Python docstrings 自动生成参考文档
  • Redoc:开源 API 文档渲染器,从 OpenAPI 规范生成可读文档
  • Stoplight:商业级 API 设计 + 文档平台

Linting & Quality

  • Valeprose linter自定义风格规则检查文档语法和风格一致性
  • markdownlintMarkdown 文件格式检查
  • ** spellchecker**:拼写检查
  • Link Checker:断链检测

Implementation Checklist

基础设施

  • Git 仓库存储文档(与代码同一仓库或专门 docs 仓库)
  • CI/CD 流水线配置文档构建和检查
  • 选择静态站点生成器并完成初始配置
  • 配置自动化文档生成API docs from OpenAPI/JSDoc

质量门禁

  • Vale prose linter 规则配置
  • markdownlint 检查配置
  • 断链检查集成
  • 拼写检查集成

发布流程

  • 配置自动部署到 GitHub Pages / Read the Docs / Netlify
  • 文档变更触发 PR 审查流程
  • 定义文档所有者(维护者)职责

版本管理

  • 配置多版本文档(对应软件版本)
  • 旧版本文档归档策略(标记弃用,不删除)

Relationship to Technical Writing

Docs-as-Code 是 TechnicalWriter 的基础设施能力。engineering-technical-writer 定义了文档内容标准Divio 系统、质量门禁、指标驱动Docs-as-Code 提供了实现这些标准的工程化流程。两者共同构成完整的文档工程实践体系。

Sources