Skip to main content

go-review

Go code review guidelines for the Cog codebase

ソース情報

リポジトリ
replicate/cog
ソースの最終更新活動
2026年4月24日 19:38
検出された SKILL.md の言語
英語
スター
9,489
フォーク
698

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
go-review
description
Go code review guidelines for the Cog codebase
## Go review guidelines This project uses Go for the CLI (`cmd/cog/`, `pkg/`) and support tooling (`tools/`). ### What linters already catch (skip these) golangci-lint runs errcheck, gocritic, gosec, govet, ineffassign, misspell, revive, staticcheck, and unused. Don't flag issues these would catch. ### What to look for **Error handling** - Errors returned but not checked or silently discarded - User-facing errors should use `pkg/errors.CodedError` with error codes - Generic error wrapping that loses context (`fmt.Errorf("failed")` with no `%w`) **Imports** - Should be three groups: stdlib, third-party, internal (`github.com/replicate/cog/pkg/...`) - Only flag if actually wrong, not cosmetic reordering **Testing** - Must use `testify/require` for fatal assertions and `testify/assert` for non-fatal - No raw `if` checks with `t.Fatal`/`t.Errorf` - Prefer table-driven tests for similar cases - Prefer specific assertions (`Equal`, `Contains`, `NoError`) over `True`/`False` **Concurrency** - Goroutine leaks (no cleanup path, missing context cancellation) - Shared state without synchronization - Channel misuse (sends on closed channels, unbuffered channels in wrong contexts) **Docker/container patterns** - The CLI uses the Docker Go SDK. Watch for leaked clients, unclosed response bodies - Dockerfile generation is in `pkg/dockerfile/` -- template injection risks **Architecture** - Commands belong in `pkg/cli/`, business logic in `pkg/` - Config parsing/validation in `pkg/config/` - Don't mix CLI concerns with library logic
GitHubで見る