JetBrains/go-modern-guidelines
Help AI coding agents write modern Go
JetBrains / go-modern-guidelines – 快速概览
是什么 – 一个小型开源规则集(以 CLI 插件形式提供),教导代码生成代理(Junie、Claude Code、Codex、Cursor 等)如何编写 现代 Go。它编码了从 Go 1.0 到 Go 1.27 引入的惯用法和标准库新增功能,使代理能自动选择最新、最简洁的模式,而不是退回到旧代码。
为何重要 – 大型语言模型的训练数据通常截止于较旧版本,因此生成的 Go 代码往往过时,缺乏最新语言特性。这会导致代码冗长或陈旧,后续需手动“现代化”处理。JetBrains 指南为代理提供了明确且版本感知的参考,减少了这种滞后,并降低了生成后的清理工作量。
核心功能
| 功能 | 说明 |
|---|---|
| 版本感知建议 | 读取项目的 go.mod 以确定允许的语言版本,并仅建议该版本中存在的功能。 |
| 现代惯用法库 | 编码了诸如 max(a,b)、slices.Contains、cmp.Or、new(42)、errors.AsType[T] 等模式,并附有具体示例(参见 FEATURES.md)。 |
| 代理无关打包 | 以 Junie、Claude Code、Codex、Cursor 的市场扩展包形式,以及通用 skills.sh 包形式分发,任何支持的 AI 编码助手均可加载。 |
| 零影响 CLI | 安装一个极小的辅助工具(go install …)到用户缓存中;从不修改目标项目的文件。 |
| 工具链友好 | 支持 Go 1.25+;在旧版本安装中会通过 GOTOOLCHAIN=auto 自动下载兼容工具链。 |
| 本地开发模式 | 运行 make dev-install 可构建一个自定义 CLI,当设置 GO_MODERN_GUIDELINES_DEV=1 时,代理将自动识别并使用,便于测试变更。 |
谁应该使用它?
- 希望提升生成 Go 代码质量的 AI 编码助手。
- 依赖 Junie、Claude Code、Codex 或 Cursor 等代理,并希望输出已遵循最新 Go 最佳实践的开发者。
- 希望在多个 AI 平台上分发“现代 Go”技能的工具维护者。
安装与激活(概要)
- 将仓库添加到代理的市场(各代理命令不同,请参见 README)。
- 通过代理的 CLI 安装
modern-go-guidelines插件/扩展(如/extensions install modern-go-guidelines、codex plugin add …等)。 - 代理在检测到 Go 任务时将自动调用该技能。
- 手动使用时可执行显式命令(例如在 Claude Code 中使用
/modern-go-guidelines:use-modern-go)。
更新
每个代理提供各自的更新流程(CLI 命令、市场 UI 或重新安装)。README 列出了 Junie、Claude Code、Codex、Cursor 和通用 skills.sh 工具的精确命令。
贡献
欢迎贡献。请参阅 CONTRIBUTING.md 了解指南,并使用 make dev-install 在本地测试更改。开发流程有意与代理侧包装器隔离,以防止在正常使用中意外构建。
总结
JetBrains/go-modern-guidelines 是一个轻量级、版本感知的“速查表”,打包为插件,使 AI 代码生成代理能够开箱即用地输出最新、符合惯用法的 Go 代码,大幅减少生成后的重构工作。
写过它的文章
相关
- 项目
- Dispatch
- 项目
- 项目
- Dispatch