Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions cli/azd/.github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,19 @@ All Go files must include Microsoft copyright header:
// Licensed under the MIT License.
```

## Extensions Development

### Building Extensions
Extensions are located in `extensions/` directory and use the extension framework:
```bash
# Build and install extension (example using demo extension)
cd extensions/microsoft.azd.demo
azd x build

# Test extension (using extension's namespace from extension.yaml)
azd demo <command>
```

## MCP Tools Development

### Tool Pattern
Expand Down
103 changes: 102 additions & 1 deletion cli/azd/docs/extension-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -1114,7 +1114,7 @@ The following are a list of available gRPC services for extension developer to i

### Project Service

This service manages project configuration retrieval and related operations.
This service manages project configuration retrieval and related operations, including project and service-level configuration management.

> See [project.proto](../grpc/proto/project.proto) for more details.

Expand All @@ -1141,6 +1141,107 @@ Adds a new service to the project.
- `service`: _ServiceConfig_
- **Response:** _EmptyResponse_

#### GetConfigSection

Retrieves a project configuration section by path from AdditionalProperties.

- **Request:** _GetProjectConfigSectionRequest_
- `path` (string): Dot-notation path to the config section
- **Response:** _GetProjectConfigSectionResponse_
- Contains:
- `section` (google.protobuf.Struct): The configuration section
- `found` (bool): Whether the section exists

#### SetConfigSection

Sets a project configuration section at the specified path in AdditionalProperties.

- **Request:** _SetProjectConfigSectionRequest_
- `path` (string): Dot-notation path to the config section
- `section` (google.protobuf.Struct): The configuration section to set
- **Response:** _EmptyResponse_

#### GetConfigValue

Retrieves a single project configuration value by path from AdditionalProperties.

- **Request:** _GetProjectConfigValueRequest_
- `path` (string): Dot-notation path to the config value
- **Response:** _GetProjectConfigValueResponse_
- Contains:
- `value` (google.protobuf.Value): The configuration value
- `found` (bool): Whether the value exists

#### SetConfigValue

Sets a single project configuration value at the specified path in AdditionalProperties.

- **Request:** _SetProjectConfigValueRequest_
- `path` (string): Dot-notation path to the config value
- `value` (google.protobuf.Value): The configuration value to set
- **Response:** _EmptyResponse_

#### UnsetConfig

Removes a project configuration value or section at the specified path from AdditionalProperties.

- **Request:** _UnsetProjectConfigRequest_
- `path` (string): Dot-notation path to the config to remove
- **Response:** _EmptyResponse_

#### GetServiceConfigSection

Retrieves a service configuration section by path from service AdditionalProperties.

- **Request:** _GetServiceConfigSectionRequest_
- `service_name` (string): Name of the service
- `path` (string): Dot-notation path to the config section
- **Response:** _GetServiceConfigSectionResponse_
- Contains:
- `section` (google.protobuf.Struct): The configuration section
- `found` (bool): Whether the section exists

#### SetServiceConfigSection

Sets a service configuration section at the specified path in service AdditionalProperties.

- **Request:** _SetServiceConfigSectionRequest_
- `service_name` (string): Name of the service
- `path` (string): Dot-notation path to the config section
- `section` (google.protobuf.Struct): The configuration section to set
- **Response:** _EmptyResponse_

#### GetServiceConfigValue

Retrieves a single service configuration value by path from service AdditionalProperties.

- **Request:** _GetServiceConfigValueRequest_
- `service_name` (string): Name of the service
- `path` (string): Dot-notation path to the config value
- **Response:** _GetServiceConfigValueResponse_
- Contains:
- `value` (google.protobuf.Value): The configuration value
- `found` (bool): Whether the value exists

#### SetServiceConfigValue

Sets a single service configuration value at the specified path in service AdditionalProperties.

- **Request:** _SetServiceConfigValueRequest_
- `service_name` (string): Name of the service
- `path` (string): Dot-notation path to the config value
- `value` (google.protobuf.Value): The configuration value to set
- **Response:** _EmptyResponse_

#### UnsetServiceConfig

Removes a service configuration value or section at the specified path from service AdditionalProperties.

- **Request:** _UnsetServiceConfigRequest_
- `service_name` (string): Name of the service
- `path` (string): Dot-notation path to the config to remove
- **Response:** _EmptyResponse_

---

### Environment Service
Expand Down
Loading
Loading