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.
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.
curl -O https://raw.githubusercontent.com/Azure/azure-sdk-for-go/main/.github/instructions/go-code.instructions.mdgit clone --depth 1 https://github.com/Azure/azure-sdk-for-goWrote 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.
[](https://agentmods.dev/instructions/azure/azure-sdk-for-go/go-code)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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' inACSRecordedEvent), plus function and method parameter names, which appear in the published signature and godoc (userID, notuserId). 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.
-
reflect.ValueOf(v).IsNil()without a kind guard is safe. All model/struct properties are generated as pointer types (*string,*int32, etc.), soIsNil()will never be called on a non-nilable kind. Do not suggest adding a kind check. -
strings.Index(method, ".")without a-1guard is safe. All operation names follow the patternXxxClient.OperationName— the dot is always present. Do not suggest adding an index check for-1. -
LRO initial-response status codes intentionally omit
200 OK. The initial HTTP response for a long-running operation never returns200; only subsequent polling requests do. The fake server's200handler exists for polling, not for the initial call. Do not suggest addinghttp.StatusOKto the initial-responseHasStatusCodecheck. -
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. -
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.
-
moduleNameintentionally 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. -
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, notuserId) alike. Parameters aren't public surface, but leaving them inconsistent looks sloppy; raise those as a low-priority nit. The fix belongs upstream inazure-rest-api-specsvia 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: renamingS3WithHmactoS3WithHMACis in scope, changing its"S3WithHmac"wire value is not.
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.
- 21d ago Changed · +16 lines · +264 tokens per session 3eed7831953f
- 1mo ago First seen · 39 lines · 755 tokens per session scan A 6388013bc807
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.
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).
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.
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).
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.
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).
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.