# Azd Publish

Prepare and publish a new version of the waza azd extension.

- Repository: https://github.com/microsoft/waza (1496 stars)
- Category: DevOps
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add microsoft/waza --skill azd-publish -g -a claude-code -y`
Codex: `npx skills add microsoft/waza --skill azd-publish -g -a codex -y`
Cursor: `npx skills add microsoft/waza --skill azd-publish -g -a cursor -y`
Gemini CLI: `npx skills add microsoft/waza --skill azd-publish -g -a gemini-cli -y`

## Description

Prepare and publish a new version of the waza azd extension. USE FOR: "publish extension", "release new version", "bump version", "prepare release", "update changelog", "azd publish", "new release", "version bump", "cut a release". DO NOT USE FOR: running evals (use waza), writing skills (use skill-authoring), CI/CD pipeline changes (edit workflow files directly).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# azd Extension Publish

> Automate version bumps, changelog updates, and PR creation for waza azd extension releases.

## When to Use

- Preparing a new release of the waza azd extension
- Bumping the version number (major, minor, or patch)
- Updating the changelog with changes since last release
- Creating a release PR for review

## Workflow

Follow these steps **in order**. Ask the user for input at each decision point.

### Step 1: Gather Changes and Update Changelog

Get the current version from `version.txt` and `extension.yaml`, then collect commits since the last release:

```bash
cat version.txt

# Find the latest azd extension version tags
git tag --list 'azd-ext-microsoft-azd-waza_*' --sort=-v:refname | head -5

# Get commits since last azd extension tag
last_tag=$(git tag --list 'azd-ext-microsoft-azd-waza_*' --sort=-v:refname | head -1)
git log "${last_tag}..HEAD" --oneline --no-decorate
```

If `version.txt` and `extension.yaml` differ, flag it to the user before proceeding.

Summarize the changes grouped by type:
- **Added**, `feat:` commits
- **Fixed**, `fix:` commits
- **Changed**, `refactor:`, `chore:`, `docs:` commits
- **Removed**, any removal-related commits

Present the summary to the user for review.

Then update `CHANGELOG.md`. The changelog follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.

Perform these updates (using a placeholder version `X.Y.Z`, the actual version is determined in Step 2):

1. **Move Unreleased content**: Move any items currently under `## [Unreleased]` into a staging area. If `[Unreleased]` is empty, populate from the git log summary gathered above.

2. **Populate from commits**: Prepare entries grouped under `### Added`, `### Fixed`, `### Changed` as appropriate based on the commits gathered above.

Hold these changelog entries, the new version section header and comparison links will be finalized after the version is determined in Step 2.

The rest: https://github.com/microsoft/waza/blob/HEAD/.github/skills/azd-publish/SKILL.md
