Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Prepare applications for Azure deployment by generating infrastructure code, Dockerfiles, and config files.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/research.md
1# Research Components23After architecture planning, research each selected component to gather best practices before generating artifacts.45## Process671. **Identify Components** — List all Azure services from architecture plan82. **Load Service References** — For each service, load `services/<service>/README.md` first, then specific references as needed93. **Check Resource Naming Rules** — For each resource type, check [resource naming rules](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules) for valid characters, length limits, and uniqueness scopes104. **Load Recipe References** — Load the selected recipe's guide (e.g., [AZD](recipes/azd/README.md)) and its IAC rules, MCP best practices, and schema tools listed in its "Before Generation" table115. **Check Region Availability** — Verify all selected services are available in the target region per [region-availability.md](region-availability.md)126. **Check Provisioning Limits** — Invoke **azure-quotas** skill to validate that the selected subscription and region have sufficient quota/capacity for all planned resources. Complete [Step 6 of the plan template](plan-template.md#6-provisioning-limit-checklist) in two phases: (1) prepare resource inventory with deployment quantities, (2) fetch quotas and validate capacity using azure-quotas skill137. **Load Runtime References** — For containerized apps, load language-specific production settings (e.g., [Node.js](runtimes/nodejs.md))148. **Invoke Related Skills** — For deeper guidance, invoke mapped skills from the table below159. **Document Findings** — Record key insights in `.azure/deployment-plan.md`1617## Service-to-Reference Mapping1819| Azure Service | Reference | Related Skills |20|---------------|-----------|----------------|21| **Hosting** | | |22| Container Apps | [Container Apps](services/container-apps/README.md) | `azure-diagnostics`, `azure-observability`, `azure-nodejs-production` |23| App Service | [App Service](services/app-service/README.md) | `azure-diagnostics`, `azure-observability`, `azure-nodejs-production` |24| Azure Functions | [Functions](services/functions/README.md) | — |25| Static Web Apps | [Static Web Apps](services/static-web-apps/README.md) | — |26| AKS | [AKS](services/aks/README.md) | `azure-networking` |27| **Data** | | |28| Azure SQL | [SQL Database](services/sql-database/README.md) | — |29| Cosmos DB | [Cosmos DB](services/cosmos-db/README.md) | — |30| PostgreSQL | — | — |31| Storage (Blob/Files) | [Storage](services/storage/README.md) | `azure-storage` |32| **Messaging** | | |33| Service Bus | [Service Bus](services/service-bus/README.md) | — |34| Event Grid | [Event Grid](services/event-grid/README.md) | — |35| Event Hubs | — | — |36| **Integration** | | |37| API Management | [APIM](apim.md) | `azure-aigateway` (invoke for AI Gateway policies) |38| Logic Apps | [Logic Apps](services/logic-apps/README.md) | — |39| **Workflow & Orchestration** | | |40| Durable Functions | [Durable Functions](services/functions/durable.md), [Durable Task Scheduler](services/durable-task-scheduler/README.md) | — |41| Durable Task Scheduler | [Durable Task Scheduler](services/durable-task-scheduler/README.md) | — |42| **Security & Identity** | | |43| Key Vault | [Key Vault](services/key-vault/README.md) | `azure-keyvault-expiration-audit` |44| Managed Identity | — | `entra-app-registration` |45| **Observability** | | |46| Application Insights | [App Insights](services/app-insights/README.md) | `appinsights-instrumentation` (invoke for instrumentation) |47| Log Analytics | — | `azure-observability`, `azure-kusto` |48| **AI Services** | | |49| Azure OpenAI | [Foundry](services/foundry/README.md) | `microsoft-foundry` (invoke for AI patterns and model guidance) |50| AI Search | — | `azure-ai` (invoke for search configuration) |5152## Research Instructions5354### Step 1: Load Internal References (Progressive Loading)5556For each selected service, load the README.md first, then load specific files as needed:5758```59Selected: Container Apps, Cosmos DB, Key Vault6061→ Load: services/container-apps/README.md (overview)62→ If need Bicep: services/container-apps/bicep.md63→ If need Terraform: services/container-apps/terraform.md64→ If need scaling: services/container-apps/scaling.md65→ If need health probes: services/container-apps/health-probes.md6667→ Load: services/cosmos-db/README.md (overview)68→ If need partitioning: services/cosmos-db/partitioning.md69→ If need SDK: services/cosmos-db/sdk.md7071→ Load: services/key-vault/README.md (overview)72→ If need SDK: services/key-vault/sdk.md73```7475### Step 2: Invoke Related Skills (When Deeper Guidance Needed)7677Invoke related skills for specialized scenarios:7879| Scenario | Action |80|----------|--------|81| **Using GitHub Copilot SDK** | **Invoke `azure-hosted-copilot-sdk`** (scaffold + config, then resume azure-prepare) |82| Using Azure Functions | Stay in **azure-prepare** — load [selection.md](services/functions/templates/selection.md) → Follow [composition.md](services/functions/templates/recipes/composition.md) algorithm |83| PostgreSQL with passwordless auth | Handle directly without a separate skill |84| Need detailed security hardening | Handle directly with service-specific security guidance and platform best practices |85| Setting up App Insights instrumentation | `appinsights-instrumentation` |86| Building AI applications | `microsoft-foundry` |87| Cost-sensitive deployment | `azure-cost` |8889**Skill/Reference Invocation Pattern:**9091For **Azure Functions**:921. Load: [selection.md](services/functions/templates/selection.md) (decision tree)932. Follow: [composition.md](services/functions/templates/recipes/composition.md) (algorithm)943. Result: Base template + recipe composition (never synthesize IaC)9596For **PostgreSQL**:971. Handle passwordless auth patterns directly without a separate skill9899### Step 3: Document in Plan100101Add research findings to `.azure/deployment-plan.md` under a `## Research Summary` section with source references and key insights per component.102103## Common Research Patterns104105### Web Application + API + Database (Cosmos DB)1061071. Load: [services/container-apps/README.md](services/container-apps/README.md) → [bicep.md](services/container-apps/bicep.md) or [terraform.md](services/container-apps/terraform.md), [scaling.md](services/container-apps/scaling.md)1082. Load: [services/cosmos-db/README.md](services/cosmos-db/README.md) → [partitioning.md](services/cosmos-db/partitioning.md)1093. Load: [services/key-vault/README.md](services/key-vault/README.md)1104. Invoke: `azure-observability` (monitoring setup)1115. Review service-specific security guidance directly before generation112113### Container Apps + API + SQL Database1141151. Load: [services/container-apps/README.md](services/container-apps/README.md) → [bicep.md](services/container-apps/bicep.md) or [terraform.md](services/container-apps/terraform.md), [scaling.md](services/container-apps/scaling.md)1162. Load: [services/sql-database/README.md](services/sql-database/README.md) → [bicep.md](services/sql-database/bicep.md), [auth.md](services/sql-database/auth.md)1173. Load: [services/key-vault/README.md](services/key-vault/README.md)1184. Review [auth.md](services/sql-database/auth.md) directly for Entra-only auth configuration119120### App Service + API + SQL Database1211221. Load: [services/app-service/README.md](services/app-service/README.md) → [bicep.md](services/app-service/bicep.md)1232. Load: [services/sql-database/README.md](services/sql-database/README.md) → [bicep.md](services/sql-database/bicep.md), [auth.md](services/sql-database/auth.md)1243. Load: [services/key-vault/README.md](services/key-vault/README.md)1254. Review [auth.md](services/sql-database/auth.md) directly for Entra-only auth configuration126127### Serverless Event-Driven1281291. Load: [services/functions/README.md](services/functions/README.md) (contains mandatory composition workflow)1302. Load: [services/event-grid/README.md](services/event-grid/README.md) or [services/service-bus/README.md](services/service-bus/README.md) (if using messaging)1313. Load: [services/storage/README.md](services/storage/README.md) (if using queues/blobs)1324. Invoke: `azure-observability` (distributed tracing)133134### AI Application1351361. Invoke: `microsoft-foundry` (AI patterns and best practices)1372. Load: [services/container-apps/README.md](services/container-apps/README.md) → [bicep.md](services/container-apps/bicep.md) or [terraform.md](services/container-apps/terraform.md)1383. Load: [services/cosmos-db/README.md](services/cosmos-db/README.md) → [partitioning.md](services/cosmos-db/partitioning.md) (vector storage)1394. Review Key Vault and Foundry references directly for API key management140141### GitHub Copilot SDK Application1421431. Invoke: `azure-hosted-copilot-sdk` skill (scaffold, infra, model config)1442. After it completes, resume azure-prepare workflow (validate → deploy)145146## After Research147148Proceed to **Generate Artifacts** step with research findings applied.149