Add azd extensions browser with landing page, filterable gallery, and easy submission process
Feature: Azure Developer CLI Extensions Browser
Implements discoverable extension gallery mirroring template browser UX. Users can search/filter extensions by capabilities, author, and namespace with shareable URLs. Extension authors can easily submit their extensions through a streamlined process.
Changes
Data & Types
extensions.json: 6 official extensions from Azure/azure-dev registry + 2 community examplesextensions.tsx: Data layer with filtering utilities and capability metadatatags.tsx: AddedExtensiontype and extension tags (official,featured)
Pages
/extensions: Landing page with capability showcase, featured extensions grid, alpha feature notice, getting started guide, and "Submit Your Extension" section/extensions/gallery: Searchable gallery with sidebar filters (capabilities: custom-commands, lifecycle-events, service-target-provider, mcp-server; authors: Microsoft, Community)
Components
ExtensionCard: Shows namespace, version, capabilities badges, install command with copy-to-clipboard, expandable usage examples- Navbar: Added Extensions link
Extension Submission Process
/docs/submit-extension: Comprehensive submission guide with step-by-step instructions, alpha feature setup requirements, JSON examples, best practices, and review timeline.github/ISSUE_TEMPLATE/submit-extension.md: Pre-filled GitHub issue template for easy extension submission- Submit buttons: Added to hero section and "Share Your Extension" section on landing page
- Sidebar navigation: Added submit-extension doc to Contribute section
Tests
extension_tags_match.test.ts: Validates tags, required fields, unique IDs, namespace format (5 new tests, all passing)
Documentation
EXTENSIONS.md: Complete specification with data model, architecture, and future enhancementssubmit-extension.md: Extension author submission guide with two options (Quick Submit via issue template or Pull Request)
Code Quality
- Fixed typo: "an new" → "a new" in extensions.json
- Removed unused imports:
CardPreview,useDocusaurusContext,useBaseUrl,Tags - Removed unused variable:
siteConfig
Alpha Feature Requirements
Extensions are currently an alpha feature in azd. The landing page and submission guide now prominently display setup instructions:
Required one-time setup:
# Enable alpha features
azd config set alpha.extensions on
# Add extension registry
azd extension source add -n azd -t url -l "https://aka.ms/azd/extensions/registry"
This information is presented in:
- Landing page: Highlighted notice box before "Getting Started" section
- Submission guide: Dedicated "Important: Extensions are Currently in Alpha" section with detailed setup steps
Extension Author Submission Process
Quick Submit (Recommended):
- Complete alpha feature setup (one-time)
- Click "Submit Your Extension" button on landing page
- Fill out pre-formatted GitHub issue template
- Wait for review (1-2 business days)
- Extension added to gallery after approval
Key Features:
- ✅ Simple: Just fill out a form, no complex setup
- ✅ Fast: Review within 1-2 business days, testing in 2-3 days
- ✅ Clear: Detailed guide with minimal and full-featured JSON examples
- ✅ Accessible: Multiple entry points (hero button, contribute section, docs sidebar)
- ✅ Transparent: Alpha status and setup requirements clearly communicated
Example Usage
Users can filter to lifecycle-events extensions:
/extensions/gallery?capabilities=lifecycle-events
Each card displays:
@namespace v1.0.0
azd extension install <namespace> [Copy]
Screenshots
Landing Page with Alpha Feature Notice:
Extension Submission Guide:
Gallery with Filters:
Build: ✅ Clean
Tests: ✅ 17/17 passing
Security: ✅ CodeQL 0 alerts
- Fixes Azure/awesome-azd#670
Original prompt
This section details on the original issue you should resolve
<issue_title>Azd extension browser</issue_title> <issue_description>Add a complete e2e feature that allows people to easily discover azd extensions. Contributors and submit individual extension registries and the process discovers the included extensions. There will be an extensions tab on the website where people can filter by extension capabilities, author, name, namespace and other properties from the extension.yaml. You can find all details about extensions in below docs. Have an /extensions landing page that is a marketing site that describes the power and capabilities of extensions and lists the featured extensions.
Think about other ideas for how we can integrate extensions into this gallery.
Each card should show the commands to instruct the user on how to install and use the extensions.
https://github.com/Azure/azure-dev/blob/main/cli/azd/docs/extension-framework.md
https://github.com/Azure/azure-dev/blob/main/cli/azd/docs/extension-framework-services.md
Create a spec and then implement it.</issue_description>
Comments on the Issue (you are @copilot in this section)
- Fixes Azure/awesome-azd#670
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
@copilot document the azd extension author process for getting their extension listed in gallery. Make the process very easy.
@copilot document the azd extension author process for getting their extension listed in gallery. Make the process very easy.
Added comprehensive extension author documentation with a very simple submission process:
Quick Submit (Recommended):
- Click "Submit Your Extension" button → fills out GitHub issue template → review in 1-2 days → live in gallery
What's Included:
- Submission guide at
/docs/submit-extensionwith step-by-step instructions, JSON examples, and best practices - GitHub issue template (
.github/ISSUE_TEMPLATE/submit-extension.md) with pre-filled form - Easy access: Submit button in hero, "Share Your Extension" section on landing page, docs in sidebar
- Fast review: 1-2 business days for initial review, 2-3 days for testing
See screenshots in PR description showing the new submit button and documentation page.
Commit: e77a143
@copilot Make sure the user knows they have to enable the alpha extension feature and add the appropriate registry.
@copilot Make sure the user knows they have to enable the alpha extension feature and add the appropriate registry.
Added prominent alpha feature notice and setup instructions:
Landing Page:
- Yellow highlighted notice box before "Getting Started" section
- Shows required commands to enable alpha features and add registry
- Clear note that setup is only needed once per installation
Submission Guide:
- Dedicated "Important: Extensions are Currently in Alpha" section
- Step-by-step setup commands with explanations
- Includes both official and dev registry options
Users now see the alpha requirements immediately when visiting the extensions page.
Commit: c23b21c