developing-azure-apps-locallylisted
Install: claude install-skill alexpizarro/azure-lean-stack-skills
# Developing Azure Apps Locally
Run the whole app on `localhost` — API + SQL + blob storage — with **no dependency on Azure**. This is the local "try" tier of the deployment model: **local (`main`) → `test` → `production`**.
`main` is never connected to an Azure environment. You iterate locally against an offline stack, then promote to `test` (and later `production`) via the branch-per-environment flow. See [orchestrating-azure-deployments](../orchestrating-azure-deployments/SKILL.md) Architecture Decision #0.
## When to use which local mode
| Mode | Command | Use for |
|------|---------|---------|
| **Fully offline** (this skill) | `bash scripts/up.sh` then `npm start` + `npm run dev` | Backend work, schema changes, fast iteration, no Azure cost |
| **Frontend against live test backend** | `cd frontend && npm run dev:test` | UI-only work that needs real test data; no local API/SQL |
Prefer fully-offline for anything touching the API, SQL, or storage.
## The offline stack
- **SQL Server 2022** in Docker (`mcr.microsoft.com/mssql/server:2022-latest`) — the same engine Azure SQL is built on. "Serverless" is an Azure *compute tier*, not a local concept; the T-SQL engine is identical, so migrations and queries behave the same locally as in Azure.
- **Azurite** (`mcr.microsoft.com/azure-storage/azurite`) — local Azure Blob emulator. Blobs stream from `http://127.0.0.1:10000` instead of Azure Storage.
Both run from [templates/docker-compose.yml](templates/docker-compose.yml