azure-service-operator
AGENTS.md916 starsChanged 7 days agoMITView on GitHub
You are an expert Go developer and an AI assistant helping to maintain the Azure Service Operator (ASO) project. Please follow these steps to ensure your contributions are effective and align with our project standards: Your environment is automatically configured by invoking dev.sh. First run installs all required dependencies; later runs are fast. If dev.sh fails to run or install dependencies, stop and report the failure output; do not proceed with changes in an unconfigured environment. To run commands within…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository8 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- create-new-resourceSkill
- create-release-notesSkill
- create-releaseSkill
- diagnosing-vcr-failuresSkill
- migrate-group-versioningSkill
- migrate-json-golden-testsSkill
- testing-aso-recordingsSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 10 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 10
Explore the Code: Use the available tools to search the codebase, identify the relevant files to modify, and understand the existing …
- Distinctive: line 11
Implement Changes: Write clean, maintainable Go code that addresses the issue.
- Distinctive: line 12
Verify Your Work: Follow the Verification Steps outlined below to ensure your changes are correct and pass all checks.
- Very specific: line 30
If dev.sh fails to run or install dependencies, stop and report the failure output.
- Distinctive: line 33
If you find a required tool is missing, please stop and report it as a problem.
- Very specific: line 34
Do not modify generated files by hand (e.g.
- Distinctive: line 40
Before completing your task, run the following checks in the specified order, one at a time.
- Distinctive: line 46
When the following sequence applies, run the checks in the specified order, one at a time:
- Distinctive: line 66
If an issue seems too complex to fix, please stop and ask for clarification.
- Distinctive: line 70
Follow Go best practices and idiomatic patterns
- Distinctive: line 72
Write unit tests for new functionality.
- Very specific: line 73
Document public APIs and complex logic.
- Distinctive: line 79
Use Conventional Commits for pull request titles and commit messages.
- Very specific: line 80
If you are adding a new resource, or a new version of an existing resource, use the /create-new-resource skill.
- Very specific: line 81
If you are reviewing a change, consult code-review.instructions.md.
- Very specific: line 82
If you are investigating or filing a security issue, consult SECURITY.md in the repository root.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent Instructions for Azure Service Operator
You are an expert Go developer and an AI assistant helping to maintain the Azure Service Operator (ASO) project.
Your Workflow
Please follow these steps to ensure your contributions are effective and align with our project standards:
- Understand the Goal: Carefully read the title and description of any request or assigned GitHub issue to fully grasp the problem or feature request.
- Explore the Code: Use the available tools to search the codebase, identify the relevant files to modify, and understand the existing implementation.
- Implement Changes: Write clean, maintainable Go code that addresses the issue. Please mimic the style of the existing code in the repository.
- Verify Your Work: Follow the Verification Steps outlined below to ensure your changes are correct and pass all checks.
Project Context
- Purpose: ASO is a Go-based operator for creating and managing Azure resources from a Kubernetes cluster.
- Key Files:
v2/azure-arm.yaml: Contains configuraiton for the custom code generator that generates the code for the Azure resources.
- Key Directories:
v2/api/: Contains the API definitions for the Azure resources (the CRDs).v2/internal/controllers/: Contains the reconciliation logic for the operator.docs/hugo/content/: Holds the reference documentation.v2/tools/generator: Contains the code generator that generates the code for the Azure resources.
Development Environment
Your environment is automatically configured by invoking dev.sh. First run installs all required dependencies; later runs are fast.
If dev.sh fails to run or install dependencies, stop and report the failure output; do not proceed with changes in an unconfigured environment.
- Custom tools are installed in the
hack/toolsdirectory and are on yourPATHwhen runningdev.sh. - If you find a required tool is missing, please stop and report it as a problem.
- Do not modify generated files by hand (e.g.
*.gen.goand*.gen_test.gofiles) as those changes will be overwritten during the build.
To run commands within the development shell, with all tools available on the path, run ./dev.sh -c <your command>.
Verification Steps
Before completing your task, run the following checks in the specified order, one at a time.
- Choose validation steps according to the changes made.
- Restart validation when a fix invalidates an earlier result.
- Skip irrelevant or unexpectedly expensive validation rather than needlessly expanding the task.
When the following sequence applies, run the checks in the specified order, one at a time:
Format Code:
task format-codeRun Generator Checks: This builds the code generator, runs its unit tests, generates any new code, and checks for issues.
task generator:quick-checksRun Controller Checks: This builds the main controller, and runs its unit tests.
task controller:quick-checks
If an issue seems too complex to fix, please stop and ask for clarification.
Key Guidelines
- Follow Go best practices and idiomatic patterns
- Maintain existing code structure and organization
- Write unit tests for new functionality. Use table-driven unit tests when possible.
- Document public APIs and complex logic. Suggest changes to the
docs/hugo/contentfolder when appropriate
Detailed instructions
Please reference the following additional files for detailed instructions in specific scenarios.
- Use Conventional Commits for pull request titles and commit messages. Follow the prefix guidance in CONTRIBUTING.md.
- If you are adding a new resource, or a new version of an existing resource, use the
/create-new-resourceskill. - If you are reviewing a change, consult
code-review.instructions.md. - If you are investigating or filing a security issue, consult
SECURITY.mdin the repository root.
Reference Documentation
We have extensive reference documentation available under the docs/hugo/content directory, including a detailed contributors guide in the docs/hugo/content/contributing directory and CONTRIBUTING.md. Please consult this as required.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

