返回顶部
g

golang-documentationGo语言文档指南

Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt. Use when writing or reviewing doc comments, documentation, adding code examples, setting up doc sites, or discussing documentation best practices. Triggers for both libraries and applications/CLIs.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.2
安全检测
已通过
153
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

golang-documentation

角色设定: 你是一名 Go 语言技术文档撰写者兼 API 设计者。你将文档视为一等交付物——准确、以示例驱动,并且面向从未接触过该代码库的读者编写。

模式:

  • - 撰写模式 —— 生成或补充缺失的文档(文档注释、README、CONTRIBUTING、CHANGELOG、llms.txt)。按步骤 2 中的清单顺序依次完成,或使用子代理跨包/文件并行处理。
  • 审查模式 —— 审计现有文档的完整性、准确性和风格。最多使用 5 个并行子代理:每个代理负责一个文档层级(文档注释、README、CONTRIBUTING、CHANGELOG、库特定附加内容)。

社区默认规则。 若存在明确覆盖 samber/cc-skills-golang@golang-documentation 技能的公司技能,则以公司技能为准。

Go 文档

编写既服务于人类又服务于 AI 代理的文档。优秀的文档使代码可发现、可理解、可维护。

交叉引用

关于文档注释的命名规范,请参阅 samber/cc-skills-golang@golang-naming 技能。关于示例测试函数,请参阅 samber/cc-skills-golang@golang-testing 技能。关于文档文件存放位置,请参阅 samber/cc-skills-golang@golang-project-layout 技能。

步骤 1:检测项目类型

在编写文档前,先确定项目类型——这决定了需要哪些文档:

—— 无 main 包,供其他项目导入使用:

  • - 重点:godoc 注释、ExampleXxx 函数、Playground 演示、pkg.go.dev 渲染
  • 参见 库文档

应用/CLI —— 包含 main 包、cmd/ 目录,生成二进制文件或 Docker 镜像:

  • - 重点:安装说明、CLI 帮助文本、配置文档
  • 参见 应用文档

两者均适用:函数注释、README、CONTRIBUTING、CHANGELOG。

架构文档:对于复杂项目,使用 docs/ 目录和设计描述文档。

步骤 2:文档清单

每个 Go 项目都需要以下内容(按优先级排序):

项目必需应用
导出函数的文档注释
包注释(// Package foo...)—— 必须存在
是 | 是 | 是 |
| README.md | 是 | 是 | 是 |
| LICENSE | 是 | 是 | 是 |
| 入门指南 / 安装说明 | 是 | 是 | 是 |
| 可运行的代码示例 | 是 | 是 | 是 |
| CONTRIBUTING.md | 推荐 | 是 | 是 |
| CHANGELOG.md 或 GitHub Releases | 推荐 | 是 | 是 |
| 示例测试函数(ExampleXxx) | 推荐 | 是 | 否 |
| Go Playground 演示 | 推荐 | 是 | 否 |
| API 文档(例如 OpenAPI) | 如适用 | 可能 | 可能 |
| 文档网站 | 大型项目 | 可能 | 可能 |
| llms.txt | 推荐 | 是 | 是 |

私有项目可能不需要文档网站、llms.txt、Go Playground 演示……

并行化文档工作

在为一个包含多个包的大型代码库编写文档时,最多可使用 5 个并行子代理(通过 Agent 工具)处理独立任务:

  • - 为每个子代理分配不同的包集,用于验证和修复文档注释
  • 同时为多个包生成 ExampleXxx 测试函数
  • 并行生成项目文档:每个文件(README、CONTRIBUTING、CHANGELOG、llms.txt)分配一个子代理

步骤 3:函数与方法文档注释

每个导出的函数和方法都必须有文档注释。复杂的内部函数也应添加注释。测试函数除外。

注释以函数名开头,后接动词短语。重点说明为什么何时使用,而非重复代码已展示的内容。代码告诉你做什么——注释应解释为什么存在何时使用有哪些约束以及可能出什么问题。包括参数、返回值、错误情况以及使用示例:

go
// CalculateDiscount 计算应用分级折扣后的最终价格。
// 折扣根据订单数量逐步应用:每个层级解锁额外的百分比减免。
// 如果数量无效,或基础价格在应用折扣后导致负值,则返回错误。
//
// 参数:
// - basePrice: 折扣前的原始价格(必须为非负数)
// - quantity: 订购的单位数量(必须为正数)
// - tiers: 按最低数量阈值排序的折扣层级切片
//
// 返回四舍五入到两位小数的最终折扣价格。
// 如果 basePrice 为负数,返回 ErrInvalidPrice。
// 如果 quantity 为零或负数,返回 ErrInvalidQuantity。
//
// 在线演示:https://go.dev/play/p/abc123XYZ
//
// 示例:
//
// tiers := []DiscountTier{
// {MinQuantity: 10, PercentOff: 5},
// {MinQuantity: 50, PercentOff: 15},
// {MinQuantity: 100, PercentOff: 25},
// }
// finalPrice, err := CalculateDiscount(100.00, 75, tiers)
// if err != nil {
// log.Fatalf(折扣计算失败:%v, err)
// }
// log.Printf(订购 75 件,每件 $100:最终价格 = $%.2f, finalPrice)
func CalculateDiscount(basePrice float64, quantity int, tiers []DiscountTier) (float64, error) {
// 实现
}

关于完整的注释格式、弃用标记、接口文档和文件级注释,请参阅 代码注释 —— 如何为包、函数、接口编写文档,以及何时使用 Deprecated: 标记和 BUG: 注释。

步骤 4:README 结构

README 应遵循以下确切的章节顺序。从 templates/README.md 复制模板:

  1. 1. 标题 —— 项目名称,使用 # 标题 格式
  2. 徽章 —— shields.io 图标(Go 版本、许可证、CI、覆盖率、Go Report Card……)
  3. 摘要 —— 用 1-2 句话解释项目功能
  4. 演示 —— 展示项目运行的代码片段、GIF、截图或视频
  5. 入门指南 —— 安装 + 最小可运行示例
  6. 功能 / 规范 —— 详细的功能列表或规范(可能很长)
  7. 贡献指南 —— 链接到 CONTRIBUTING.md,或如果内容很短则直接内联
  8. 贡献者 —— 感谢贡献者(徽章或列表)
  9. 许可证 —— 许可证名称 + 链接

Go 项目的常见徽章:

markdown
Go 版本 许可证 构建状态 覆盖率 Go 报告卡 Go 参考

关于完整的 README 指南和特定于应用的章节,请参阅 项目文档

步骤 5:CONTRIBUTING 与 Changelog

CONTRIBUTING.md —— 帮助贡献者在 10 分钟内上手。包括:先决条件、克隆、构建、测试、PR 流程。如果设置时间超过 10 分钟,则应改进流程:添加 Makefile、docker-compose 或 devcontainer 以简化操作。参见 项目文档

Changelog —— 使用 Keep a Changelog 格式或 GitHub Releases 跟踪变更。从 templates/CHANGELOG.md 复制模板。参见 项目文档

步骤 6:库

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 golang-documentation-1776080582 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 golang-documentation-1776080582 技能

通过命令行安装

skillhub install golang-documentation-1776080582

下载

⬇ 下载 golang-documentation v1.1.2(免费)

文件大小: 29.88 KB | 发布时间: 2026-4-14 13:52

v1.1.2 最新 2026-4-14 13:52
golang-documentation 1.1.2

- Updated SKILL.md to clarify directory usage for architecture docs, minor formatting/clarity improvements, and corrected a small typo in the documentation checklist.
- Improved language in various documentation templates (README.md, CONTRIBUTING.md).
- Refinements to library documentation guidance.
- Version bump in metadata.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部