Azure / Azure/azure-dev

[EPIC] Getting Started: one-command setup

Open
#7,676 1 comment 0 reactions 0 assignees View on GitHub
area/core-cli epic
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

## Problem statement

The Azure developer toolkit is rich with powerful tools for AI, infrastructure, deployment, and more. Right now, getting started means visiting several docs pages and using multiple package managers to assemble the right set of tools. We're adding a single-entry point that answers: *What do I have? What do I need? How do I get it?* so that developers spend less time on setup and more time building.

## Vision

`azd tool` is the unified entry point for the Azure developer toolkit. One command to discover every tool in the ecosystem, install what's missing, and keep everything current. New developers get a guided first-run experience that takes them from zero to ready-to-build. Experienced developers discover new tools in-flow. Platform engineers script it for teams.

## Who this helps

- **New Azure developers**: Install azd, run `azd tool`, and get a guided walkthrough of recommended tools. Pick what you need, everything installs, and you're building in minutes.
- **Experienced Azure developers**: Run `azd tool` and discover new AI extensions and tools in-flow. Install them in one step without leaving your workflow.
- **Platform engineers**: Run `azd tool install az-cli github-copilot-cli azd-ai-extensions --no-prompt` in a setup script. Reproducible across workstations. Scriptable.

## Goals (in scope)

- Ship `azd tool` command group: `list`, `install`, `uninstall`, `update`, `check`
- First-run guided experience that detects installed tools, recommends missing ones, and walks new developers through setup
- VS Code extension discovery and install support (marketplace integration)
- Progressive disclosure: essentials first (azd + az CLI + Copilot CLI), then AI tools, then advanced tooling
- Leverage native package managers (winget, brew, apt); azd orchestrates, not replaces
- Tool manifest system for curated, versioned tool definitions
- Showcase-ready "Getting Started" one-command setup experience

## Non-goals (out of scope)

- Building a package manager; we orchestrate native installers, not replace them
- Managing non-developer tools or Azure infrastructure resources
- Auto-installing tools without explicit developer consent
- Supporting every tool in the Azure ecosystem; the toolkit is curated and opinionated

## Success criteria

- [ ] `azd tool list` shows available, installed, and outdated tools across all categories
- [ ] `azd tool install ` works on Windows (winget), macOS (brew), and Linux (apt)
- [ ] First-run guided experience completes in under 5 minutes for a new developer
- [ ] VS Code extensions can be discovered and install-triggered from the CLI
- [ ] `azd tool` works non-interactively with `--no-prompt` for CI/scripting use cases
- [ ] "Getting Started with AI on Azure" page is streamlined to a single paragraph with `azd tool` as the entry point
- [ ] Tool manifest supports versioning and update detection
- [ ] `azd tool` adoption rate is tracked and growing

## Dependencies

- **Native package managers**: Depends on winget, Homebrew, and apt being available on target platforms. No control over their availability or behavior.
- **VS Code marketplace**: Extension discovery/install requires marketplace API access
- **Tool manifest curation**: Requires ongoing investment to keep the tool catalog current and accurate
- **Auto-updates epic**: `azd tool update` should feel cohesive with `azd update`

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.