# Use Modern Go > Usa la CLI Modern Go Guidelines al escribir, modificar o refactorizar Go, y aplica su guía según la versión del proyecto. Fuente: https://skillsagentes.com/skills/jetbrains/go-modern-guidelines/use-modern-go Markdown: https://skillsagentes.com/skills/jetbrains/go-modern-guidelines/use-modern-go.md Repositorio: https://github.com/JetBrains/go-modern-guidelines Autor: JetBrains Licencia: Apache-2.0 Actualizado: hace 9 días Coste de contexto: 38 tok instalada, 653 tok al activarse, 2k tok con todos los archivos del bundle Bundle: 4 archivos, 8 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent claude-code # Cursor npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent cursor # Codex npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent codex # Gemini CLI npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent gemini # Windsurf npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent windsurf # Cline npx -y skills add JetBrains/go-modern-guidelines --skill use-modern-go --agent cline ``` ## Qué hace - Consulta la CLI Modern Go Guidelines (`list` / `explain`) como fuente de verdad de idiomas de Go más nuevos que el corte de entrenamiento. - Resuelve la versión de Go desde `go.mod`, `go.work`, el toolchain o `--go-version`, y aplica las guías aunque el código vecino use patrones viejos. - Lee la lista completa (más nuevas primero) sin recortarla con `head`/`grep`; llama a `explain` solo con IDs concretos. ## Cuándo usarla - Al escribir, modificar, corregir o refactorizar código Go. - Cuando hay que aplicar guía específica de la versión de Go del proyecto a los cambios generados. ## Qué la activa - "Escribe esta función en Go moderno" - "Refactoriza este paquete a idiomas actuales de Go" - "¿Qué guía de Go 1.24 aplica a este archivo?" ## Antes de instalar - El wrapper instala la CLI Modern Go Guidelines en una caché local en el primer uso. Hace falta el toolchain de Go en el PATH. - Variables de entorno: GO_MODERN_GUIDELINES_DEV, LASTEXITCODE - reads environment config ## Archivos - SKILL.md — 3 KB - scripts/VERSION — 7 B - scripts/run-tool.ps1 — 3 KB - scripts/run-tool.sh — 2 KB ## SKILL.md Reproducido tal cual desde JetBrains/go-modern-guidelines bajo Apache-2.0. Esta sección es el documento original y está en inglés. # Modern Go Guidelines CLI Always write modern, idiomatic Go code. Use the Modern Go Guidelines CLI as the source of truth for modern Go idioms that may be newer than your knowledge cutoff. Command: - Linux or macOS: `sh "/scripts/run-tool.sh"` - Windows PowerShell: `'\scripts\run-tool.ps1'` First run and approvals: On first use, the wrapper installs the Modern Go Guidelines CLI in a local cache directory. Subcommands: - `list` - `explain` Before editing Go code: 1. Call the wrapper's `list` subcommand for the relevant Go file. Prefer passing the file you are about to edit: ```sh sh "/scripts/run-tool.sh" list --file-path path/to/file.go ``` On Windows, use the PowerShell wrapper with the same arguments. The CLI resolves the applicable Go version from go.mod, go.work, the local Go toolchain, or an explicit override. 2. If the target Go version is already known, you may pass it directly: ```sh sh "/scripts/run-tool.sh" list --go-version 1.24 ``` 3. Read the complete list output before deciding which guidelines apply. The list output is ordered newest first. Read the full output because older supported guidelines may still apply. Do not pipe the output through head, tail, grep, sed, or any other truncating/filtering command. Important guidelines may otherwise be missed. 4. Treat returned guidelines as authoritative for modern Go style choices in code you are editing. If a guideline applies, follow it even when nearby code or repository convention uses an older pattern. Skip it only when it would not compile, would change behavior, or clearly does not match the edited code. Before skipping a returned guideline that seems relevant, call the wrapper's `explain` subcommand for that guideline ID. Call `explain` only when a specific guideline may apply and you need the detailed explanation or examples. Request only the guideline IDs you intend to evaluate or apply: ```sh sh "/scripts/run-tool.sh" explain sync_waitgroup_go ``` Multiple guideline IDs may be requested as positional arguments: ```sh sh "/scripts/run-tool.sh" explain atomic_types errors_as_type ``` Do not call `explain` without guideline IDs. Use `list` first to discover the short guideline list for the target Go version, then call `explain` for the specific returned IDs that need more context. ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [JetBrains](https://skillsagentes.com/creators/jetbrains.md) — 1 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Skills relacionadas - [Golang Samber Ro](https://skillsagentes.com/skills/samber/cc-skills-golang/golang-samber-ro.md): Streams reactivos y programación orientada a eventos en Go con samber/ro: implementación de ReactiveX con 150+ operadores, observables cold/hot, 5 tipos de subjects y 40+ plugins. - [Golang Samber Lo](https://skillsagentes.com/skills/samber/cc-skills-golang/golang-samber-lo.md): Helpers funcionales para Go con samber/lo: 500+ funciones genéricas type-safe para slices, maps, canales, strings, math, tuplas y concurrencia. - [Golang Samber Mo](https://skillsagentes.com/skills/samber/cc-skills-golang/golang-samber-mo.md): Tipos monádicos para Golang con samber/mo — Option, Result, Either, Future, IO, Task y State para valores nulos seguros, manejo de errores y composición funcional. - [Golang Uber Fx](https://skillsagentes.com/skills/samber/cc-skills-golang/golang-uber-fx.md): Framework de aplicación Golang basado en uber-go/fx — fx.New, fx.Provide, fx.Invoke, fx.Module, hooks de fx.Lifecycle, fx.Annotate, fx.Decorate, fx.Supply, fx.Replace y Run() sensible a señales. - [Golang Cli](https://skillsagentes.com/skills/samber/cc-skills-golang/golang-cli.md): Desarrollo de aplicaciones CLI en Go: estructura de comandos, flags, configuración por capas, versión embebida, exit codes, señales, completions y testing con cobra, viper o urfave/cli. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)