agentleFS
Microsoft AzureKnown publisherAzure/azure-service-operator/AGENTS.md

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…

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
  1. Distinctive:

    Explore the Code: Use the available tools to search the codebase, identify the relevant files to modify, and understand the existing …

    line 10
  2. Distinctive:

    Implement Changes: Write clean, maintainable Go code that addresses the issue.

    line 11
  3. Distinctive:

    Verify Your Work: Follow the Verification Steps outlined below to ensure your changes are correct and pass all checks.

    line 12
  4. Very specific:

    If dev.sh fails to run or install dependencies, stop and report the failure output.

    line 30
  5. Distinctive:

    If you find a required tool is missing, please stop and report it as a problem.

    line 33
  6. Very specific:

    Do not modify generated files by hand (e.g.

    line 34
  7. Distinctive:

    Before completing your task, run the following checks in the specified order, one at a time.

    line 40
  8. Distinctive:

    When the following sequence applies, run the checks in the specified order, one at a time:

    line 46
  9. Distinctive:

    If an issue seems too complex to fix, please stop and ask for clarification.

    line 66
  10. Distinctive:

    Follow Go best practices and idiomatic patterns

    line 70
  11. Distinctive:

    Write unit tests for new functionality.

    line 72
  12. Very specific:

    Document public APIs and complex logic.

    line 73
  13. Distinctive:

    Use Conventional Commits for pull request titles and commit messages.

    line 79
  14. Very specific:

    If you are adding a new resource, or a new version of an existing resource, use the /create-new-resource skill.

    line 80
  15. Very specific:

    If you are reviewing a change, consult code-review.instructions.md.

    line 81
  16. Very specific:

    If you are investigating or filing a security issue, consult SECURITY.md in the repository root.

    line 82

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

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:

  1. Understand the Goal: Carefully read the title and description of any request or assigned GitHub issue to fully grasp the problem or feature request.
  2. Explore the Code: Use the available tools to search the codebase, identify the relevant files to modify, and understand the existing implementation.
  3. Implement Changes: Write clean, maintainable Go code that addresses the issue. Please mimic the style of the existing code in the repository.
  4. 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/tools directory and are on your PATH when running dev.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.go and *.gen_test.go files) 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:

  1. Format Code:

    task format-code
  2. Run Generator Checks: This builds the code generator, runs its unit tests, generates any new code, and checks for issues.

    task generator:quick-checks
  3. Run 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

  1. Follow Go best practices and idiomatic patterns
  2. Maintain existing code structure and organization
  3. Write unit tests for new functionality. Use table-driven unit tests when possible.
  4. Document public APIs and complex logic. Suggest changes to the docs/hugo/content folder 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-resource skill.
  • If you are reviewing a change, consult code-review.instructions.md.
  • If you are investigating or filing a security issue, consult SECURITY.md in 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.