mcpField
U
use-modern-go

use-modern-go

github.com/jetbrains开发3.9k2.7k 次安装7 周前更新
代码仓库

关于 use-modern-go

use-modern-go 是用于编写现代、惯用 Go 代码的技能。其 CLI 可列出适用于目标 Go 版本的指南,并解释指定的指南 ID。

主要功能

  1. 01列出适用的 Go 指南
  2. 02根据项目上下文确定 Go 版本
  3. 03解释指定的指南 ID
  4. 04提供 Windows PowerShell 包装脚本

适用场景

  1. 01编辑 Go 文件前检查指南
  2. 02应用已知 Go 版本的指南
  3. 03查看相关指南的详细说明

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jetbrains/go-modern-guidelines --skill use-modern-go

安装后在 Claude Code 中输入/use-modern-go确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
run-tool.ps1
run-tool.sh
VERSION

详细介绍

Modern Go 指南 CLI

始终编写现代、符合惯用写法的 Go 代码。使用 Modern Go Guidelines CLI 作为权威来源,了解可能晚于你的知识截止时间的现代 Go 惯用写法。

命令:

  • Linux 或 macOS:sh "<skill-dir>/scripts/run-tool.sh"
  • Windows PowerShell:& '<skill-dir>\scripts\run-tool.ps1'

首次运行与授权:

首次使用时,包装脚本会在本地缓存目录中安装 Modern Go Guidelines CLI。

子命令:

  • list
  • explain

编辑 Go 代码之前:

  1. 针对相关 Go 文件调用包装脚本的 list 子命令。

    优先传入你即将编辑的文件:

    sh "<skill-dir>/scripts/run-tool.sh" list --file-path path/to/file.go
    

    在 Windows 上,使用带有相同参数的 PowerShell 包装脚本。

    CLI 会从 go.mod、go.work、本地 Go 工具链或显式覆盖项中解析适用的 Go 版本。

  2. 如果已知目标 Go 版本,可以直接传入:

    sh "<skill-dir>/scripts/run-tool.sh" list --go-version 1.24
    
  3. 在决定适用哪些指南之前,阅读完整的列表输出。

    列表输出按从新到旧排序。请阅读完整输出,因为较早发布但仍受支持的指南也可能适用。

    不要使用 head、tail、grep、sed 或任何其他会截断或筛选输出的命令进行管道处理,否则可能会遗漏重要指南。

  4. 将返回的指南视为你正在编辑的代码在现代 Go 风格选择方面的权威依据。

    如果某条指南适用,即使附近代码或仓库约定采用较旧的模式,也要遵循该指南。只有在无法编译、会改变行为或明显与正在编辑的代码不相符时,才跳过该指南。在跳过一条看似相关的返回指南之前,请针对该指南 ID 调用包装脚本的 explain 子命令。

仅当某条具体指南可能适用,且你需要详细说明或示例时,才调用 explain。只请求你打算评估或应用的指南 ID:

sh "<skill-dir>/scripts/run-tool.sh" explain sync_waitgroup_go

可以将多个指南 ID 作为位置参数请求:

sh "<skill-dir>/scripts/run-tool.sh" explain atomic_types errors_as_type

不要在未提供指南 ID 的情况下调用 explain。先使用 list 查找目标 Go 版本对应的简要指南列表,然后对需要更多上下文的具体指南 ID 调用 explain。

评论

支持 Markdown