azure-sdk-for-go: Instructions file for GitHub Copilot

.github/instructions/go-code.instructions.md

azure-sdk-for-go go-code.instructions.md is an instructions file for GitHub Copilot from Azure/azure-sdk-for-go. It costs 1,019 tokens per session, scanned A, original, MIT.

Coding guidance for the Azure SDK for Go, a collection of Go libraries for Microsoft Azure services. It covers naming, copyright headers, and special rules for generated code.

In plain words
What is it for?
Writing or reviewing Go SDK code, naming exported identifiers, adding file headers, and deciding when generated files should be left unchanged.
Why use it?
It helps contributors follow the SDK's established conventions and avoid changing generated patterns that are intentional.

Instructions file for GitHub Copilot ✓ vendor

Written for GitHub Copilot: a Copilot instructions file.

This is Azure/azure-sdk-for-go's own configuration. It tells GitHub Copilot how to work on azure-sdk-for-go itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything azure-sdk-for-go configures →

About the project

Azure SDK for Go is a collection of Go modules for using and managing Microsoft Azure services through code. Go developers use client modules to work with existing Azure resources and management modules to configure those resources. Its catalogue add-ons provide instructions and agent support for developing within the SDK repository.

Azure/azure-sdk-for-go · 1,857 stars · on GitHub · docs.microsoft.com

Reuse

Borrowing it

Nothing to install: this file belongs to Azure/azure-sdk-for-go. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/Azure/azure-sdk-for-go/main/.github/instructions/go-code.instructions.md
Clone the repo
git clone --depth 1 https://github.com/Azure/azure-sdk-for-go

Made for: GitHub Copilot.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for azure-sdk-for-go go-code.instructions.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/azure/azure-sdk-for-go/go-code/github.svg)](https://agentmods.dev/instructions/azure/azure-sdk-for-go/go-code)
Your own site
<a href="https://agentmods.dev/instructions/azure/azure-sdk-for-go/go-code"><img src="https://agentmods.dev/badge/instructions/azure/azure-sdk-for-go/go-code/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for azure-sdk-for-go go-code.instructions.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/azure/azure-sdk-for-go/go-code"><img src="https://agentmods.dev/badge/instructions/azure/azure-sdk-for-go/go-code.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,019 This file is loaded in full into every session.
When invoked 1,019 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.01019 $0.01019
Opus 5.5 $0.00408 $0.00408
Sonnet 5.5 $0.00204 $0.00204
Haiku 4.5 $0.00102 $0.00102

Measured 21d ago against content hash 3eed7831953f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

azure-sdk-for-go go-code.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 21d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/go-code.instructions.md · 55 lines

How it starts

The opening of the file, as written. The whole thing — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.

All code should follow the guidelines from the Azure Go SDK Guidelines. This document is a summary of the most important guidelines to follow when contributing to the Azure Go SDK.

Some additional rules:

  • Acronyms are fully uppercased in every identifier a customer can see: exported types, structs, fields, functions, methods, and constants (for instance, 'id' in UserID, or 'acs' in ACSRecordedEvent), plus function and method parameter names, which appear in the published signature and godoc (userID, not userId). Casing on parameters isn't API surface, so treat it as a low-priority nit — but don't skip it, since inconsistency spreads by copy-paste. This rule does not apply to function/method locals, which customers never see, nor to string constant values.
  • All Go files should have a copyright header. The header might be after go build directives, like "//go:build go1.18"

Generated Code — DO NOT suggest changes to any of the patterns below

Generated code is identified by the header comment // Code generated by Microsoft (R) Go Code Generator.. Do not suggest any modifications to files that contain this header unless there is a clear bug that is NOT covered by the rules below. Every pattern listed here is intentional and by design.

  1. reflect.ValueOf(v).IsNil() without a kind guard is safe. All model/struct properties are generated as pointer types (*string, *int32, etc.), so IsNil() will never be called on a non-nilable kind. Do not suggest adding a kind check.

  2. strings.Index(method, ".") without a -1 guard is safe. All operation names follow the pattern XxxClient.OperationName — the dot is always present. Do not suggest adding an index check for -1.

  3. LRO initial-response status codes intentionally omit 200 OK. The initial HTTP response for a long-running operation never returns 200; only subsequent polling requests do. The fake server's 200 handler exists for polling, not for the initial call. Do not suggest adding http.StatusOK to the initial-response HasStatusCode check.

  4. Doc comments and links are copied verbatim from the API specification. Even when a comment appears incorrect, misleading, or inconsistent (e.g., a response comment mentioning the wrong type), it must not be changed in the SDK. Fixes belong in the upstream spec repo (azure-rest-api-specs). Do not suggest edits to these comments or links.

  5. Example values are copied verbatim from the API specification. Placeholder GUIDs, resource names, property values, and enum-like strings in generated example tests come directly from the spec's example definitions. Do not suggest changing them for consistency, style, or enum correctness.

  6. moduleName intentionally omits the major-version suffix. For example, the constant is "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/foo/armfoo" even when the module path is .../armfoo/v2. This is by design. Do not suggest appending the version suffix.

  7. Constant values are defined by the service team. Enum members, endpoint-type strings, and other constants are generated exactly as declared in the API spec. Do not suggest changing a constant's value for consistency or style.

    Exception — acronym casing of the identifier. Go uppercases acronyms in exported identifiers (S3WithHMAC, UserID) while most other languages do not, so these are frequently missed in the spec. Casing violations are worth flagging even in generated code, for enum and constant member names and for function parameters (userID, not userId) alike. Parameters aren't public surface, but leaving them inconsistent looks sloppy; raise those as a low-priority nit. The fix belongs upstream in azure-rest-api-specs via a client-name customization (e.g. @clientName); never suggest editing the generated file directly, since it will be overwritten. This covers the identifier only, not the string value: renaming S3WithHmac to S3WithHMAC is in scope, changing its "S3WithHmac" wire value is not.

Read the full file on GitHub · 55 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 21d ago Changed · +16 lines · +264 tokens per session 3eed7831953f
  2. 1mo ago First seen · 39 lines · 755 tokens per session scan A 6388013bc807

Subscribe to this mod's changes

azure-sdk-for-go go-code.instructions.md is an instructions file published in the GitHub repository Azure/azure-sdk-for-go (1,857 stars, last pushed today), licensed MIT. It adds 1,019 tokens to every session, about $0.0041 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,581 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,731 tokens

deno copilot-instructions.md

Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.

denoland/deno · 3,077 tokens