setup-dotnet-azure-sitelisted
Install: claude install-skill MaskedControl/skills
# Setup .NET Azure Deployment Site
## Overview
Creates a complete new deployment environment (staging, QA, demo) for an existing .NET
Azure-hosted app by analyzing production, provisioning the right Azure resources, detecting or
creating GitHub Actions CI/CD, and wiring up per-environment secrets.
**Core principle:** Share what can be shared; skip what staging doesn't need. New databases can
live on the existing production SQL server — no new server cost. Communication and email services
can be referenced cross-resource-group at no extra cost. Data Factory and alert rules are almost
never needed in staging.
## Prerequisites
Before starting, confirm:
- `az login` — Azure CLI authenticated
- `gh auth login` — GitHub CLI authenticated
- Contributor access on the Azure subscription
- Admin access on the GitHub repository
## Phase 1: Gather Information
Ask the user for these inputs upfront:
| Input | Example | Used for |
|-------|---------|----------|
| Environment name | `staging`, `qa`, `demo` | Naming all resources |
| Production resource group | `myapp-prod-rg` | Analysis source |
| GitHub repo | `owner/repo` | Branch + workflow |
| Base branch | `main`, `master` | Starting point for new branch |
| New branch name | `staging` | CI/CD trigger (must match GitHub Environment name exactly) |
| Azure region | `australiaeast`, `eastus` | Resource location |
| App Service Plan tier | `B1` (default), `B2`, `S1` | Cost vs performance |
| .NET version | `8`, `9` | Runtime for Ap