Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "azure",
"description": "Microsoft Azure MCP and Skills integration for cloud resource management, deployments, and Azure services. Manage your Azure infrastructure, monitor applications, and deploy resources directly from Claude Code.",
"version": "1.2.76",
"version": "1.2.77",
"author": {
"name": "Microsoft",
"url": "https://www.microsoft.com"
Expand Down
2 changes: 1 addition & 1 deletion .github/plugins/azure-skills/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "azure",
"description": "Microsoft Azure MCP and Skills integration for cloud resource management, deployments, and Azure services. Manage your Azure infrastructure, monitor applications, and deploy resources directly from Claude Code.",
"version": "1.2.76",
"version": "1.2.77",
"author": {
"name": "Microsoft",
"url": "https://www.microsoft.com"
Expand Down
2 changes: 1 addition & 1 deletion .github/plugins/azure-skills/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "azure",
"description": "Microsoft Azure MCP and Skills integration for cloud resource management, deployments, and Azure services. Manage your Azure infrastructure, monitor applications, and deploy resources directly from Cursor.",
"version": "1.2.76",
"version": "1.2.77",
"author": {
"name": "Microsoft",
"url": "https://www.microsoft.com"
Expand Down
2 changes: 1 addition & 1 deletion .github/plugins/azure-skills/.plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "azure",
"description": "Microsoft Azure MCP and Skills integration for cloud resource management, deployments, and Azure services. Manage your Azure infrastructure, monitor applications, and deploy resources directly from your development environment.",
"version": "1.2.76",
"version": "1.2.77",
"author": {
"name": "Microsoft",
"url": "https://www.microsoft.com"
Expand Down
4 changes: 4 additions & 0 deletions .github/plugins/azure-skills/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 1.2.77

- use consistent line ending ([#3313](https://github.com/microsoft/GitHub-Copilot-for-Azure/pull/3313))

## 1.2.76

- docs: add telemetry disclosure to azure-skills README ([#3305](https://github.com/microsoft/GitHub-Copilot-for-Azure/pull/3305))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: "Assess whether source code is ready to deploy to Azure — the che
license: MIT
metadata:
author: Microsoft
version: "1.2.2"
version: "1.2.3"
---

# Azure App Onboard Prereq — Repository Evaluation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,80 +1,80 @@
/**
* Prereq-phase TypeScript interfaces for prereq-output.json.
*
* Standalone schema for azure-app-onboard-prereq — this skill can run independently.
*
* Shared types used across phases (AppOnboardComponent, PostDeployRecommendation,
* DetectedService, AppOnboardContext) are defined in:
* session-schemas.ts (local copy in this skill's references/)
*
* Context schema (AppOnboardContext, AppOnboardIntent) is defined in:
* session-schemas.ts (local copy in this skill's references/)
*/
// ─── prereq-output.json ──────────────────────────────────────────────────────
export interface BuildRequirements {
hasNativeModules: boolean;
hasDockerfile: boolean;
/** True when the app can deploy on App Service F1 (Free) SKU */
f1Viable: boolean;
/** True when Dockerfile uses BuildKit-only syntax (--mount, # syntax=docker/dockerfile:1) */
hasBuildKitSyntax?: boolean;
/** Port from EXPOSE directive — used for Container Apps targetPort */
exposedPort?: number;
/** Estimated native module compilation time in seconds (typically 30–300s;
* larger compiled dependencies like scipy may take 600+s).
* Used by deploy phase to set WEBSITES_CONTAINER_START_TIME_LIMIT. */
estimatedInstallTime?: number;
/** Why F1 is not viable — set when f1Viable is false.
* Examples: "native modules (node-gyp)", "large dependency tree (27 pinned deps)",
* "build-time compilation (TypeScript tsc)", "major migration (Flask 0.12→2.3)" */
f1BlockReason?: string;
}
/** Structured warning from prereq evaluation */
export interface PrereqWarning {
id: string;
component: string;
axis: "build" | "completeness" | "deployability";
summary: string;
detail: string;
/** What to do about this warning — actionable fix instruction.
* Examples: "Set PGSSLMODE=require env var in IaC", "Add trust proxy setting to Express app" */
fix: string;
/** When the fix should be applied in the pipeline.
* "prereq" = prereq can fix this NOW with user approval (code/config changes that prevent deploy failures).
* "scaffold" = handled in generated IaC only (env var override, probe config). NEVER modifies user code.
* "deploy-gate" = surface at deploy approval gate for user awareness. No code changes.
* "post-deploy" = informational — add to postDeployRecommendations[], no action during pipeline. */
fixPhase: "prereq" | "scaffold" | "deploy-gate" | "post-deploy";
}
export interface PrereqOutput {
// AppOnboardComponent[] — see session-schemas.ts
components: any[];
/** Structured warnings — see prereq-artifacts.md for write rules */
warnings: PrereqWarning[];
detectedStack: string;
/** Prereq-only: auto-approves readiness gate + simplifies prepare alt analysis.
* Does NOT skip any phase, gate, reference read, or validation. */
fastTrackEligible: boolean;
overallHealth?: "ready" | "readyWithCaveats" | "blocked";
/** Build-time requirements detected from manifests and lockfiles */
buildRequirements?: BuildRequirements;
/** Detected health endpoint path (e.g., "/health", "/api/v1/health/").
* Used by scaffold for Azure health probe config and deploy for curl health check.
* null if no health endpoint found (triggers W-HEALTH warning). */
healthEndpoint?: string | null;
/** Application entry point detected from manifest (e.g., "index.js", "main.py", "cmd/main.go").
* Used by prepare/deploy-strategy.md for startupCommand generation. */
entryPoint?: string;
/** Structured recommendations derived from WARN findings.
* Merged into prepare-plan.json.postDeployRecommendations[] by the prepare phase.
* PostDeployRecommendation type — see session-schemas.ts */
postDeployRecommendations?: any[];
/** First-run init commands (DB migrations, seed data) detected from
* framework signals + migrations/ dir. Prepare prepends required entries
* to deployStrategy.startupCommand. See dependency-compatibility.md § First-Run. */
initCommands?: { type: string; framework: string; command: string; required: boolean }[];
}
/**
* Prereq-phase TypeScript interfaces for prereq-output.json.
*
* Standalone schema for azure-app-onboard-prereq — this skill can run independently.
*
* Shared types used across phases (AppOnboardComponent, PostDeployRecommendation,
* DetectedService, AppOnboardContext) are defined in:
* session-schemas.ts (local copy in this skill's references/)
*
* Context schema (AppOnboardContext, AppOnboardIntent) is defined in:
* session-schemas.ts (local copy in this skill's references/)
*/

// ─── prereq-output.json ──────────────────────────────────────────────────────

export interface BuildRequirements {
hasNativeModules: boolean;
hasDockerfile: boolean;
/** True when the app can deploy on App Service F1 (Free) SKU */
f1Viable: boolean;
/** True when Dockerfile uses BuildKit-only syntax (--mount, # syntax=docker/dockerfile:1) */
hasBuildKitSyntax?: boolean;
/** Port from EXPOSE directive — used for Container Apps targetPort */
exposedPort?: number;
/** Estimated native module compilation time in seconds (typically 30–300s;
* larger compiled dependencies like scipy may take 600+s).
* Used by deploy phase to set WEBSITES_CONTAINER_START_TIME_LIMIT. */
estimatedInstallTime?: number;
/** Why F1 is not viable — set when f1Viable is false.
* Examples: "native modules (node-gyp)", "large dependency tree (27 pinned deps)",
* "build-time compilation (TypeScript tsc)", "major migration (Flask 0.12→2.3)" */
f1BlockReason?: string;
}

/** Structured warning from prereq evaluation */
export interface PrereqWarning {
id: string;
component: string;
axis: "build" | "completeness" | "deployability";
summary: string;
detail: string;
/** What to do about this warning — actionable fix instruction.
* Examples: "Set PGSSLMODE=require env var in IaC", "Add trust proxy setting to Express app" */
fix: string;
/** When the fix should be applied in the pipeline.
* "prereq" = prereq can fix this NOW with user approval (code/config changes that prevent deploy failures).
* "scaffold" = handled in generated IaC only (env var override, probe config). NEVER modifies user code.
* "deploy-gate" = surface at deploy approval gate for user awareness. No code changes.
* "post-deploy" = informational — add to postDeployRecommendations[], no action during pipeline. */
fixPhase: "prereq" | "scaffold" | "deploy-gate" | "post-deploy";
}

export interface PrereqOutput {
// AppOnboardComponent[] — see session-schemas.ts
components: any[];
/** Structured warnings — see prereq-artifacts.md for write rules */
warnings: PrereqWarning[];
detectedStack: string;
/** Prereq-only: auto-approves readiness gate + simplifies prepare alt analysis.
* Does NOT skip any phase, gate, reference read, or validation. */
fastTrackEligible: boolean;
overallHealth?: "ready" | "readyWithCaveats" | "blocked";
/** Build-time requirements detected from manifests and lockfiles */
buildRequirements?: BuildRequirements;
/** Detected health endpoint path (e.g., "/health", "/api/v1/health/").
* Used by scaffold for Azure health probe config and deploy for curl health check.
* null if no health endpoint found (triggers W-HEALTH warning). */
healthEndpoint?: string | null;
/** Application entry point detected from manifest (e.g., "index.js", "main.py", "cmd/main.go").
* Used by prepare/deploy-strategy.md for startupCommand generation. */
entryPoint?: string;
/** Structured recommendations derived from WARN findings.
* Merged into prepare-plan.json.postDeployRecommendations[] by the prepare phase.
* PostDeployRecommendation type — see session-schemas.ts */
postDeployRecommendations?: any[];
/** First-run init commands (DB migrations, seed data) detected from
* framework signals + migrations/ dir. Prepare prepends required entries
* to deployStrategy.startupCommand. See dependency-compatibility.md § First-Run. */
initCommands?: { type: string; framework: string; command: string; required: boolean }[];
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: "End-to-end orchestrator: from a business idea, app idea, or existi
license: MIT
metadata:
author: Microsoft
version: "1.2.4"
version: "1.2.5"
---

# Azure App Onboard
Expand Down
Loading
Loading