agentleFS
MicrosoftKnown publishermicrosoft/MicroHack/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/.github/copilot-instructions.md

MicroHack / 03_Inventory_Planning_Agentic

Copilot instructions220 starsChanged 7 days agoMITView on GitHub

This workspace is a microhack lab for the EMEA MicroHack platform (microsoft/MicroHack). The platform renders a front-end UI, but all resource provisioning comes from labautomation/deploy-lab.ps1. Without a working deployment script, no resources appear in the Azure portal — the platform is just a shiny front end. The platform skips the script if the parameter block does not exactly match: Write a hashtable to the output stream — the platform captures it and shows it on the user's dashboard: Labs must…

The file

We split this copilot-instructions.md into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write a hashtable to the output stream — the platform captures it and shows it on the user's dashboard:

    line 67
  2. Distinctive:

    Do not hard-code corporate network or specific DNS assumptions.

    line 80

≈ “Common” is an estimate: at least 1 in 5 of the 3,779 Copilot instructions files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
copilot-instructions.md

MicroHack Lab — EMEA Platform Conventions

This workspace is a microhack lab for the EMEA MicroHack platform (microsoft/MicroHack). The platform renders a front-end UI, but all resource provisioning comes from labautomation/deploy-lab.ps1. Without a working deployment script, no resources appear in the Azure portal — the platform is just a shiny front end.

Mandatory Structure

labautomation/          ← exactly this name, no dashes
  deploy-lab.ps1        ← platform entry point (optional but recommended)
  lab-defaults.json     ← platform configuration (required if folder exists)
  README.md             ← usage notes
challenges/             ← challenge instructions (Markdown)
walkthrough/            ← solutions
README.md               ← hack intro, objectives, prerequisites

deploy-lab.ps1 — Parameter Contract

The platform skips the script if the parameter block does not exactly match:

param(
    [Parameter(Mandatory=$true)]
    [ValidateSet('subscription','resourcegroup','resourcegroup-with-subscriptionowner')]
    [string]$DeploymentType,

    [Parameter(Mandatory=$true)]
    [string]$SubscriptionId,

    [string]$ResourceGroupName = "",

    [string[]]$PreferredLocation = @(),

    [string[]]$AllowedEntraUserIds = @()
)

Platform Guarantees (before your script runs)

  • Az context is already set to $SubscriptionId — do NOT call Connect-AzAccount
  • For resourcegroup/resourcegroup-with-subscriptionowner: the RG exists and your script has Owner — do NOT call New-AzResourceGroup
  • For subscription: your script has Owner on the subscription; you must create the RG yourself using Get-MhhStableHash for deterministic naming
  • Az.Accounts and Az.Resources modules are already imported

lab-defaults.json — Required Shape

{
  "$schema": "https://raw.githubusercontent.com/microsoft/MicroHack/refs/heads/main/lab-defaults-schema.json",
  "groups": [],
  "deploymentType": "resourcegroup",
  "labsPerSubscription": 4,
  "preferredLocation": "westeurope, swedencentral, norwayeast",
  "estimatedDailyCostsUsd": 5.0
}
  • deploymentType: "resourcegroup" | "resourcegroup-with-subscriptionowner" | "subscription"
  • groups: [] (Azure only), ["GHCPUsers"] (GitHub Copilot seat), ["M365-E5-Users"] (M365 E5)
  • preferredLocation: comma-separated regions, priority order
  • estimatedDailyCostsUsd: per-user per-day cost for the lifecycle wizard

Returning Credentials to Users

Write a hashtable to the output stream — the platform captures it and shows it on the user's dashboard:

@{ HackboxCredential = @{ name = "AdminPassword"; value = "TopSecret!"; note = "VM admin password" } }

Delivery Deadline

Labs must have at least a skeleton committed by end of July — September events are already scheduled.

Platform Compatibility

The platform supports on-site, online, and hybrid delivery. Do not hard-code corporate network or specific DNS assumptions.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.