awesome-azd icon indicating copy to clipboard operation
awesome-azd copied to clipboard

Add azd extensions browser with landing page, filterable gallery, and easy submission process

Open Copilot opened this issue 1 month ago • 4 comments

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 examples
  • extensions.tsx: Data layer with filtering utilities and capability metadata
  • tags.tsx: Added Extension type 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 enhancements
  • submit-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):

  1. Complete alpha feature setup (one-time)
  2. Click "Submit Your Extension" button on landing page
  3. Fill out pre-formatted GitHub issue template
  4. Wait for review (1-2 business days)
  5. 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 avatar Nov 09 '25 10:11 Copilot

@copilot document the azd extension author process for getting their extension listed in gallery. Make the process very easy.

jongio avatar Nov 09 '25 10:11 jongio

@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-extension with 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 avatar Nov 09 '25 11:11 Copilot

@copilot Make sure the user knows they have to enable the alpha extension feature and add the appropriate registry.

jongio avatar Nov 09 '25 12:11 jongio

@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

Alpha Notice

Copilot avatar Nov 09 '25 12:11 Copilot