John Lokerse | Microsoft MVP

John Lokerse | Microsoft MVP

@johnlokerse.dev

💻 DevOps Consultant - Focus on Microsoft technology - MVP #DevOps and #Azure IaC | blog https://johnlokerse.dev | #AzureBicep

1.1K followers311 following277 posts

🚀 New blog! Did you know you can add GitHub Copilot as a reviewer in an Azure DevOps pull request? In my latest blog, you will learn how it works, how to configure it, what the reviews and logs look like in practice, and how billing is handled. johnlokerse.dev/2026/10/06/e...

johnlokerse.devExploring GitHub Copilot Code Review for Azure DevOpsGitHub Copilot code review is now available in Azure DevOps (public preview), bringing AI-assisted pull request reviews to teams that use Azure Repos. Instead of relying only on manual reviews, you…

🚀 New blog! Are you copying the same Azure Bicep parameter values across development, test, acceptance, and production? Reduce duplication with the extendable Bicep parameter feature! 🔗 Read the blog post here: johnlokerse.dev/2026/08/03/d... #azure #azurebicep #infrastructureascode

johnlokerse.devDeduplicate Azure Bicep Parameter Files with Extendable ParametersWith extendable parameter files, you can define shared parameter values once in a base parameter file. Environment-specific parameter files can inherit these values via the extends keyword and over…

In this blog post, you will learn how to use `extends` and the `base` keyword to reuse shared values, override environment specific values, and selectively modify objects and arrays. I have also included an agent skill that can automate the deduplication process for you.

Built a canvas in the GitHub Copilot App that mirrors my iOS simulator. Fully interactive and live-streamed from the iOS simulator app. The benefit? I can test PWA behaviour on iOS without leaving the GitHub Copilot App!

🚀 New blog! Ever wondered what [*] means in Azure Bicep? I explain how it works with resource-derived types, resourceInput<>, and user-defined types to move from generic object/array params to strongly typed params. 🔗: johnlokerse.dev/2026/06/22/a... #azure #azurebicep #infrastructureascode

johnlokerse.devAzure Bicep Resource-Derived Types and Member Access ExplainedAzure Bicep has become much better over the years at helping you write strongly typed Infrastructure as Code. With features such as user-defined types, typed variables, and resource-derived types, …

John Lokerse | Microsoft MVP reposted

Pretty awesome - 'Hey, WorkIQ - see that Architecture document on my Desktop, use my Azure Pricing skill to determine running cost of the resources from the design doco' all from GitHub Copilot in VSCode.

In this blog, you will learn what GitHub Copilot hooks are, and how you can trigger scripts when specific agent lifecycle events happen in VS Code. To demonstrate hooks, I built a workflow with skills and a PostToolUse hook to convert a textual changelog to a narrated video.

The example in the turns Azure Bicep changelogs into narrated videos using Agent Skills, Azure Speech in Foundry Tools, and Remotion, but the key takeaway is how hooks can help you automate predictable steps around GitHub Copilot.

John Lokerse | Microsoft MVP reposted

Do you want to try out the new Visual Studio Code Agents app? - Install the latest version of the Visual Studio Code - Insider - Run the "Chat: Open Agents Application" - Start testing the new app #VSCode #GitHub #Copilot

John Lokerse | Microsoft MVP reposted

In case you didn't know, the GitHub Copilot CLI agent harness can be used with models from OpenRouter! Enabling the Copilot CLI to use open weight/source models. #github #githubcopilot #githubcopilotcli

Set these environment variables and reboot Copilot CLI: • export COPILOT_PROVIDER_BASE_URL=https://openrouter.ai/api/v1 • export COPILOT_PROVIDER_API_KEY=YOUR_OPENROUTER_KEY • export COPILOT_MODEL=minimax/minimax-m2.7 Or run "copilot help providers" for more information about these variables.

🚀 New blog! Bicep Console is now GA and production ready and I have another great use case for it! Use it to run automated CI test cases with Pester to validate your Bicep User-Defined Functions return the expected outputs. 🔗 Read the blog here: johnlokerse.dev/2026/04/07/t...

johnlokerse.devTesting Azure Bicep User-Defined Functions using Bicep Console and PesterAzure Bicep User-Defined Functions are powerful tools for standardising and sharing logic across your organisation. However, changes to these functions can introduce errors that impact your deploym…

In this blog, you will learn how to test Bicep User-Defined Functions using the Bicep console, Pester, and a custom PowerShell helper with Azure DevOps build validation for clear pass/fail results before changes go to production. #azurebicep #infrastructureascode #azure #MVPBuzz

John Lokerse | Microsoft MVP reposted

If you want to get started with Microsoft Agent Framework (successor to Autogen and Semantic Kernel), I taught a 6-part livestream series walking through agents, tools, workflows, observability, and evals. You can rewatch the vids or grab slides from here: techcommunity.microsoft.com/blog/azurede...

techcommunity.microsoft.comLearn how to build agents and workflows in Python | Microsoft Community HubWe just concluded Python + Agents, a six-part livestream series where we explored the foundational concepts behind building AI agents in Python using the...

John Lokerse | Microsoft MVP reposted

Azure Bicep review using GitHub Copilot parallel agents! In this gist, you will find three subagents and a prompt file. Run the prompt file /bicep-review to kickstart. Shoutout to @pierceboggan.bsky.social since his version heavily inspires this! gist.github.com/johnlokerse/...

gist.github.comAzure Bicep code review using 3 subagents (models: Opus 4.6, Gemini 3 Pro and Codex 5.3)Azure Bicep code review using 3 subagents (models: Opus 4.6, Gemini 3 Pro and Codex 5.3) - bicep-code-review-codex.agent.md

Integrated the GitHub Copilot SDK into my movie & series tracking web app for personalized recommendations. Built with React + server-side integration. Check out the demos in this thread! 🧵 #githubcopilot #GitHub #githubcopilotsdk

View full thread

Integrated the GitHub Copilot SDK into my movie & series tracking web app for personalized recommendations. Built with React + server-side integration. Check out the demos in this thread! 🧵 #githubcopilot #GitHub #githubcopilotsdk

View full thread

Integrated the GitHub Copilot SDK into my movie & series tracking web app for personalized recommendations. Built with React + server-side integration. Check out the demos in this thread! 🧵 #githubcopilot #GitHub #githubcopilotsdk

Copilot is aware of context, and it knows my movie taste, current backlog, and more. Ask questions like: • “Scream 7 comes out in 3 days. Recommend 3 movies to get me ready.” • “Is there a new season announced for the series Hijack?” • “I’ve heard good things about Mercy (2026). What is it about?"

Browse the web with GitHub Copilot SDK! I built a browser extension that connects to the Copilot SDK. It takes a prompt as input and browses the web. This is a simple example, but think about the automation possibilities (for example, automating timesheets). #githubcopilot #githubcopilotsdk

John Lokerse | Microsoft MVP reposted

Having a blast with the GitHub Copilot SDK and Remotion! I’ve built a web app that lets you generate videos with Remotion. You type a prompt, pick a model, and it generates and renders a short MP4 you can preview in the browser. #githubcopilot #remotion #githubcopilotsdk

🎉 4 years of blogging and 43 blog posts later, I have reached a blog milestone of 100K views! Thank you to everyone for your support and for reading my blogs! 🚀 My content primarily focuses on Azure Bicep, Azure, DevOps, and GitHub (Copilot). Check out my content at: johnlokerse.dev

Looking back at my first blog post about GitHub Copilot (Feb 2023) and comparing it to today, the progression is insane. I already liked it back then, but now it’s on a completely different level and essential to my workflow. 🚀 🔗 The blog post: johnlokerse.dev/2023/02/27/t...

johnlokerse.devThree use cases for using GitHub Copilot with Azure BicepI have been using GitHub Copilot for a while now, and I love it! The AI assistant has significantly improved my coding efficiency and productivity. It suggests code snippets, assists with writing d…

Key changes in v0.40.2: multi-line interpolated strings are now GA, 6 new Azure Bicep MCP server tools added, MCP server published as a NuGet package, Bicep Console supports piped input, plus parameter updates, docs, and bug fixes. Strong start to 2026 💪

You don’t have to duplicate GitHub Copilot Skills across repos. GitHub Copilot can read Skills from ~/.copilot/skills/ folder instead of the .github folder in a repo Meaning: • One Skill setup • Works in every repo • Define once, use everywhere

Azure Bicep users 👋 What’s your reason for using @allowed([...]) instead of union types like 'Value' | 'OtherValue'? I found that union types also constrain an allowedValues list under the hood, and they look much cleaner to me. Additionally, union types can be shared using export / import.