К основному содержанию
правило

go · patrickjs — правило для Cursor: что делает и как установить

Правило задаёт стиль Go-кода: явная обработка ошибок, интерфейсы и безопасная работа с контекстом. Пригодится для файлов .go в Cursor.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/go.mdc
Открыть на GitHub

Что делает go

Правило направляет Cursor к идиоматичному Go-коду. Оно требует обрабатывать ошибки, оборачивать их через fmt.Errorf("context: %w", err), проверять через errors.Is() и errors.As(), а для структурированных ошибок использовать собственные типы.

В настройках кода заданы короткие имена переменных, корректное написание акронимов и интерфейсы с суффиксом -er. Интерфейсы предлагается принимать, а возвращать конкретные типы; для конкурентного кода нужны context.Context, defer cancel(), WaitGroup, каналы и мьютексы. Тесты строятся через table-driven подход и интерфейсные моки.

Правило также запрещает игнорировать ошибки через _, использовать init() для бизнес-логики, глобальное изменяемое состояние и горутины без условия завершения. Оно не включается для файлов вне **/*.go.

Какие задачи решает

  • обрабатывать ошибки без присваивания в _
  • проектировать интерфейсы на месте вызова
  • передавать context.Context в блокирующие функции
  • строить табличные тесты для Go-кода
  • останавливать горутины по явному условию

Примеры запросов агенту

  • Проверь этот код Go и исправь обработку ошибок по правилу.
  • Перепиши конкурентную функцию так, чтобы она принимала context.Context первой.
  • Добавь табличные тесты с t.Run и моками через интерфейсы.

Как установить go

Вручную: положить файлы

.cursor/rules/go.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о go

Как установить go в Cursor?

Создайте файл .cursor/rules/go.mdc и поместите в него содержимое правила.

Что делает правило go?

Оно задаёт рекомендации для Go: обработка ошибок, дизайн интерфейсов, именование, конкурентность и тестирование.

К каким файлам применяется go?

Правило использует шаблон **/*.go, поэтому применяется к Go-файлам.

Исходный текст

go.mdc · CC0-1.0
---
description: "Idiomatic Go rules. Explicit error handling, interface-based design, context-first concurrency."
globs: **/*.go
alwaysApply: false
---
# Go Language Rules

Expert Go developer. Simple, explicit, idiomatic.

## Error Handling
- Always handle errors — never assign to _
- fmt.Errorf("context: %w", err) for wrapping
- errors.Is() / errors.As() for checking
- Custom error types for structured errors

## Naming
- Short for short-lived vars: i, n, err, ok
- No stuttering: user.UserID → user.ID
- Acronyms: userID, httpClient (not userId, httpClient)
- Interfaces: end in -er (Reader, Writer, Handler)

## Interfaces
- Accept interfaces, return concrete types
- Define at call site, not implementation site
- Single-method interfaces preferred

## Concurrency
- context.Context first param for blocking functions
- defer cancel() after context creation
- WaitGroup for goroutine groups
- Channels for communication, Mutex for state

## Testing
- Table-driven: for _, tc := range testCases { t.Run(tc.name, ...) }
- Interface-based mocking

## Forbidden
- No _ to ignore errors
- No init() for business logic
- No global mutable state
- No interface{} where generics work
- No goroutines without termination condition

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «Языки программирования» →

Сначала — go от других авторов.

go официальный github Задаёт стандарты написания идиоматичного Go-кода по гайдам Effective Go и Google. Помогает GitHub Copilot соблюдать структуру пакетов и чистоту синтаксиса. ★ 40 451звёзд репо winui3 официальный github Правило задаёт рекомендации для WinUI 3 и Windows App SDK: от XAML и потоков до окон и MVVM. Пригодится, чтобы Copilot учитывал особенности настольных приложений Windows. ★ 40 451звёзд репо vue официальный github Правило задаёт Copilot стандарты Vue 3: Composition API, <script setup>, реактивность, Pinia и Vue Router. Пригодится, когда агент пишет компоненты в вашем стиле. ★ 40 451звёзд репо vsixtoolkit официальный github Направляет GitHub Copilot при создании расширений VSIX через библиотеку Community.VisualStudio.Toolkit. Задаёт совместимость с .NET Framework 4.8 и правила потоков. ★ 40 451звёзд репо tanstack-start-shadcn-tailwind официальный github Правило задаёт Copilot стек TanStack Start, Shadcn/ui и Tailwind CSS и требует валидировать внешние данные через Zod. ★ 40 451звёзд репо swift-mcp-server официальный github Правило задаёт Copilot шаблоны для сборки MCP-серверов на Swift через официальный SDK: инструменты, ресурсы, промпты и транспорты. ★ 40 451звёзд репо svelte официальный github Направляет GitHub Copilot на стандарты Svelte 5 и SvelteKit 2: руны вместо старых сторов, типизация компонентов и безопасная работа с SSR. ★ 40 451звёзд репо

Из того же набора140

how-to-documentation-cursorrules-prompt-file Правило превращает технические шаги, тест-скрипты и скриншоты в пошаговые инструкции для нетехнических пользователей. Пригодится, когда нужно писать «How To» по фиче. ★ 41 024звёзд репо hol-hedera-typescript-cursorrules-prompt-file Набор инструкций для Cursor по разработке ИИ-агентов на Hedera с Hashgraph Online SDK на TypeScript. Помогает соблюдать стандарты HCS и TDD. ★ 41 024звёзд репо harmony-arkts Правило задаёт практики для HarmonyOS ArkTS: компоненты, состояние, ресурсы, разметка, жизненный цикл и доступность. Подходит для проектов с файлами .ets. ★ 41 024звёзд репо graphical-apps-development-cursorrules-prompt-file Правило Cursor, которое задаёт агенту контекст проекта Pyllments: графовые LLM-приложения на Python с Panel и Langchain. ★ 41 024звёзд репо go-servemux-rest-api-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента писать REST API на Go через net/http и новый ServeMux из Go 1.22. ★ 41 024звёзд репо github-cursorrules-prompt-file-instructions Правило направляет Cursor к читаемому и поддерживаемому коду: осмысленным именам, коротким функциям и понятным комментариям. ★ 41 024звёзд репо github-code-quality-cursorrules-prompt-file Набор ограничений для агента Cursor: он проверяет факты перед выводом, не тратит ответ на извинения и сводки, правит файлы по одному. ★ 41 024звёзд репо gitflow Задаёт правила ветвления Gitflow, формат коммитов Conventional Commits и порядок релизов для ИИ-ассистента в Cursor. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой