What problem does it solve?
Go library design often suffers from scattered patterns and unclear boundaries, making it hard to create reusable, extensible packages. This Skill provides structured guidelines to help teams craft maintainable APIs and predictable library boundaries.
Core Features & Use Cases
- Format Extensibility Pattern: Extend library capabilities by adding new formats without modifying core internals.
- Provider-Format Separation: Keep provider integration concerns isolated from format logic to improve modularity and testability.
- Library Scope Definition: Clearly define what the library provides and what is intentionally out of scope to prevent drift.
- Supplemental Package Pattern: Guide safe growth through higher-level extensions that depend on the core library.
Quick Start
Create a new library following the patterns above: initialize a module, implement a basic API, register an extensible format, and separate provider concerns into dedicated packages.