diff --git a/.devcontainer/03-azure-01-04-ai-03-inventory-planning-agentic/devcontainer.json b/.devcontainer/03-azure-01-04-ai-03-inventory-planning-agentic/devcontainer.json index 71d4fe68d..06d4c0828 100644 --- a/.devcontainer/03-azure-01-04-ai-03-inventory-planning-agentic/devcontainer.json +++ b/.devcontainer/03-azure-01-04-ai-03-inventory-planning-agentic/devcontainer.json @@ -29,7 +29,30 @@ "settings": { "terminal.integrated.defaultProfile.linux": "bash", "python.defaultInterpreterPath": "${containerWorkspaceFolder}/src/.venv/bin/python", - "python.terminal.activateEnvironment": true + "python.terminal.activateEnvironment": true, + // Scope Pylance to the hack's code so it never indexes the whole repo or the venv + // (avoids the "large number of source files" prompt). Relative to the open folder. + "python.analysis.include": ["src"], + "python.analysis.exclude": ["**/.venv", "**/node_modules", "**/__pycache__", "**/.*"], + // Hide facilitator/authoring/container folders from attendees in the Explorer (container only; + // local VS Code windows are unaffected). VS Code defaults are repeated because this + // object replaces them. + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "labautomation": true, + ".github": true, + "docs": true, + ".devcontainer": true + }, + // Open Markdown (README, challenges) rendered by default in the container. + // To edit one: right-click the tab > Reopen Editor With... > Text Editor. + "workbench.editorAssociations": { + "*.md": "vscode.markdown.preview.editor" + } } } }, diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/.devcontainer/devcontainer.json b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/.devcontainer/devcontainer.json index 528c4606c..56564744e 100644 --- a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/.devcontainer/devcontainer.json +++ b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/.devcontainer/devcontainer.json @@ -34,7 +34,23 @@ ], "settings": { "python.defaultInterpreterPath": "${containerWorkspaceFolder}/src/.venv/bin/python", - "python.terminal.activateEnvironment": true + "python.terminal.activateEnvironment": true, + "python.analysis.include": ["src"], + "python.analysis.exclude": ["**/.venv", "**/node_modules", "**/__pycache__", "**/.*"], + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "labautomation": true, + ".github": true, + "docs": true, + ".devcontainer": true + }, + "workbench.editorAssociations": { + "*.md": "vscode.markdown.preview.editor" + } } } }, diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/challenges/challenge-01.md b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/challenges/challenge-01.md index cc935dd2c..c725a4abf 100644 --- a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/challenges/challenge-01.md +++ b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/challenges/challenge-01.md @@ -87,12 +87,23 @@ subscription, resource group, GitHub organization, and repository. ![Create a GitHub Codespace with options](../images/setup-github-codespaces.png) 2. Set **Dev container configuration** to - **Azure / AI / Inventory Planning Agentic**, keep the **2-core** machine type, and - select **Create codespace**. + **Azure / AI / Inventory Planning Agentic** (scroll the list — configurations are + grouped by MicroHack area). + + ![Dev container configuration list with Azure / AI / Inventory Planning Agentic highlighted](../images/setup-dev-container-list.png) + + Keep the **2-core** machine type and select **Create codespace**. + + ![Create codespace with the Azure / AI / Inventory Planning Agentic configuration selected](../images/setup-select-dev-container.png) + 3. GitHub opens the Codespace in a new tab. The first build takes a few minutes: the container installs Python 3.12, `uv`, the Azure CLI, and `azd`, then `.devcontainer/post-create.sh` runs `uv sync` and seeds `src/.env`. The Explorer - opens directly on the `03_Inventory_Planning_Agentic` folder. + opens directly on the `03_Inventory_Planning_Agentic` folder, the README opens as a + rendered preview, and new terminals start in the project's Python environment + (`(agentic-inventory-hack)` in the prompt): + + ![Codespace ready: Explorer on the 03_Inventory_Planning_Agentic folder, README rendered, terminal in the agentic-inventory-hack environment](../images/setup-codespace-ready.png) > [!IMPORTANT] > When VS Code asks whether to open the git repository found in the parent folders, @@ -100,6 +111,13 @@ subscription, resource group, GitHub organization, and repository. > > ![Select Never when asked to open the repository](../images/setup-never-open-repository.png) + > [!IMPORTANT] + > If VS Code asks **Do you trust the authors of the files in this folder?** (for + > example when you open a terminal), select **Trust Folder & Continue** — otherwise + > the terminal and the Python extension stay in Restricted Mode. + > + > ![Select Trust Folder & Continue in the workspace trust dialog](../images/setup-trust-folder.png) + **Option 2 — Local VS Code Dev Containers** Prerequisites: [Docker Desktop](https://www.docker.com/products/docker-desktop/) (running) diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/README.md b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/README.md index e44eb7942..11769e9fc 100644 --- a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/README.md +++ b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/README.md @@ -32,4 +32,8 @@ The `setup-*.png` files illustrate the generic MicroHack lab sign-in and Codespa flow: Azure portal sign-in and resource groups, GitHub sign-in via the identity provider, the lab organization, forking the `microhack` repository under a unique name, **Code → Codespaces → New with options**, +selecting the **Azure / AI / Inventory Planning Agentic** dev container +(`setup-dev-container-list.png`, `setup-select-dev-container.png`), the ready +Codespace (`setup-codespace-ready.png`), the workspace trust dialog +(`setup-trust-folder.png`), and the *Never* answer to VS Code's "open the parent repository" prompt. diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-codespace-ready.png b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-codespace-ready.png new file mode 100644 index 000000000..5ed8eb18c Binary files /dev/null and b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-codespace-ready.png differ diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-dev-container-list.png b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-dev-container-list.png new file mode 100644 index 000000000..1cd4045c3 Binary files /dev/null and b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-dev-container-list.png differ diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-select-dev-container.png b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-select-dev-container.png new file mode 100644 index 000000000..946caab42 Binary files /dev/null and b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-select-dev-container.png differ diff --git a/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-trust-folder.png b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-trust-folder.png new file mode 100644 index 000000000..1c5c81026 Binary files /dev/null and b/03-Azure/01-04-AI/03_Inventory_Planning_Agentic/images/setup-trust-folder.png differ