Toolverse
Wszystkie skille

go-skills

autor: llama-farm

Najlepsze praktyki Go dla CLI — idiomatyczne wzorce, obsługa błędów i testowanie

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
4

O skillu

Go Skills to zbiór wytycznych i wzorców dla programistów pracujących z LlamaFarm CLI. Zawiera praktyczne rady dotyczące idiomatic Go, obsługi błędów z kontekstem, bezpiecznej obsługi współbieżności oraz testowania za pomocą table-driven tests. Dokumentacja obejmuje konkretne przykłady dla Cobra (framework CLI), Bubbletea (TUI) i Lipgloss (stylizacja terminala). Skill wspiera Go 1.24+ i ułatwia pisanie kodu, który jest łatwy do utrzymania, bezpieczny i zgodny ze standardami społeczności Go.

Jak używać

  1. Zainstaluj skill w swoim projekcie LlamaFarm CLI, umieszczając go w katalogu .claude/skills/. Skill wymaga Go 1.24 lub nowszej wersji oraz narzędzi: Read, Grep i Glob do pracy z plikami.

  2. Zapoznaj się z strukturą katalogów projektu: cli/cmd/ zawiera implementacje komend, cli/internal/ przechowuje komponenty wewnętrzne (TUI, informacje o budowie). Ta organizacja ułatwia utrzymanie kodu.

  3. Stosuj wytyczne dotyczące obsługi błędów: zawsze opakowuj błędy kontekstem za pomocą fmt.Errorf("operation failed: %w", err), definiuj sentinel errors dla przewidywalnych sytuacji, sprawdzaj błędy natychmiast po wywołaniu funkcji.

  4. W kodzie współbieżnym używaj sync.Mutex do ochrony stanu współdzielonego, sync.RWMutex gdy czytania dominują nad zapisami, oraz kanałów do komunikacji między goroutines. Pamiętaj o defer przy odblokowywaniu mutexów.

  5. Pisz testy table-driven w plikach *_test.go w tym samym pakiecie. Używaj interfejsów do mockowania zależności, co ułatwia testowanie izolowanych komponentów.

  6. Zwróć uwagę na bezpieczeństwo: nigdy nie loguj poświadczeń ani tokenów, redaguj wrażliwe nagłówki w logach debugowania, waliduj wszystkie dane wejściowe z zewnątrz, używaj context.Context do anulowania operacji.

Podobne skille