go-development

Standardize Go project style, testing, and tooling with structured guidelines.

4|Updated Sep 6, 2013
One-click install
npx skills add https://github.com/mway/dotfiles --skill go-development-mway
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-development
Source: https://github.com/mway/dotfiles/tree/main/home/dot_codex/skills/go-development
Command: npx skills add https://github.com/mway/dotfiles --skill go-development-mway

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Go developers often face inconsistent code style, fragmented tooling, and the need to align patterns across projects. This skill provides a consolidated set of Go best practices, idioms, and tooling guidance to improve code quality and developer efficiency.

Core Features & Use Cases

  • Code Style & Conventions: Follow the Uber Go style guide, naming conventions, and module-aware project layout.
  • Testing & Concurrency: Promote table-driven tests, subtests, and safe concurrency patterns.
  • Tooling & Performance: Recommend go test, golangci-lint, gofumpt, and profiling techniques for performance improvements.

Quick Start

Run the Go development guidelines against a new or existing Go project to ensure consistency and maintainability.

Frequently Asked Questions about go-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce consistent Go coding style and conventions across my project?

Enforce consistent Go coding style by applying structured guidelines based on the Uber Go style guide, naming conventions, and a module-aware project layout. This standardizes code patterns and improves overall project maintainability.

What is the best way to structure table-driven tests and subtests in Golang?

Structure table-driven tests and subtests in Golang by following standardized testing patterns that promote safe concurrency and comprehensive coverage. This ensures reliable test execution across your modules.

How do I set up golangci-lint and gofumpt for my Go modules?

Integrate golangci-lint and gofumpt as recommended tooling guidance for your Go modules. Running these tools against your go.mod and go.sum files enforces compliance with Go-specific style and performance considerations.

Does this Go development guidance apply to projects without a go.mod file?

This Go development guidance is specifically designed for projects using modules with go.mod and go.sum files. Applying it to non-module projects limits the effectiveness of the module-aware project layout and tooling recommendations.

Why should I use idiomatic Go concurrency patterns in my application?

Use idiomatic Go concurrency patterns to ensure safe concurrent execution and improve application performance. Structured guidelines align these patterns across projects, reducing fragmented tooling and preventing race conditions.