Erik Lieben
  • Home
  • Blog
  • About

Blog posts

  • Mar 23 2026

    Agentic (.NET) developer workflow

    How to turn your AI coding tool into a real development partner. A workflow system with persistent memory, session rituals, and stack-aware skills for .NET and Angular projects.

    8 parts 94 min total read
    1. Turning your AI tool into your pair programming companion
    2. Dependency updates that understand your code
    3. Teaching your AI how to write tests with you
    4. Quality gates that actually run: verification and security in the agentic workflow
    5. Documentation as a first-class concern in your agentic workflow
    6. AI-driven usability testing: a think-aloud study with a team of AI testers
    7. Building and evolving your own AI development skills
    8. Don't let your AI agent delegate the debug work to you: manage, monitor, and test your app with Aspire 13.2's CLI overhaul and new agent skills
  • Aug 11 2025

    TimeProvider in .NET8, the solution to flaky tests with DateTime.Now issues

    If you're still using DateTime.Now in your .NET tests, you're building on quicksand. Flaky time-dependent tests are some of the most frustrating issues—they pass locally, fail randomly in CI/CD, and destroy confidence in your deployment pipeline. Good news, .NET 8 brings us TimeProvider to solve this problem. This isn't just another abstraction—it's Microsoft's answer to a problem and baked directly into the framework to make time-dependent code reliably testable.

    6 min read .NET Development
  • Aug 26 2023

    Using playwright during SPA/Angular development to mock your environment

    Developing Single Page Applications SPAs can be complex, particularly when combining a SPA that communicates with one or more API's with complex data sets. It's often time-consuming to create a full range of testing projects that cover all the required scenarios in your testing environment due to complex dependencies or additional data structures necessary to make it work.

    14 min read Frontend Development
  • Mar 6 2023

    Customized pull request status policy using Azure Functions for semantic release PR titles (part 1)

    In my previous blog post/posts/semantic-release-nuget/, I showed you how to automate releases using pull request titles for your NuGet packages. When you use this process less often, or if you have new people onboarding your team, it is beneficial to give some additional help/ insights when they go through the process. This blog post will look at how to build an Azure Function to provide more information about the process during your regular pull request workflow.

    11 min read Azure DevOps
  • Dec 17 2022

    Automate your release flow of NuGet packages using Azure DevOps and Node's semantic-release

    In the NodeJShttps://nodejs.org/en/ ecosystem, a great solution is available for automating the workflow of releasing packages, explicitly concerning the versioning of packages, named semantic-releasehttps://www.npmjs.com/package/semantic-release. All it takes for you to use this in your .NET project is a willingness to accept a little bit of JavaScript in your .NET deployment pipeline. A well worth exception you should be willing to take to improve your overall development experience. In this blog post, I will take you through my setup for a project that builds & publishes a NuGet package using Azure DevOpshttps://azure.microsoft.com/en-us/services/devops/ to an Azure DevOps artifact feedhttps://azure.microsoft.com/en-us/services/devops/artifacts/.

    14 min read Azure DevOps
© Erik Lieben
GitHub LinkedIn Bluesky