<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Visual Studio Code on Chris Reddington</title><link>https://chrisreddington.com/tags/visual-studio-code/</link><description>Recent content in Visual Studio Code on Chris Reddington</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Thu, 11 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://chrisreddington.com/tags/visual-studio-code/index.xml" rel="self" type="application/rss+xml"/><item><title>Rubber Duck Thursdays - Let's build down tech debt</title><link>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</link><pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris reviews the latest GitHub changelog and explores the major VS Code December release, then continues building custom agents for a game MCP server project.&lt;/p&gt;
&lt;h2 id="github-changelog-highlights"&gt;GitHub Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CodeQL 2.23.6&lt;/strong&gt; adds Swift 6.2.1 and new C# security queries&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.1 Codex Max&lt;/strong&gt; now in public preview for GitHub Copilot across VS Code, GitHub.com, and GitHub Mobile&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflow dispatch inputs&lt;/strong&gt; limit increased from 10 to 25&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot code generation metrics&lt;/strong&gt; now available in the enterprise insights dashboard&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise teams&lt;/strong&gt; limits increased over 10x — up to 2,500 teams and 5,000 users per team&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot-based dependency graphs for Go&lt;/strong&gt; now provide more complete transitive dependency trees&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;npm classic tokens revoked&lt;/strong&gt; — replaced with session-based and CLI token management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository custom properties&lt;/strong&gt; now support GraphQL management and a URL type with built-in validation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub MCP server&lt;/strong&gt; adds tool-specific configuration, lockdown mode for untrusted contributors, and default content sanitization against prompt injection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Enterprise Server 3.19&lt;/strong&gt; GA with rule set history import/export, SSH/TLS cipher configuration, and OpenTelemetry metrics&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto model selection&lt;/strong&gt; GA in VS Code for all Copilot plans&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="vs-code-december-release--agent-features"&gt;VS Code December Release — Agent Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent HQ&lt;/strong&gt; for managing multiple coding agents — background, cloud, or local — working simultaneously&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Background agents with git worktrees&lt;/strong&gt; for isolated workspaces, enabling multiple agents to work in parallel without file conflicts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom agents for organizations&lt;/strong&gt; — share agents at the org level via &lt;code&gt;.github-private&lt;/code&gt; repositories&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sub-agents via run sub agent&lt;/strong&gt; — delegate tasks to specialized sub-agents with their own context windows to avoid context bloat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude skills support&lt;/strong&gt; — reuse existing Claude Code skills within VS Code agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session management improvements&lt;/strong&gt; — integrated sessions view, compact and side-by-side layouts, and persistent local agent sessions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--custom-agents-and-background-agents"&gt;Live Coding — Custom Agents and Background Agents&lt;/h2&gt;
&lt;p&gt;Chris demonstrates the new VS Code agent features by continuing work on a tic-tac-toe game with an MCP server backend. He creates a testing specialist agent using a TDD workflow, experiments with background agents running in git worktrees, and explores sub-agent delegation for specialized tasks like code quality review.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents (again!)</title><link>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris continues building custom agents for the SDLC, exploring the awesome-copilot repository for inspiration and live-building a GitHub Actions workflow agent with plan mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Blocking repo admins from installing GitHub Apps now GA, Copilot Spaces with public spaces and code view support, secret scanning updates for November 2025, GitHub Enterprise Server 3.19 RC, assigning issues to Copilot via GraphQL and REST APIs, and Claude Opus 4.5 availability across more IDEs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Inspiration from awesome-copilot&lt;/strong&gt; — Reviewing partner-built agents and the awesome-copilot repository for ideas including test writers, security reviewers, tech debt analyzers, documentation generators, PR review assistants, and onboarding guides.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Consolidation&lt;/strong&gt; — Discussing whether to keep agents separate or consolidate them based on shared tool access, output formats, and domain overlap.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building a GitHub Actions Agent&lt;/strong&gt; — Using plan mode to design a custom agent for authoring and updating GitHub Actions workflows, including monorepo build order awareness and minimal permissions guidance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions Instructions File&lt;/strong&gt; — Creating a companion instructions file with repository-specific CI/CD conventions, build order, environment variables, and recommended practices for workflow definitions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode Workflow&lt;/strong&gt; — Demonstrating the iterative plan-then-implement workflow where Copilot asks clarifying questions before generating code, and switching between plan and agent modes.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents</title><link>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris explores Copilot custom agents and custom instructions, restructuring project context files and creating meta instruction files for a more effective AI-assisted development workflow.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Enterprise bring-your-own-key for Copilot, linter integration with Copilot code review (ESLint, PMD), GitHub Actions cache size exceeding 10 GB, Claude Opus 4.5 in public preview, and secret scanning updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions Deep Dive&lt;/strong&gt; — Restructuring &lt;code&gt;copilot-instructions.md&lt;/code&gt; to include monorepo tech stack details, build order, service boundaries, security guidelines, and testing conventions using recommended practices from the docs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Meta Instruction Files&lt;/strong&gt; — Creating instruction files that teach Copilot how to write better custom instructions and custom agents, pulling in recommended practices from the GitHub and VS Code documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode for Agent Design&lt;/strong&gt; — Using Copilot&amp;rsquo;s plan mode to iterate on ideas before implementation, demonstrating how follow-up questions help refine requirements like rubber duck debugging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context Engineering&lt;/strong&gt; — Discussion on supplying the right context to Copilot, balancing context window size, and the importance of being requirements-driven for high-quality code generation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community Q&amp;amp;A&lt;/strong&gt; — Topics including sustainable engineering pace, avoiding burnout, handling merge conflicts, and the fundamentals of software quality.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris catches up on several weeks of GitHub releases and then returns to the turn-based game MCP server project to fix a dependency upgrade issue.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Managing Copilot coding agent tasks in VS Code, new OIDC token claims for GitHub Actions, GPT-5.1 and Codex models, configuring the coding agent as a bypass actor for rulesets, MCP registry and allowlist controls in VS Code Stable, plan mode and isolated sub-agents in public preview, Gemini 3 Pro, and CodeQL updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Server for Games&lt;/strong&gt; — Revisiting the tic-tac-toe MCP server project and demonstrating how tool calls allow natural language game interaction with a backend API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixing Dependency Upgrades with Copilot&lt;/strong&gt; — Using agent mode across multiple models (Codex, Gemini 3 Pro) to diagnose and resolve a type check failure caused by a Dependabot SDK version bump.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot agent mode, coding agent and MCP servers</title><link>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we review the latest GitHub changelog including remote MCP server support for coding agent and Copilot code review on mobile. We use the Playwright MCP server with Copilot agent mode to debug and fix UI issues in the Octo Arcade project, discuss the differences between ask, edit, and agent modes in VS Code, and explore MCP server concepts like tools, prompts, and resources.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — Agents page for Copilot coding agent, CodeQL Rust support, improved repository creation experience, dependency auto-submission for Python, Copilot code review on GitHub Mobile, remote MCP server support for coding agent, and delegating tasks via the GitHub MCP server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Playwright MCP server for UI debugging&lt;/strong&gt; — Used Copilot agent mode with the Playwright MCP server to debug and fix game sizing issues in the Octo Arcade project, including viewport overflow, header overlap, and mobile responsiveness for pong, brick breaker, and matching games.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ask vs Edit vs Agent mode&lt;/strong&gt; — Walked through the practical differences between VS Code Copilot modes: ask for conversational code suggestions that must be manually applied, edit for targeted file changes, and agent mode for autonomous multi-step workflows that can run builds, tests, and use MCP tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP server concepts&lt;/strong&gt; — Explored MCP server fundamentals including the three main primitives: tools (executable functions), prompts (predefined conversation templates), and resources (contextual data for the AI).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns from vacation to catch up on weeks of GitHub updates and demonstrates adding internationalization to apps using Copilot coding agent, custom VS Code chat modes, and agent mode in Xcode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Updates including model evaluations CLI for GitHub Models, remote GitHub MCP server in public preview, Copilot coding agent now available for business users, GitHub Models pay-as-you-go billing, Claude Sonnet 4 and Opus 4 GA, CodeQL updates for Go and Swift, Actions Runner Controller release, and Copilot code review with custom instructions support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Chat Modes in VS Code&lt;/strong&gt; — Creating a custom planning mode in VS Code Insiders to generate implementation plans and create GitHub issues, integrating the GitHub MCP server as a tool within the chat mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remote GitHub MCP Server&lt;/strong&gt; — Setting up and authenticating with the new remote GitHub MCP server, eliminating the need for local Docker containers and personal access tokens via OAuth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent for Internationalization&lt;/strong&gt; — Assigning a GitHub issue to Copilot to add English, French, and Spanish language support to the Copilot Airways Next.js web app, reviewing the AI-generated pull request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Xcode Agent Mode&lt;/strong&gt; — Demonstrating agent mode in Xcode to add internationalization to a Swift iOS version of the Copilot Airways app with a language selector&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Creation with Copilot&lt;/strong&gt; — Using Copilot on github.com to draft well-structured GitHub issues from natural language descriptions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot coding agent and Copilot agent mode</title><link>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns after Microsoft Build to dive deep into Copilot coding agent, demonstrating how to assign GitHub issues to Copilot and review the resulting pull requests.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Recap&lt;/strong&gt; — Highlights from the event including Copilot coding agent announcements, agent mode availability in Eclipse, Xcode, and IntelliJ editors, and GitHub Models updates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Three weeks of updates including Claude Sonnet 4 and Opus 4 in GitHub Copilot, Copilot Spaces, GPT-4o Copilot model update, coding agent on GitHub Mobile, secret scanning pattern expansions, and GitHub Enterprise Server 3.17&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent Deep Dive&lt;/strong&gt; — Live demo with Copilot Airways app showing how to assign issues to Copilot, review AI-generated pull requests for refactoring and CI/CD deployment, and iterate through code review comments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Integration with Notion&lt;/strong&gt; — Demonstrating Model Context Protocol by connecting Copilot coding agent to a Notion MCP server to pull requirements from external tools and implement features automatically&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Scoping Best Practices&lt;/strong&gt; — Structuring GitHub issues with overview, problem statement, acceptance criteria, implementation details, and file pointers for optimal Copilot coding agent results&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; — Using automated code review on pull requests with actionable suggestions for code quality&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Assigning Copilot ad-hoc tasks through Copilot chat</title><link>https://chrisreddington.com/video/2025-05-22-copilot-coding-agent-adhoc-tasks/</link><pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-22-copilot-coding-agent-adhoc-tasks/</guid><description>&lt;p&gt;The GitHub Copilot coding agent isn&amp;rsquo;t limited to work assigned from GitHub Issues—you can also delegate tasks directly from a Copilot Chat session in Visual Studio Code while actively working in the codebase.&lt;/p&gt;
&lt;p&gt;The video walks through the following workflow on the &amp;lsquo;Copilot Airways&amp;rsquo; demo app:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Opening Copilot Chat in &lt;strong&gt;ask mode&lt;/strong&gt; in Visual Studio Code and invoking the &lt;code&gt;@github&lt;/code&gt; chat participant&lt;/li&gt;
&lt;li&gt;Describing naming inconsistencies found across the codebase and asking Copilot to raise a pull request that standardizes the naming conventions across all implementations&lt;/li&gt;
&lt;li&gt;Reviewing Copilot&amp;rsquo;s proposed plan (including documentation improvements to make conventions explicit) and confirming before it proceeds&lt;/li&gt;
&lt;li&gt;Copilot creating the pull request and returning a direct link within the chat session&lt;/li&gt;
&lt;li&gt;Viewing the &lt;strong&gt;session log&lt;/strong&gt; to see how Copilot mapped out the refactoring approach&lt;/li&gt;
&lt;li&gt;Letting Copilot work asynchronously in the background—running lint and build steps to verify code quality—while continuing with other work&lt;/li&gt;
&lt;li&gt;Returning to the pull request, using the &lt;strong&gt;&amp;lsquo;Approve and Run&amp;rsquo;&lt;/strong&gt; button to trigger GitHub Actions checks, and progressing to merge once all checks pass&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>VS Code, Live — Straight from Microsoft Build! 🪐</title><link>https://chrisreddington.com/talk/2025-05-19-vscode-live/</link><pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/2025-05-19-vscode-live/</guid><description>&lt;p&gt;Join VS Code, Live! at Microsoft Build. For the first time ever, VS Code, Live! is going on stage—in person—and you’re invited! Get an inside look at what the team’s building, featuring live conversations with devs and creators. Whether you’re deep into VS Code or just curious about what’s next, this is your dev-first, code-forward pass to what’s new.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building from requirements with Agent Mode</title><link>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris walks through building a GitHub CLI extension in Go from scratch, taking a spec-driven and test-driven development approach powered by Copilot Agent Mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Model updates in GitHub Models (Mistral, Cohere, Llama), GPT-4.1 as the new default Copilot model, updated rate limits for unauthenticated requests, and the VS Code April release with MCP support and prompt files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Preview&lt;/strong&gt; — A look ahead at sessions and events for the following week&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building gh-demo from Scratch&lt;/strong&gt; — Bootstrapping a new Go-based GitHub CLI extension using VS Code&amp;rsquo;s new workspace creation with Copilot, the Cobra library, and a spec-driven approach starting from a product requirements document&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test-Driven Development with Copilot&lt;/strong&gt; — Writing tests first for a hydrate subcommand that reads JSON files to create GitHub issues, discussions, and pull requests, with content type filtering and label collection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions CI&lt;/strong&gt; — Creating a build, test, and lint workflow for the new CLI extension&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions&lt;/strong&gt; — Setting up a copilot-instructions.md file to guide Copilot&amp;rsquo;s behavior around path handling and project conventions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</link><pubDate>Thu, 17 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</guid><description>&lt;p&gt;An especially announcement-heavy week focused on new AI model availability across GitHub Copilot and GitHub Models, plus hands-on experiments with those models in agent mode and GitHub Actions workflows.&lt;/p&gt;
&lt;p&gt;The extensive changelog review covers GPT-4.1 rolling out to all Copilot plans, Gemini 2.5 Pro entering public preview, O3 and O4 mini availability, Meta Llama 4 Scout and Maverick models in GitHub Models, macOS 15 and Windows 2025 GA for Actions runners, Windows ARM64 hosted runners in preview, expanded vision support beyond GPT-4o to Claude and Gemini models, CodeQL 2.21.0 with TypeScript 5.8 support, Copilot Chat for Eclipse GA, secret scanning pattern expansions, and the new Codespaces agent mode button on pull requests.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;A big announcements week — this episode unpacks Copilot Agent Mode going stable in VS Code and the launch of the official GitHub MCP server, then puts both to work building a real app from scratch.&lt;/p&gt;
&lt;p&gt;The GitHub Changelog segment covers the VS Code Copilot March release (agent mode GA, MCP support, next edit suggestions), the GitHub MCP server launch, Copilot Pro Plus tier, Copilot Code Review GA, security campaigns GA with automated issue creation, GitHub Issues and Projects improvements (sub-issues, issue types, 50K item limit), Helm support for Dependabot version updates, and more.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Lizard, Spock</title><link>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team extends the Rock Paper Scissors game to include Lizard and Spock using GitHub Copilot Vision — feeding an image of the game&amp;rsquo;s relationship diagram directly into Copilot, which interprets it and generates the extended game logic without explicitly naming the game. The stream also adds a hidden flag for the extended mode, demonstrating prompt engineering with Copilot&amp;rsquo;s multimodal capabilities.&lt;/p&gt;
&lt;p&gt;The GitHub changelog review covers Copilot autofix expansion for CodeQL alerts, Claude 3.7 Sonnet availability in Copilot, Docker Compose support in Dependabot, Copilot code review in public preview, and Copilot in Windows Terminal Canary. The latter portion demonstrates Dependabot version updates configured for Go modules and GitHub Actions ecosystems, with a live review of a dependency update pull request. A GitHub Codespaces session is used to verify the gh-skyline CLI extension still works after a dependency bump, and repository settings for auto-deleting branches and auto-merging pull requests are configured.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Rock, Paper, Scissors</title><link>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, I add a Rock Paper Scissors game to the gh-game GitHub CLI extension. The stream begins with a comprehensive GitHub changelog review covering the new GPT-4o Copilot code completion model, Copilot availability in Eclipse and Xcode, repository ruleset enhancements, secret scanning improvements, Copilot Workspace updates, and GitHub Issues and Projects feature updates.&lt;/p&gt;
&lt;p&gt;The coding session uses GitHub Copilot Agent Mode to build the Rock Paper Scissors game in Go, taking advantage of Next Edit Suggestions and the new GPT-4o code completion model. A significant portion of the stream focuses on improving test coverage using Copilot&amp;rsquo;s inline chat in the terminal, progressing from 42.6% to 100% statement coverage by generating targeted test cases for uncovered functions. The episode also covers merging the Tic Tac Toe pull request from the previous week and shipping a new release of the CLI extension.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Tic, Tac, Toe</title><link>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team continues building the gh-game GitHub CLI extension by adding a Tic Tac Toe game written in Go. The stream kicks off with a demo of GitHub Spark, a GitHub Next experiment for creating micro apps from natural language prompts, followed by a walkthrough of the latest GitHub changelog updates including Gemini 2.0 Flash availability, Copilot Vision, and Agent Mode in VS Code Insiders.&lt;/p&gt;
&lt;p&gt;The main coding session uses GitHub Copilot Agent Mode, Copilot Chat, and Copilot Edits to scaffold and iterate on the Tic Tac Toe implementation. Along the way, CodeQL code scanning is enabled on the repository, catching issues with missing workflow permissions and unpinned GitHub Actions versions. The episode also covers the CI/CD pipeline setup with build and test steps in GitHub Actions, and improving code readability through Copilot-assisted refactoring.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - GitHub Skyline</title><link>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</link><pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this inaugural Rubber Duck Thursdays episode, Chris introduces GitHub Skyline — a GitHub CLI extension written in Go that generates 3D STL models and ASCII art visualizations of your GitHub contribution history. The stream demonstrates the &lt;code&gt;gh skyline&lt;/code&gt; command, including the &lt;code&gt;--full&lt;/code&gt; flag for rendering your entire contribution history across all years as a single 3D model suitable for 3D printing.&lt;/p&gt;
&lt;p&gt;The main coding activity focuses on refactoring the Skyline Go codebase using GitHub Copilot. Chris uses Copilot Chat for rubber ducking on code structure, then leverages Copilot Edits to split a monolithic &lt;code&gt;main.go&lt;/code&gt; into modular components — separating the root command, browser interface, GitHub client, and skyline generation logic into individual files. The stream also covers GitHub Codespaces and dev containers for setting up a consistent development environment, and discusses community files like CODE_OF_CONDUCT, CONTRIBUTING, and LICENSE for open source projects.&lt;/p&gt;</description></item><item><title>Build Conway's Game of Life with GitHub Copilot Free</title><link>https://chrisreddington.com/video/2024-12-18-copilot-conways-game-of-life/</link><pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-12-18-copilot-conways-game-of-life/</guid><description>&lt;p&gt;This is a demo video showing GitHub Copilot in an end-to-end scenario, by building Conway&amp;rsquo;s Game of Life. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Selecting the Claude Sonnet 3.5 model in the GitHub Copilot Chat model picker in Visual Studio Code&lt;/li&gt;
&lt;li&gt;Writing specific, clear prompts: requesting a single-file implementation with a responsive layout and configurable cell size&lt;/li&gt;
&lt;li&gt;Tips on effective prompt engineering: keeping prompts simple and specific to reduce ambiguous output&lt;/li&gt;
&lt;li&gt;Reviewing generated code before inserting it, then customising the colour scheme to match the GitHub contribution graph&lt;/li&gt;
&lt;li&gt;Using the &amp;ldquo;Apply in Editor&amp;rdquo; button with speculative decoding to apply targeted diffs across an existing file&lt;/li&gt;
&lt;li&gt;Refactoring from a single HTML/CSS/JS file to separate files using Copilot Edits for multi-file changes&lt;/li&gt;
&lt;li&gt;Reviewing multi-file diffs in the Copilot Edits view and accepting changes per file&lt;/li&gt;
&lt;li&gt;Using drag-and-drop to add files as context to Copilot Chat and Copilot Edits sessions&lt;/li&gt;
&lt;li&gt;Improving readability with Copilot Edits: grouping variables, adding a new class, and nesting methods&lt;/li&gt;
&lt;li&gt;Using a Copilot instructions file to enforce team coding standards (HTML5 meta tags, JSDoc comments) in subsequent edits&lt;/li&gt;
&lt;li&gt;Inline chat slash commands: &lt;code&gt;/doc&lt;/code&gt; to generate documentation for a function and &lt;code&gt;/explain&lt;/code&gt; to learn about an unfamiliar concept (torus topology)&lt;/li&gt;
&lt;li&gt;Using Copilot Extensions to integrate Copilot&amp;rsquo;s natural language interface with external tools and services&lt;/li&gt;
&lt;li&gt;Generating a project README with Copilot Edits, summarising the app, implementation, and contribution guidelines&lt;/li&gt;
&lt;li&gt;Writing a GitHub Actions deployment workflow to publish the static site to GitHub Pages&lt;/li&gt;
&lt;li&gt;Using Copilot to suggest a commit message, committing, pushing, and verifying the live GitHub Pages deployment&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GitHub Copilot Chat and o1-preview: Building a maze generator!</title><link>https://chrisreddington.com/video/2024-10-03-copilot-chat-o1-preview/</link><pubDate>Thu, 03 Oct 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-10-03-copilot-chat-o1-preview/</guid><description>&lt;p&gt;This is a demo video showcasing GitHub Copilot and o1-preview. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessing the model picker in GitHub Copilot Chat within Visual Studio Code (GPT-4o, o1 mini, o1 preview)&lt;/li&gt;
&lt;li&gt;Writing a specific, multi-requirement prompt for o1-preview: a JavaScript maze generator with keyboard navigation, variable maze sizing, and a maze-solve button&lt;/li&gt;
&lt;li&gt;Understanding o1-preview&amp;rsquo;s extended internal reasoning, which produces longer response times but handles complex requirements more reliably&lt;/li&gt;
&lt;li&gt;Reviewing the generated code and copying it into the VS Code editor; initial iteration produces a working maze with BFS and DFS visualisation&lt;/li&gt;
&lt;li&gt;Iterating with a follow-up prompt to enhance the solution path display (black dot trail, no-path notification)&lt;/li&gt;
&lt;li&gt;Testing edge cases with a 50×50 maze and a distant starting position to observe depth-first search behaviour visually&lt;/li&gt;
&lt;li&gt;Comparing o1-preview output quality against the expectation for GPT-4o on the same multi-constraint task&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>ToolUp Days #15</title><link>https://chrisreddington.com/video/toolup-days-15/</link><pubDate>Fri, 21 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-15/</guid><description>&lt;p&gt;ToolUp Days is all about showing the thought process and decisions made when creating an application from scratch. Episode 15 continues the Codespaces-based development workflow from the previous session, validating the Dapr + Codespaces secrets pattern end-to-end and extending local debugging to a second microservice — before landing in a genuinely puzzling .NET minimal API routing problem.&lt;/p&gt;
&lt;h2 id="quick-context"&gt;Quick Context&lt;/h2&gt;
&lt;p&gt;The episode opens with conference highlights from South Coast Summit and some quick hiring news before getting into the technical work.&lt;/p&gt;</description></item><item><title>ToolUp Days #14</title><link>https://chrisreddington.com/video/toolup-days-14/</link><pubDate>Fri, 07 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-14/</guid><description>&lt;p&gt;ToolUp Days is all about showing the thought process and decisions made when creating an application from scratch. In this episode, Chris and Matt tackle the messy reality of developer environment drift — different machines, multiple WSL variants, forgotten installs — and make the case for a Codespaces-first workflow backed by a declarative dev container.&lt;/p&gt;
&lt;h2 id="the-problem-environment-drift"&gt;The Problem: Environment Drift&lt;/h2&gt;
&lt;p&gt;After several sessions where progress stalled because neither host could reproduce their earlier setup, the team decides to invest time in a reproducible development environment. Chris has also recently migrated the project&amp;rsquo;s Azure resources to a new tenant, which becomes an unexpected validation of the earlier OpenID Connect and GitHub Actions work: apart from updating a single OIDC connection, the entire deployment pipeline continued working across a new subscription and tenant.&lt;/p&gt;</description></item><item><title>ToolUp Days #11</title><link>https://chrisreddington.com/video/toolup-days-11/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-11/</guid><description>&lt;p&gt;This episode marks the official rebrand from &lt;strong&gt;ToolUp Tuesday&lt;/strong&gt; to &lt;strong&gt;ToolUp Days&lt;/strong&gt; — giving Chris and Matt the scheduling flexibility they need to maintain a consistent cadence. After recapping progress (multiple microservices built, GitHub Actions CI/CD in place, container images published, and Infrastructure as Code deployed), the pair set a concrete goal: reach a point where two players can independently make a decision, a &amp;ldquo;tick&amp;rdquo; happens, and there is a winner and a loser.&lt;/p&gt;</description></item><item><title>GitHub - More than just a Git repository</title><link>https://chrisreddington.com/talk/southcoast-ug-github/</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/southcoast-ug-github/</guid><description/></item><item><title>Microsoft Build 2022</title><link>https://chrisreddington.com/talk/build-2022-uk/</link><pubDate>Wed, 25 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/build-2022-uk/</guid><description/></item><item><title>Interfaces in Go</title><link>https://chrisreddington.com/blog/go-interfaces/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-interfaces/</guid><description>&lt;p&gt;In this post, I&amp;rsquo;ll be talking about how to use interfaces in Go. This is a continuation of my learning using the Go language. I&amp;rsquo;ll use interfaces to create an application that interacts with several types of bank accounts.&lt;/p&gt;
&lt;h2 id="what-is-an-interface"&gt;What is an interface?&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s start with defining the concept of an interface. An interface is a set of methods that a type must implement.&lt;/p&gt;
&lt;p&gt;In essence, this is a contract that a concrete type must implement. This can be useful when you want to loosely couple your software, so that you&amp;rsquo;re not depending on a specific implementation (and can then future-proof yourself).&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #6</title><link>https://chrisreddington.com/video/toolup-tuesday-6/</link><pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-6/</guid><description>&lt;p&gt;Chris and Matt bring their game application components together in this ToolUp Tuesday session. They start by reviewing the existing services — the Go-based player decisions API and the .NET world event engine — and identify that the player state service may be redundant now that Dapr handles state management. After clarifying their data model through use case documentation in Markdown, they define the game loop: players enroll, world events fire on a tick schedule, players submit decisions, and the engine reconciles state. The bulk of the session focuses on integrating Dapr&amp;rsquo;s state management API into the .NET player state service, implementing save, get, and delete state operations backed by Azure Table Storage. They also tackle VS Code debugging configuration, setting up launch.json and tasks.json for multi-service debugging with Dapr sidecars. The session ends with inter-service communication via Dapr working, setting up the next episode for cross-service calls between Go and .NET.&lt;/p&gt;</description></item><item><title>Go Pointers - Using the &amp; and * operators</title><link>https://chrisreddington.com/blog/go-pointers/</link><pubDate>Sun, 01 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-pointers/</guid><description>&lt;p&gt;I&amp;rsquo;ll be transparent. The purpose of this post is to help with my own understanding of the Go &amp;amp; and * operators. It&amp;rsquo;s going to be a very short post, and I&amp;rsquo;m going to try to explain the concepts in a way that I can understand. I&amp;rsquo;ve used these operators in C previously, but whenever I&amp;rsquo;m using them - I always end up having to remember the syntax / which operator is which / what they do. For whatever reason, it doesn&amp;rsquo;t always come intuitively to me.&lt;/p&gt;</description></item><item><title>Set up your Go development environment with Visual Studio Code and Windows Subsystem for Linux (WSL)</title><link>https://chrisreddington.com/blog/go-dev-environment-vscode-wsl/</link><pubDate>Tue, 26 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-dev-environment-vscode-wsl/</guid><description>&lt;p&gt;Over the past few weeks, I have been working on a new set of pet projects. I&amp;rsquo;ve wanted to learn Go for a while, so I thought this could be a great opportunity to get hands on and try it out. It&amp;rsquo;s fair to say that my development environment was &amp;lsquo;functional&amp;rsquo;, but I wanted to revisit it to make sure that I could get the best out of it. In this blog post, I&amp;rsquo;m going to walkthrough the process of setting up Go on my machine, and then the experience of using Visual Studio Code and Windows Subsystem for Linux (WSL) with Ubuntu.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #5</title><link>https://chrisreddington.com/video/toolup-tuesday-5/</link><pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-5/</guid><description>&lt;p&gt;Chris and Matt return for ToolUp Thursday (a scheduling exception) to refactor their Go player decisions API. Having separately studied Golang between sessions, they revisit the codebase with fresh eyes and immediately identify structural improvements — breaking a monolithic single-file approach into proper Go packages with separate folders for controllers, models, and routes. They compare two popular Go HTTP frameworks, Gorilla Mux and Gin, discussing trade-offs between simplicity and feature richness. Matt demonstrates his own Go project using Mux with Azure Container Apps, showcasing Go interfaces, dependency injection patterns, and the tenant service architecture. The conversation covers Go pointers, reference semantics, struct composition, and how Go&amp;rsquo;s implicit interface implementation differs from C# and .NET. They also explore unit testing and mocking challenges in Go, noting the ecosystem differences from .NET&amp;rsquo;s more integrated testing story. The session ends with planning to integrate a file-based data store and start connecting the player decisions API with the world event engine.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #4</title><link>https://chrisreddington.com/video/toolup-tuesday-4/</link><pubDate>Tue, 05 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-4/</guid><description>&lt;p&gt;Chris and Matt take on Go (Golang) for the first time on the ToolUp Tuesday live stream, building a player decisions REST API for their game application. They start with a recap of Go fundamentals — variables, types, structs, and pointers — before diving into HTTP routing with the Gin framework. The pair discuss Go project structure, comparing it to their .NET and C# backgrounds, and explore how Go handles packages, imports, and the module system. They work through setting up controllers, route handlers, and in-memory data structures, frequently mapping Go concepts back to familiar object-oriented patterns. Along the way, they troubleshoot Go environment issues including version upgrades and &lt;code&gt;GOPATH&lt;/code&gt; configuration. The session wraps with a working REST endpoint for player decisions, setting the stage for integrating state stores in future episodes.&lt;/p&gt;</description></item><item><title>GitHub - More than a Git repo</title><link>https://chrisreddington.com/talk/maug-github-more-than-just-a-git-repo/</link><pubDate>Wed, 09 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/maug-github-more-than-just-a-git-repo/</guid><description/></item><item><title>ToolUp Tuesday #2</title><link>https://chrisreddington.com/video/toolup-tuesday-2/</link><pubDate>Tue, 22 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-2/</guid><description>&lt;p&gt;Chris and Matt move from planning to coding, creating the Player State API as a .NET Web API project. They define data models representing player state for the SpaceBar management sim, debating how deep and detailed the models should go. The episode covers practical .NET development decisions, including the trade-offs between minimal API patterns and traditional controller-based approaches, with a preference for controllers for better logical grouping.&lt;/p&gt;
&lt;p&gt;The pair also set up their first GitHub Actions CI workflow, walking through YAML syntax for building the .NET project on push to main. They troubleshoot the workflow live — discovering they forgot the checkout step — and iterate until the build succeeds. GitHub Copilot makes a brief appearance as a code suggestion tool during API scaffolding.&lt;/p&gt;</description></item><item><title>Using RegEx and VSCode's Find/Replace capability to add captions to markdown images</title><link>https://chrisreddington.com/blog/using-regex-markdown-caption-images/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/using-regex-markdown-caption-images/</guid><description>&lt;p&gt;If there&amp;rsquo;s an easy way to achieve something, then I&amp;rsquo;m all for it! You may have noticed that I&amp;rsquo;ve been putting a lot of effort into refactoring my site and open sourcing the original Cloud With Chris theme. I&amp;rsquo;ve now released that as the &lt;a href="https://github.com/cloudwithchris/hugo-creator"&gt;Hugo Creator theme&lt;/a&gt; for &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;. As part of the refactoring process into a reusable theme, I had to make several breaking changes. This meant that I&amp;rsquo;d need to update the contents of my site. I want to share a quick tip that I discovered to add captions to my images in Markdown.&lt;/p&gt;</description></item><item><title>Static Web Apps in Azure | DEVREAL.io</title><link>https://chrisreddington.com/talk/devreal-static-webapps/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devreal-static-webapps/</guid><description/></item><item><title>Cloud Lunch and Learn Marathon 2021 - How GitHub Actions can help in building and deploying a static site and more</title><link>https://chrisreddington.com/talk/cllm-github-deploying-static-content/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/cllm-github-deploying-static-content/</guid><description/></item><item><title>#LeedsAzure - vMeetup #9 - How GitHub Actions can help in building and deploying a static site and more</title><link>https://chrisreddington.com/talk/leeds-azure-github-deploying-static-content/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/leeds-azure-github-deploying-static-content/</guid><description/></item><item><title>Cloud Drops - Introduction to GitHub Codespaces</title><link>https://chrisreddington.com/video/cloud-drops-github-codespaces/</link><pubDate>Tue, 16 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-github-codespaces/</guid><description>&lt;p&gt;Have you ever had to setup a development environment from scratch? You have to install a ton of dependencies, probably a few tools along the way as well. It&amp;rsquo;s not fun, it takes a lot of time and it prevents you from being productive. This is where GitHub Codespaces comes in.&lt;/p&gt;</description></item><item><title>GitHub Codespaces, Visual Studio Code and Remote Containers</title><link>https://chrisreddington.com/video/github-codespaces-and-vscode-remote-containers/</link><pubDate>Fri, 08 Jan 2021 15:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-codespaces-and-vscode-remote-containers/</guid><description>&lt;p&gt;Setting up a development environment—installing the right SDK versions, extensions, and tools—wastes hours and creates &amp;lsquo;works on my machine&amp;rsquo; problems. VS Code Remote Containers and GitHub Codespaces solve this with containerised, reproducible dev environments.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;How the &lt;strong&gt;VS Code Remote Containers extension&lt;/strong&gt; connects your local editor to a Docker container running a full development environment&lt;/li&gt;
&lt;li&gt;The role of &lt;strong&gt;&lt;code&gt;devcontainer.json&lt;/code&gt;&lt;/strong&gt; as a manifest defining your development container&amp;rsquo;s configuration, extensions, and port forwarding&lt;/li&gt;
&lt;li&gt;How to bootstrap a .NET Core dev container using the &lt;strong&gt;microsoft/vscode-dev-containers&lt;/strong&gt; repository samples&lt;/li&gt;
&lt;li&gt;The difference between Remote Containers (local Docker) and &lt;strong&gt;GitHub Codespaces&lt;/strong&gt; (cloud-hosted containers accessible from a browser)&lt;/li&gt;
&lt;li&gt;Using the &lt;strong&gt;GitHub Codespaces VS Code extension&lt;/strong&gt; to connect your local IDE to a cloud-hosted Codespace&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;dotfiles convention&lt;/strong&gt;: GitHub Codespaces automatically applies your &lt;code&gt;~username/dotfiles&lt;/code&gt; repository to personalise every Codespace with your aliases, shell configuration, and shortcuts&lt;/li&gt;
&lt;li&gt;Live demo: editing, previewing, and committing changes to cloudwithchris.com (Hugo static site) entirely within a GitHub Codespace&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="developer-experience-impact"&gt;Developer Experience Impact&lt;/h2&gt;
&lt;p&gt;GitHub Codespaces eliminates onboarding friction—any developer with browser access can contribute to a project within minutes, with a pre-configured environment including the correct language runtime, VS Code extensions, and tooling. No local setup required.&lt;/p&gt;</description></item></channel></rss>