MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Azure-Static-Web-Apps

Azure-Static-Web-Apps是一款engineering方向的AI技能,核心价值是Helps create, configure, and deploy Azure Static Web Apps using the SWA CLI,可用于解决开发者在engineering领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Helps create, configure, and deploy Azure Static Web Apps using the SWA CLI. Use when deploying static sites to Azure, setting up SWA local development, configuring staticwebapp.config.json, adding Az

Last verified on: 2026-05-30
mkdir -p ./skills/azure-static-web-apps && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/azure-static-web-apps/SKILL.md -o ./skills/azure-static-web-apps/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

Overview


Azure Static Web Apps (SWA) hosts static frontends with optional serverless API backends. The SWA CLI (`swa`) provides local development emulation and deployment capabilities.


**Key features:**

- Local emulator with API proxy and auth simulation

- Framework auto-detection and configuration

- Direct deployment to Azure

- Database connections support


**Config files:**

- `swa-cli.config.json` - CLI settings, **created by `swa init`** (never create manually)

- `staticwebapp.config.json` - Runtime config (routes, auth, headers, API runtime) - can be created manually


General Instructions


Installation


bash
npm install -D @azure/static-web-apps-cli

Verify: `npx swa --version`


Quick Start Workflow


**IMPORTANT: Always use `swa init` to create configuration files. Never manually create `swa-cli.config.json`.**


1. `swa init` - **Required first step** - auto-detects framework and creates `swa-cli.config.json`

2. `swa start` - Run local emulator at `http://localhost:4280`

3. `swa login` - Authenticate with Azure

4. `swa deploy` - Deploy to Azure


Configuration Files


**swa-cli.config.json** - Created by `swa init`, do not create manually:

- Run `swa init` for interactive setup with framework detection

- Run `swa init --yes` to accept auto-detected defaults

- Edit the generated file only to customize settings after initialization


Example of generated config (for reference only):

json
{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "app": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "appBuildCommand": "npm run build",
      "run": "npm run dev",
      "appDevserverUrl": "http://localhost:3000"
    }
  }
}

**staticwebapp.config.json** (in app source or output folder) - This file CAN be created manually for runtime configuration:

json
{
  "navigationFallback": {
    "rewrite": "/index.html",
    "exclude": ["/images/*", "/css/*"]
  },
  "routes": [
    { "route": "/api/*", "allowedRoles": ["authenticated"] }
  ],
  "platform": {
    "apiRuntime": "node:20"
  }
}

Command-line Reference


swa login


Authenticate with Azure for deployment.


bash
swa login                              # Interactive login
swa login --subscription-id <id>       # Specific subscription
swa login --clear-credentials          # Clear cached credentials

**Flags:** `--subscription-id, -S` | `--resource-group, -R` | `--tenant-id, -T` | `--client-id, -C` | `--client-secret, -CS` | `--app-name, -n`


swa init


Configure a new SWA project based on an existing frontend and (optional) API. Detects frameworks automatically.


bash
swa init                    # Interactive setup
swa init --yes              # Accept defaults

swa build


Build frontend and/or API.


bash
swa build                   # Build using config
swa build --auto            # Auto-detect and build
swa build myApp             # Build specific configuration

**Flags:** `--app-location, -a` | `--api-location, -i` | `--output-location, -O` | `--app-build-command, -A` | `--api-build-command, -I`


swa start


Start local development emulator.


bash
swa start                                    # Serve from outputLocation
swa start ./dist                             # Serve specific folder
swa start http://localhost:3000              # Proxy to dev server
swa start ./dist --api-location ./api        # With API folder
swa start http://localhost:3000 --run "npm start"  # Auto-start dev server

**Common framework ports:**

| Framework | Port |

|-----------|------|

| React/Vue/Next.js | 3000 |

| Angular | 4200 |

| Vite | 5173 |


**Key flags:**

- `--port, -p` - Emulator port (default: 4280)

- `--api-location, -i` - API folder path

- `--api-port, -j` - API port (default: 7071)

- `--run, -r` - Command to start dev server

- `--open, -o` - Open browser automatically

- `--ssl, -s` - Enable HTTPS


swa deploy


Deploy to Azure Static

🎯 Best For

  • Claude users
  • GitHub Copilot users
  • AI users

💡 Use Cases

  • Using Azure-Static-Web-Apps in daily workflow
  • Automating repetitive engineering tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Azure-Static-Web-Apps to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Azure-Static-Web-Apps?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/azure-static-web-apps/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills