Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Prepare Azure environments for new workloads—subscriptions, networking, identity, and landing zones
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/scan.md
1# Codebase Scan23Analyze workspace to identify components, technologies, and dependencies.45## Detection Patterns67### Languages & Frameworks89| File | Indicates |10|------|-----------|11| `package.json` | Node.js |12| `requirements.txt`, `pyproject.toml` | Python |13| `*.csproj`, `*.sln` | .NET |14| `pom.xml`, `build.gradle` | Java |15| `go.mod` | Go |1617### ⛔ Specialized SDK Detection — Check FIRST1819Before classifying components, grep dependency files for SDKs that require a specialized skill:2021| Dependency in code | Invoke instead |22|--------------------|----------------|23| `@github/copilot-sdk` · `github-copilot-sdk` · `copilot-sdk-go` · `GitHub.CopilotSdk` | **azure-hosted-copilot-sdk** |2425> ⚠️ If ANY match is found, **STOP and invoke that skill**. Do NOT continue with azure-prepare — the skill has tested templates and patterns.2627### Component Types2829| Pattern | Component Type |30|---------|----------------|31| React/Vue/Angular in package.json | SPA Frontend |32| Only .html/.css/.js files, no package.json | Pure Static Site |33| Express/Fastify/Koa | API Service |34| Flask/FastAPI/Django | API Service |35| Next.js/Nuxt | SSR Web App |36| Celery/Bull/Agenda | Background Worker |37| azure-functions SDK | Azure Function |38| .AppHost.csproj or Aspire.Hosting package | .NET Aspire App |3940**Pure Static Site Detection:**41- No package.json, requirements.txt, or build configuration42- Contains only HTML, CSS, JavaScript, and asset files43- No framework dependencies (React, Vue, Angular, etc.)44- ⚠️ For pure static sites, do NOT add `language` field to azure.yaml to avoid triggering build steps4546### Existing Tooling4748| Found | Tooling |49|-------|---------|50| `azure.yaml` | AZD configured |51| `infra/*.bicep` | Bicep IaC |52| `infra/*.tf` | Terraform IaC |53| `Dockerfile` | Containerized |54| `.github/workflows/` | GitHub Actions CI/CD |55| `azure-pipelines.yml` | Azure DevOps CI/CD |5657### .NET Aspire Detection5859**.NET Aspire projects** are identified by:60- A project ending with `.AppHost.csproj` (e.g., `OrleansVoting.AppHost.csproj`)61- Reference to `Aspire.Hosting` or `Aspire.Hosting.AppHost` package in .csproj files62- Multiple .NET projects in a solution, typically including an AppHost orchestrator6364**When Aspire is detected:**65- Use `azd init --from-code -e <environment-name>` instead of manual azure.yaml creation66- The `--from-code` flag automatically detects the AppHost and generates appropriate configuration67- The `-e` flag is **required** for non-interactive environments (agents, CI/CD)68- ⚠️ **CRITICAL:** If the AppHost contains `AddAzureFunctionsProject`, you **MUST** add `.WithEnvironment("AzureWebJobsSecretStorageType", "Files")` to the Functions builder chain BEFORE deployment. Without this, Functions will fail at startup with `Secret initialization from Blob storage failed`. See [aspire.md](aspire.md) Step 4b for the complete detection and fix procedure.69- See [aspire.md](aspire.md) for detailed Aspire-specific guidance7071## Output7273Document findings:7475```markdown76## Components7778| Component | Type | Technology | Path |79|-----------|------|------------|------|80| api | API Service | Node.js/Express | src/api |81| web | SPA | React | src/web |82| worker | Background | Python | src/worker |8384## Dependencies8586| Component | Depends On | Type |87|-----------|-----------|------|88| api | PostgreSQL | Database |89| web | api | HTTP |90| worker | Service Bus | Queue |9192## Existing Infrastructure9394| Item | Status |95|------|--------|96| azure.yaml | Not found |97| infra/ | Not found |98| Dockerfiles | Found: src/api/Dockerfile |99```100