design_patterns-hamster_style

Enforce Dodder-specific Go conventions for naming, constructors, formatting, and error handling.

2|Updated Jun 26, 2025
One-click install
npx skills add https://github.com/amarbel-llc/dodder --skill design-patterns-hamster-style
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design_patterns-hamster_style
Source: https://github.com/amarbel-llc/dodder/tree/main/.claude/skills/design_patterns-hamster_style
Command: npx skills add https://github.com/amarbel-llc/dodder --skill design-patterns-hamster-style

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Dodder's Go codebase follows distinctive conventions that diverge from standard Go styles. This skill codifies those rules into a reference guide to ensure consistency across the repository.

Core Features & Use Cases

  • Naming conventions: snake_case for packages and directories; main.go as entry point; constructors use Make instead of New.
  • Formatting and tooling: goimports plus gofumpt, run via just codemod-go-fmt to enforce indentation, trailing commas, and import sorting.
  • Code patterns and design: full type-name receivers, specific Getter/Setter conventions, and SCREAMING_SNAKE_CASE generics; guidance on error handling with alfa/errors patterns.

Quick Start

Apply the hamster-style Go guide to your Dodder repo by running the codemod and linting steps described above.

Frequently Asked Questions about design_patterns-hamster_style

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

FAQPage Schema
How do I enforce Go naming conventions for constructors and packages in code review?

Go naming conventions for constructors and packages are enforced by validating snake_case directories, main.go entry points, and replacing New with Make for constructors during automated code review checks.

What's the best way to format Go code using goimports and gofumpt?

Formatting Go code with goimports and gofumpt is executed via the just codemod-go-fmt command, which automatically enforces indentation, trailing commas, and import sorting across the repository.

Does this Go style guide cover error handling patterns?

This Go style guide covers error handling patterns by providing specific guidance on using alfa/errors patterns to validate consistent error handling across Go packages during code review.

How do Go style guides handle generics and receiver naming?

Go style guides handle generics and receiver naming by enforcing SCREAMING_SNAKE_CASE for generics and requiring full type-name receivers to ensure consistency in code patterns.

Can I use this linter for standard Go projects outside of Dodder?

This linter is specifically designed for Dodder-specific Go conventions that diverge from standard Go styles, making it unsuitable for standard Go projects outside the Dodder repository.

Why does my Go code fail the build-tag usage checks?

Go code fails build-tag usage checks when the automated validation detects non-compliant build-tag formatting or placement that does not align with the specified Go style requirements.