From datum-platform
Covers Go coding conventions including import grouping, error handling, naming, and comments. Use when writing or reviewing Go code to ensure consistency across services.
npx claudepluginhub datum-cloud/claude-code-plugins --plugin datum-platformThis skill uses the workspace's default tool permissions.
This skill covers Go coding conventions for Datum Cloud services.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
This skill covers Go coding conventions for Datum Cloud services.
All Go code follows these conventions for consistency across services.
| File | Purpose |
|---|---|
testing.md | Test patterns |
Three groups, separated by blank lines:
import (
// Standard library
"context"
"fmt"
"time"
// External packages
"k8s.io/apimachinery/pkg/runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
// Internal packages
"github.com/datumapis/myservice/pkg/apis/v1alpha1"
"github.com/datumapis/myservice/internal/storage"
)
// Good
return fmt.Errorf("creating resource %s: %w", name, err)
// Bad
return fmt.Errorf("Failed to create resource.")
Always wrap with context:
if err != nil {
return fmt.Errorf("validating spec: %w", err)
}
Use for expected conditions:
var ErrNotFound = errors.New("resource not found")
if errors.Is(err, ErrNotFound) {
// handle not found
}
| Type | Convention | Example |
|---|---|---|
| Package | short, lowercase | storage, quota |
| Interface | -er suffix when single method | Reader, Storage |
| Struct | noun | ResourceStore |
| Function | verb | CreateResource |
| Constant | PascalCase | MaxRetries |
| Variable | camelCase | resourceCount |
// Package storage implements the storage backend for resources.
package storage
// CreateResource creates a new resource in the store.
// It returns ErrAlreadyExists if the resource exists.
func CreateResource(ctx context.Context, r *Resource) error {
// Good: explains why
// Use sync.Once to ensure thread-safe lazy initialization
r.storeOnce.Do(...)
// Bad: explains what (obvious from code)
// Initialize the store
r.storeOnce.Do(...)
func (s *Store) Get(ctx context.Context, name string) (*Resource, error) {
return s.backend.Get(ctx, name)
}
| Script | Purpose |
|---|---|
scripts/check-imports.sh | Verify import grouping |
scripts/check-test-naming.sh | Verify test file names |
scripts/check-boilerplate.sh | Verify license headers |
testing.md — Test conventions