go-project-overview

Documents Go architecture, dependencies, workflows for Bukkit server-side plugin development.

Updated Jun 4, 2025
One-click install
npx skills add https://github.com/pixb/pixai --skill go-project-overview
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-project-overview
Source: https://github.com/pixb/pixai/tree/main/skills/go-project-overview
Command: npx skills add https://github.com/pixb/pixai --skill go-project-overview

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a concise, structured overview of a Go-based project, its architecture, and the essential commands to get started, reducing ramp-up time for new contributors.

Core Features & Use Cases

  • Comprehensive project map: Explains the overall layout (cmd, server, store, proto, internal utilities) and how components interact.
  • Technology stack at a glance: Highlights Echo v4, Connect RPC with gRPC-Gateway, buf for proto management, and the Driver pattern for multi-database support.
  • Use case: A new contributor can quickly understand where to add a new API, add a new database driver, or extend tests.

Quick Start

Follow the "Workflows" and "Key Files" sections to understand how to add a new API, migrations, and proto definitions.

Frequently Asked Questions about go-project-overview

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

FAQPage Schema
How do I structure a Go project using Echo and Connect RPC?

A Go project using Echo v4 and Connect RPC is structured across server, store, and proto layers, prescribing conventions for cmd, internal utilities, and dual Connect RPC with gRPC-Gateway APIs to streamline component interaction and onboarding.

How do I add a new API to a Go backend using buf and Connect RPC?

To add a new API to a Go backend using buf and Connect RPC, follow the curated workflow sections to define proto definitions with buf, implement server logic, and extend tests within the established project conventions.

What is the best way to support multiple databases like SQLite, MySQL, and PostgreSQL in a Go project?

The best way to support SQLite, MySQL, and PostgreSQL in a Go project is using a multi-database driver pattern within the store layer, allowing seamless switching, caching, and migrations across different database engines.

Do I need buf and golangci-lint for a Go Echo v4 project?

Yes, buf and golangci-lint are required tooling for a Go Echo v4 project, ensuring proto management for dual Connect RPC and gRPC-Gateway APIs and enforcing consistent code quality across server, store, and proto layers.

How does the driver pattern work for Go database migrations?

The driver pattern for Go database migrations works by abstracting database-specific logic in the store layer, enabling unified caching and migration workflows across SQLite, MySQL, and PostgreSQL without altering core server components.