zodiak-go-style

Enforce Go code style and project layout for the Zodiak service.

Updated Sep 22, 2023
One-click install
npx skills add https://github.com/gantelo/zodiak --skill zodiak-go-style
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zodiak-go-style
Source: https://github.com/gantelo/zodiak/tree/main/.cursor/skills/zodiak-go-style
Command: npx skills add https://github.com/gantelo/zodiak --skill zodiak-go-style

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a standardized and opinionated approach to Go project structure, configuration, and naming conventions, ensuring consistency and maintainability across the Zodiak service.

Core Features & Use Cases

  • Project Structure: Defines clear placement for entry points, internal packages, and shared resources.
  • Configuration Management: Enforces the use of environment variables via a dedicated config package.
  • Naming Conventions: Establishes guidelines for exported and unexported symbols, types, and files.
  • Use Case: When onboarding a new developer to the Zodiak project, this Skill serves as the definitive guide for understanding how the codebase is organized and how to contribute effectively.

Quick Start

Follow the established Go style and project layout guidelines for the Zodiak service when editing Go code.

Frequently Asked Questions about zodiak-go-style

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

FAQPage Schema
What is the standard Go project layout for internal packages?

It defines clear placement rules for entry points, internal packages, and shared resources to ensure maintainable, scalable, and consistent Go codebase development across the service.

How do I manage configuration in a Go service?

Configuration management in a Go service is enforced through environment variables accessed via a dedicated config package, ensuring standardized and consistent environment setup across deployments.

What are the best practices for Go naming conventions?

Best practices for Go naming conventions establish clear guidelines for exported and unexported symbols, types, and files to maintain consistency and readability across the project codebase.

How do I add new internal packages to an existing Go project?

Add new internal packages by following established project layout guidelines, placing new code according to defined rules for internal package organization and shared resource file placement.

Does this Go style guide work for refactoring existing codebases?

Yes, this Go style guide is applicable for code editing and refactoring, providing the definitive standards needed to restructure existing code into a maintainable and scalable layout.