From efa29b9adc7037981684c38c4b1c55b974e5220d Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Thu, 25 Jun 2026 18:09:38 +0200 Subject: [PATCH 1/6] feat: install TALXIS.DevKit.Templates.Dataverse dotnet new templates Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/images/power-platform/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/images/power-platform/Dockerfile b/src/images/power-platform/Dockerfile index d5c6537..a36842b 100644 --- a/src/images/power-platform/Dockerfile +++ b/src/images/power-platform/Dockerfile @@ -1,6 +1,6 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 -LABEL org.opencontainers.image.description="Power Platform dev container image — .NET 10, Node.js 22, Azure CLI, PowerShell, Terraform, GitHub CLI, GitHub Copilot CLI, PAC CLI, TXC CLI, Azure Functions Core Tools" +LABEL org.opencontainers.image.description="Power Platform dev container image — .NET 10, Node.js 22, Azure CLI, PowerShell, Terraform, GitHub CLI, GitHub Copilot CLI, PAC CLI, TXC CLI, TALXIS DevKit Templates, Azure Functions Core Tools" LABEL org.opencontainers.image.source="https://github.com/TALXIS/tools-agentbox" LABEL org.opencontainers.image.version="1.0.0" @@ -80,6 +80,9 @@ RUN dotnet tool install --tool-path /usr/local/bin Microsoft.PowerApps.CLI.Tool && dotnet tool install --tool-path /usr/local/bin TALXIS.CLI \ && mkdir -p /etc/devcontainer-txc-cli && touch /etc/devcontainer-txc-cli/auto-update +# ── TALXIS DevKit Templates ────────────────────────────────────────────────── +RUN dotnet new install TALXIS.DevKit.Templates.Dataverse + # ── TXC MCP Server config (GitHub Copilot CLI) ─────────────────────────────── # Place in /etc/skel so it is copied to any new user's home by devcontainer runtime RUN mkdir -p /etc/skel/.copilot \ From 39d5552d615098ed7da6d7f24671c7bcf47cf4a0 Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Thu, 25 Jun 2026 18:11:17 +0200 Subject: [PATCH 2/6] feat: update devkit templates on every container start Move dotnet new install TALXIS.DevKit.Templates.Dataverse from image build to postStartCommand so the latest version is always fetched at startup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/images/power-platform/Dockerfile | 3 --- src/templates/power-platform/.devcontainer/devcontainer.json | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/images/power-platform/Dockerfile b/src/images/power-platform/Dockerfile index a36842b..a62f7c0 100644 --- a/src/images/power-platform/Dockerfile +++ b/src/images/power-platform/Dockerfile @@ -80,9 +80,6 @@ RUN dotnet tool install --tool-path /usr/local/bin Microsoft.PowerApps.CLI.Tool && dotnet tool install --tool-path /usr/local/bin TALXIS.CLI \ && mkdir -p /etc/devcontainer-txc-cli && touch /etc/devcontainer-txc-cli/auto-update -# ── TALXIS DevKit Templates ────────────────────────────────────────────────── -RUN dotnet new install TALXIS.DevKit.Templates.Dataverse - # ── TXC MCP Server config (GitHub Copilot CLI) ─────────────────────────────── # Place in /etc/skel so it is copied to any new user's home by devcontainer runtime RUN mkdir -p /etc/skel/.copilot \ diff --git a/src/templates/power-platform/.devcontainer/devcontainer.json b/src/templates/power-platform/.devcontainer/devcontainer.json index 88a151c..436e070 100644 --- a/src/templates/power-platform/.devcontainer/devcontainer.json +++ b/src/templates/power-platform/.devcontainer/devcontainer.json @@ -88,10 +88,11 @@ } }, - // Auto-run on container start: keep pac + txc up to date, configure az devops + // Auto-run on container start: keep pac + txc + devkit templates up to date, configure az devops "postStartCommand": { "update-pac": "[ -f /etc/devcontainer-pac-cli/auto-update ] && dotnet tool update --global Microsoft.PowerApps.CLI.Tool 2>/dev/null || true", "update-txc": "[ -f /etc/devcontainer-txc-cli/auto-update ] && dotnet tool update --global TALXIS.CLI 2>/dev/null || true", + "update-devkit-templates": "dotnet new install TALXIS.DevKit.Templates.Dataverse 2>/dev/null || true", "configure-devops": "[ -n \"${AZURE_DEVOPS_EXT_PAT:-}\" ] && az devops configure --defaults organization=https://dev.azure.com/TALXIS 2>/dev/null || true" }, From e8ae31535a1048c544a082cd4259aef300052bd1 Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Thu, 25 Jun 2026 18:11:41 +0200 Subject: [PATCH 3/6] fix: use --tool-path for pac/txc updates, always update txc on start - Fix update commands to use --tool-path /usr/local/bin (matches install) - Remove auto-update flag check for txc so it always updates to latest Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/templates/power-platform/.devcontainer/devcontainer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/templates/power-platform/.devcontainer/devcontainer.json b/src/templates/power-platform/.devcontainer/devcontainer.json index 436e070..afe63ee 100644 --- a/src/templates/power-platform/.devcontainer/devcontainer.json +++ b/src/templates/power-platform/.devcontainer/devcontainer.json @@ -90,8 +90,8 @@ // Auto-run on container start: keep pac + txc + devkit templates up to date, configure az devops "postStartCommand": { - "update-pac": "[ -f /etc/devcontainer-pac-cli/auto-update ] && dotnet tool update --global Microsoft.PowerApps.CLI.Tool 2>/dev/null || true", - "update-txc": "[ -f /etc/devcontainer-txc-cli/auto-update ] && dotnet tool update --global TALXIS.CLI 2>/dev/null || true", + "update-pac": "[ -f /etc/devcontainer-pac-cli/auto-update ] && dotnet tool update --tool-path /usr/local/bin Microsoft.PowerApps.CLI.Tool 2>/dev/null || true", + "update-txc": "dotnet tool update --tool-path /usr/local/bin TALXIS.CLI 2>/dev/null || true", "update-devkit-templates": "dotnet new install TALXIS.DevKit.Templates.Dataverse 2>/dev/null || true", "configure-devops": "[ -n \"${AZURE_DEVOPS_EXT_PAT:-}\" ] && az devops configure --defaults organization=https://dev.azure.com/TALXIS 2>/dev/null || true" }, From 9147e4f99019cf128b355524ce726831d941c9ee Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Thu, 25 Jun 2026 18:13:08 +0200 Subject: [PATCH 4/6] fix: remove TALXIS DevKit Templates from image label Templates are installed at container start, not baked into the image. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/images/power-platform/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/images/power-platform/Dockerfile b/src/images/power-platform/Dockerfile index a62f7c0..d5c6537 100644 --- a/src/images/power-platform/Dockerfile +++ b/src/images/power-platform/Dockerfile @@ -1,6 +1,6 @@ FROM mcr.microsoft.com/dotnet/sdk:10.0 -LABEL org.opencontainers.image.description="Power Platform dev container image — .NET 10, Node.js 22, Azure CLI, PowerShell, Terraform, GitHub CLI, GitHub Copilot CLI, PAC CLI, TXC CLI, TALXIS DevKit Templates, Azure Functions Core Tools" +LABEL org.opencontainers.image.description="Power Platform dev container image — .NET 10, Node.js 22, Azure CLI, PowerShell, Terraform, GitHub CLI, GitHub Copilot CLI, PAC CLI, TXC CLI, Azure Functions Core Tools" LABEL org.opencontainers.image.source="https://github.com/TALXIS/tools-agentbox" LABEL org.opencontainers.image.version="1.0.0" From 223204aef28f68dcc29915bac296481ab4aeaa2c Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Thu, 25 Jun 2026 18:14:27 +0200 Subject: [PATCH 5/6] fix: replace hardcoded ADO org with AZURE_DEVOPS_ORGANIZATION secret MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add AZURE_DEVOPS_ORGANIZATION as a recommended secret - configure-devops now requires both PAT and org URL to be set - No org-specific defaults baked in — works for any customer Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../power-platform/.devcontainer/devcontainer.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/templates/power-platform/.devcontainer/devcontainer.json b/src/templates/power-platform/.devcontainer/devcontainer.json index afe63ee..bde427a 100644 --- a/src/templates/power-platform/.devcontainer/devcontainer.json +++ b/src/templates/power-platform/.devcontainer/devcontainer.json @@ -85,6 +85,10 @@ "AZURE_DEVOPS_EXT_PAT": { "description": "Azure DevOps Personal Access Token. Used by the Azure DevOps CLI extension for work items, pipelines, and repos.", "documentationUrl": "https://learn.microsoft.com/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate" + }, + "AZURE_DEVOPS_ORGANIZATION": { + "description": "Your Azure DevOps organization URL (e.g. https://dev.azure.com/myorg). Used to set the default org for the Azure DevOps CLI.", + "documentationUrl": "https://learn.microsoft.com/azure/devops/cli/get-started" } }, @@ -93,7 +97,7 @@ "update-pac": "[ -f /etc/devcontainer-pac-cli/auto-update ] && dotnet tool update --tool-path /usr/local/bin Microsoft.PowerApps.CLI.Tool 2>/dev/null || true", "update-txc": "dotnet tool update --tool-path /usr/local/bin TALXIS.CLI 2>/dev/null || true", "update-devkit-templates": "dotnet new install TALXIS.DevKit.Templates.Dataverse 2>/dev/null || true", - "configure-devops": "[ -n \"${AZURE_DEVOPS_EXT_PAT:-}\" ] && az devops configure --defaults organization=https://dev.azure.com/TALXIS 2>/dev/null || true" + "configure-devops": "[ -n \"${AZURE_DEVOPS_EXT_PAT:-}\" ] && [ -n \"${AZURE_DEVOPS_ORGANIZATION:-}\" ] && az devops configure --defaults organization=${AZURE_DEVOPS_ORGANIZATION} 2>/dev/null || true" }, "postCreateCommand": "echo '✅ Power Platform dev container ready.'", From efdecbd48dc21dd986e345b75c9b0cff18740524 Mon Sep 17 00:00:00 2001 From: Tomas Prokop Date: Fri, 26 Jun 2026 19:53:42 +0200 Subject: [PATCH 6/6] chore: remove secrets/env variable recommendations from template Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../.devcontainer/devcontainer.json | 29 ++----------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/src/templates/power-platform/.devcontainer/devcontainer.json b/src/templates/power-platform/.devcontainer/devcontainer.json index bde427a..ac5dbdc 100644 --- a/src/templates/power-platform/.devcontainer/devcontainer.json +++ b/src/templates/power-platform/.devcontainer/devcontainer.json @@ -68,36 +68,11 @@ } }, - // Recommended secrets — users are prompted for these when creating a Codespace - "secrets": { - "DATAVERSE_ENV_URL": { - "description": "Your Dataverse / Power Platform environment URL (e.g. https://contoso.crm4.dynamics.com). Used by pac and txc to connect to your environment.", - "documentationUrl": "https://learn.microsoft.com/power-platform/developer/cli/reference/auth#pac-auth-create" - }, - "AZURE_TENANT_ID": { - "description": "Azure Active Directory tenant ID. Used by Azure CLI and Power Platform authentication.", - "documentationUrl": "https://learn.microsoft.com/azure/active-directory/fundamentals/how-to-find-tenant" - }, - "GH_TOKEN": { - "description": "GitHub personal access token. Needed for private repos, GitHub Packages (NuGet), and GitHub CLI.", - "documentationUrl": "https://docs.github.com/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens" - }, - "AZURE_DEVOPS_EXT_PAT": { - "description": "Azure DevOps Personal Access Token. Used by the Azure DevOps CLI extension for work items, pipelines, and repos.", - "documentationUrl": "https://learn.microsoft.com/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate" - }, - "AZURE_DEVOPS_ORGANIZATION": { - "description": "Your Azure DevOps organization URL (e.g. https://dev.azure.com/myorg). Used to set the default org for the Azure DevOps CLI.", - "documentationUrl": "https://learn.microsoft.com/azure/devops/cli/get-started" - } - }, - - // Auto-run on container start: keep pac + txc + devkit templates up to date, configure az devops + // Auto-run on container start: keep pac + txc + devkit templates up to date "postStartCommand": { "update-pac": "[ -f /etc/devcontainer-pac-cli/auto-update ] && dotnet tool update --tool-path /usr/local/bin Microsoft.PowerApps.CLI.Tool 2>/dev/null || true", "update-txc": "dotnet tool update --tool-path /usr/local/bin TALXIS.CLI 2>/dev/null || true", - "update-devkit-templates": "dotnet new install TALXIS.DevKit.Templates.Dataverse 2>/dev/null || true", - "configure-devops": "[ -n \"${AZURE_DEVOPS_EXT_PAT:-}\" ] && [ -n \"${AZURE_DEVOPS_ORGANIZATION:-}\" ] && az devops configure --defaults organization=${AZURE_DEVOPS_ORGANIZATION} 2>/dev/null || true" + "update-devkit-templates": "dotnet new install TALXIS.DevKit.Templates.Dataverse 2>/dev/null || true" }, "postCreateCommand": "echo '✅ Power Platform dev container ready.'",