c/backend › command
0votes

Cursor rules for Go

TemplateLow risk
submitted by u/client to c/backend · 0 copies

A .cursor/rules/go.mdc for idiomatic errors, contexts, interfaces and tests.

Template · 1 variable
---
description: Go conventions
globs: ["**/*.go"]
alwaysApply: false
---

# Go

- Errors are values: return them, wrap with `%w`, and handle each one. No panics in library code.
- `context.Context` first argument for anything doing I/O; respect cancellation.
- Accept interfaces, return structs; define interfaces where they're used.
- Keep packages small and named for what they provide (no `utils`).
- Table-driven tests with `t.Run`; use `t.Helper()` in helpers.
- Run `go vet` and `golangci-lint run` before finishing.

## When you change code
- Follow the patterns in the nearest existing file before inventing new ones.
- Add or update a test for behavior changes; run `{{test_command}}`.
- Keep diffs small; explain anything surprising in your reply.
0 commentsreport

How to use this command

  1. Fill in the blanks. Type your details into the boxes above. This command has 1 blank:
    • {{test_command}} Test command
  2. Copy itwith the Copy button. Your answers are filled in automatically. Use “copy raw” to keep the blanks for later.
  3. Paste it into Cursor, Claude, ChatGPT or Codex and send it.
  4. Tip: This produces a file or document. Save the filled-in result in your project (for example as CLAUDE.md or AGENTS.md) so you can reuse it.

More from c/backend

See all of c/backend →
0 comments

Log in to join the discussion.