# René Dekkers Blog > Blog by René Dekkers about AI-driven software development, Claude Code, and developer productivity. By René Dekkers — .NET developer and cloud architect at DeCloud Consultant. Practical insights on using Claude Code in real .NET projects: what works, what doesn't, and how AI makes you more productive. ## Blog Posts - [All posts](https://renedekkers.nl/posts/): Complete index of all 45 published articles - [Your team's shared brain: tribal knowledge as skills](https://renedekkers.nl/posts/team-skills-shared-brain-dotnet/): Your CLAUDE.md makes Claude Code write code the way you like it. Your teammate's does not. Skills turn conventions in your head into something shared. - [Functional Core, Imperative Shell in C#](https://renedekkers.nl/posts/functional-core-imperative-shell/): A method can be short, readable and still painful to test, because it decides and performs effects in one breath. Pulling the two apart, in C#. - [Make illegal states unrepresentable in C#](https://renedekkers.nl/posts/make-illegal-states-unrepresentable/): A class with a status enum and three nullable fields can represent dozens of states, most of them nonsense. Redesigning the type so they cannot exist. - [Return the proof, not the answer](https://renedekkers.nl/posts/return-the-proof-not-the-answer/): A C# check that returns a bool is a check you can ignore, forget, and recompute. Here's how I used Claude Code to turn one into a proof you can't misuse. - [From idea to implementation-ready](https://renedekkers.nl/posts/from-idea-to-implementation-ready/): The phase most developers skip is where Claude Code adds most value: from vague idea to nine concrete documents before you write a line of code. - [Boris Cherny ships 25 PRs a day without writing code](https://renedekkers.nl/posts/boris-cherny-claude-code-workflow-dotnet-enterprise/): What actually transfers from Boris Cherny's viral Claude Code workflow to an enterprise .NET/Azure codebase, and where his solo setup breaks in a team. - [Your harness has a shelf life](https://renedekkers.nl/posts/your-harness-has-a-shelf-life/): I wrote that you should revisit your Claude Code config every few months. It took eight days. A follow-up on Fable 5, safe mode and smarter Stop hooks. - [Tuning Claude Code for a real .NET codebase](https://renedekkers.nl/posts/tuning-claude-code-for-a-real-dotnet-codebase/): A layer-by-layer guide to configuring Claude Code so it knows your repository, conventions and guardrails, on a large .NET Clean Architecture platform. - [The week Anthropic stopped prompting Claude](https://renedekkers.nl/posts/the-week-anthropic-stopped-prompting-claude/): Code with Claude London 19–21 May 2026: no new model, five orchestration features, and Anthropic engineers shipping PRs written end-to-end by Claude. - [Event sourcing was too much work. AI changed that.](https://renedekkers.nl/posts/event-sourcing-was-too-much-work/): Event sourcing has always been powerful but expensive — boilerplate, projections, schema versioning. With Claude Code, the cost-benefit math shifts. - [Your OpenTelemetry traces stop at HTTP](https://renedekkers.nl/posts/claude-code-opentelemetry-dotnet/): Auto-instrumentation gives you HTTP and EF Core spans for free; the interesting questions live in your business logic. Add ActivitySource that answers why. - [Your running Aspire app, queryable over MCP](https://renedekkers.nl/posts/claude-code-aspire-mcp-server/): Connect Claude Code to your running Aspire app through the dashboard's MCP server: runtime logs, traces and resource state, directly in your editor. - [The Aspire AppHost is your architecture map](https://renedekkers.nl/posts/claude-code-dotnet-aspire/): Claude Code gets much more useful when your distributed architecture is visible in code. That is what Aspire's AppHost gives it: topology to debugging. - [Building a feature from ticket to production](https://renedekkers.nl/posts/building-a-complete-feature-from-ticket-to-production/): Follow along as I build a complete ASP.NET Core feature from Jira ticket to merged PR using Claude Code. Every step, every prompt, every decision. - [Performance optimization with Claude Code](https://renedekkers.nl/posts/performance-optimization-with-claude-code/): Use Claude Code to find and fix performance bottlenecks in .NET applications. From N+1 queries to memory leaks, with practical C# examples. - [Security auditing with Claude Code](https://renedekkers.nl/posts/security-auditing-with-claude-code/): Use Claude Code to find SQL injection, XSS, insecure auth, and other OWASP vulnerabilities in your .NET applications. Practical examples with ASP.NET Core. - [Claude Code in your CI/CD pipeline](https://renedekkers.nl/posts/claude-code-in-ci-cd-pipeline/): Integrate Claude Code into your GitHub Actions or Azure DevOps pipeline to catch bugs, review PRs, and enforce standards before code reaches main. - [Multi-agent development: three AI agents, one feature](https://renedekkers.nl/posts/multi-agent-development-three-ai-agents-build-your-feature/): Anthropic's three-agent harness splits autonomous coding into planner, generator and evaluator to stay coherent for hours. What that means for .NET. - [The LLM Wiki: Karpathy's pattern for compounding knowledge](https://renedekkers.nl/posts/llm-wiki-karpathy/): Karpathy's LLM Wiki is a pattern where an AI builds and maintains your knowledge base instead of answering from scratch every time. Why it matters. - [Computer Use: Claude Code controls your screen](https://renedekkers.nl/posts/computer-use-in-claude-code-your-ai-controls-your-screen/): Claude Code can now open apps, click buttons and see your screen. What Computer Use bridging terminal and GUI means for .NET developers. - [Scheduled Tasks — Claude Code keeps working while you sleep](https://renedekkers.nl/posts/scheduled-tasks-claude-code-keeps-working-while-you-sleep/): With /loop, Desktop tasks and cloud scheduling, Claude Code runs your prompts on a schedule: nightly test runs, dependency audits, PR reviews. - [What Claude Opus 4.6 means for your .NET code](https://renedekkers.nl/posts/claude-opus-4-6-what-the-best-ai-model-means-for-your-dotnet-code/): Claude Opus 4.6 brings 1M token context and deeper reasoning to Claude Code. Here's what that means concretely when you're building .NET applications. - [Auto Mode — the end of approve, approve, approve](https://renedekkers.nl/posts/auto-mode-end-of-approve-approve-approve/): Auto Mode ends the endless permission prompts in Claude Code: a background classifier handles safety while you build. What it means for .NET devs. - [Git worktrees with Claude Code](https://renedekkers.nl/posts/git-worktrees-with-claude-code/): Git worktrees let you work on several branches at once in separate directories. With Claude Code, every feature gets its own workspace and AI session. - [From code writer to software architect](https://renedekkers.nl/posts/from-reviewer-to-architect/): With AI you write less code, but you need to understand more. Your role shifts from implementing to designing. What does that mean concretely? - [Multiple Claude Code sessions at once](https://renedekkers.nl/posts/parallel-claude-code-sessions/): Run multiple Claude Code sessions in parallel, each working on a different part of your .NET solution. Here's how to set it up and when it makes sense. - [Building sub-agents for your .NET workflow](https://renedekkers.nl/posts/building-subagents-for-dotnet-workflow/): Create specialized Claude Code sub-agents for .NET: a test writer, code reviewer, and documentation agent that work in parallel. - [Managing context in large .NET solutions](https://renedekkers.nl/posts/context-management-for-dotnet-solutions/): Practical strategies for working with large .NET solutions in Claude Code without hitting context limits. .claudeignore, /compact, focused sessions. - [Claude Code as code reviewer for your .NET pull requests](https://renedekkers.nl/posts/claude-code-as-code-reviewer-for-dotnet/): Use Claude Code to review .NET pull requests — catch bugs, enforce standards, and get architectural feedback before your team reviews. - [Claude Code skills and plugins for .NET](https://renedekkers.nl/posts/claude-code-skills-and-plugins-for-dotnet/): How to find, install, and use .NET-specific skills and plugins from the Claude Code marketplace. With practical examples. - [AI governance for developers: what can you share?](https://renedekkers.nl/posts/ai-governance-for-developers/): AI tools are powerful, but your input goes somewhere. What you can safely share, what you should never paste, and how to set rules for your team. - [Building MCP servers for Claude Code](https://renedekkers.nl/posts/building-mcp-servers/): Build your own MCP server in Python to connect Claude Code to CI/CD, databases, mail and more. Step-by-step with FastMCP. - [Refactoring with Claude Code — splitting an 800-line service](https://renedekkers.nl/posts/refactoring-with-claude-code/): How I used Claude Code to split an 800-line OrderProcessingService into clean, testable components. Step-by-step with real C# examples. - [Claude Code hooks — automatic testing after every change](https://renedekkers.nl/posts/claude-code-hooks-automatic-testing/): Set up Claude Code hooks to automatically run tests, format code, and enforce standards after every change. With .NET examples. - [Migrating from .NET Framework to .NET 8+ with Claude Code](https://renedekkers.nl/posts/migrating-dotnet-framework-to-dotnet8/): Use Claude Code to migrate from .NET Framework 4.x to .NET 8+: dependency mapping, csproj conversion, API replacement, and DI migration. - [Claude Code for Blazor development](https://renedekkers.nl/posts/blazor-development-with-claude-code/): Use Claude Code to build Blazor components, handle render lifecycle, and manage component hierarchies. Practical examples with real C# code. - [Entity Framework and Claude Code](https://renedekkers.nl/posts/entity-framework-and-claude-code/): How Claude Code helps with EF Core: generating migrations, writing LINQ queries, and understanding your data model. Practical examples with C# code. - [Writing unit tests with Claude Code](https://renedekkers.nl/posts/unit-testing-with-claude-code/): How to use Claude Code to write meaningful xUnit tests with FluentAssertions and NSubstitute in your .NET project — from zero to full coverage. - [Your first hour with Claude Code in a .NET project](https://renedekkers.nl/posts/first-hour-with-claude-code-in-dotnet/): A practical walkthrough for .NET developers: open your solution, let Claude Code explore it, make your first change, and run the tests. - [Debugging with Claude Code — from stacktrace to fix](https://renedekkers.nl/posts/debugging-with-claude-code/): Step-by-step bug fixing with Claude Code. Paste your stacktrace, Claude Code reads your code and finds the root cause — no copy-paste needed. - [Planning mode — think first, code later](https://renedekkers.nl/posts/planning-mode-think-first-code-later/): Claude Code's Plan Mode lets you analyse and propose an approach before any code is written. The difference between technically correct and fitting. - [How to collaborate with AI: it's not a search engine](https://renedekkers.nl/posts/effective-collaboration-with-ai/): Experienced developers don't automatically become more productive with AI. The difference lies in how you collaborate. Five principles that work. - [From ChatGPT to Claude Code: what's the difference?](https://renedekkers.nl/posts/from-chatgpt-to-claude-code/): Four scenarios from one working day show where Claude Code beats copy-pasting into ChatGPT: bugs, refactoring, tests, and reviews. - [Stop repeating the same corrections — give your AI memory](https://renedekkers.nl/posts/claude-md-memory-of-your-ai/): CLAUDE.md gives Claude Code memory about your project. No more repeated corrections — your AI knows your conventions, patterns, and architecture. - [Why this blog?](https://renedekkers.nl/posts/why-this-blog/): AI is fundamentally changing the way I build software. Time to write about it. ## Pages - [Posts](https://renedekkers.nl/posts/) - [About](https://renedekkers.nl/about/) - [Contact](https://renedekkers.nl/contact/) - [Schedule call](https://renedekkers.nl/schedule-a-call/) ## Optional - [RSS feed](https://renedekkers.nl/index.xml): Subscribe to updates - [Dutch version](https://renedekkers.nl/nl/): Nederlandse versie van de blog