Azure / Azure/azure-dev

azd tool: add extension mechanism for tool manifest contributions

Open
#8,043 0 comments 0 reactions 0 assignees View on GitHub
area/tools epic
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

## Summary

The tool `Manager` hardcodes its manifest to `BuiltInTools()`. There is no mechanism for:
- Projects to declare tool requirements in `azure.yaml`
- Users to register custom tools via `azd config`
- Extensions to contribute tools programmatically

## Proposal

Accept `manifest []*ToolDefinition` as a parameter to `NewManager` (it already stores it as a field). Add a `WithAdditionalTools(...)` option or merge function. This preserves the built-in list as the default while enabling composition from project config, user config, or extensions.

## Acceptance Criteria

- [ ] `NewManager` accepts an extensible manifest source
- [ ] Built-in tools remain the default when no additional sources are provided
- [ ] Extension point documented for future project-level and user-level tool declarations

## Related

- Epic: #7845
- PR: #7450

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.