➡️ Level Up with Everyday .NET Content | Microsoft MVP ➡️ YouTube: https://xitter.cf/t.co/9EgEGulWLN ➡️ https://xitter.cf/t.co/65gw5pGHO0 Newsletter | 20k+

Serbia
Joined February 2012
This reality hits: deadlines, new team members, rushed PRs, “we’ll fix it later.” Most #dotnet projects don’t fall apart because of bad developers. They fall apart because nobody decided how things should look when things get messy. At the beginning: ✔ clean structure ✔ good intentions ✔ “we’ll keep it tidy” Then reality hits: • deadlines • new team members • rushed PRs • “we’ll fix it later” And suddenly the codebase starts fighting back. This carousel shows the full curriculum of Pragmatic .NET Code Rules. Not as a syllabus. But as a system. A system that: - removes pointless decisions - enforces consistency automatically - keeps projects clean even when teams grow I made this course for developers who: • are tired of style debates • want predictable projects • care about long-term sanity, not quick wins Already 50+ developers joined during pre-order. And yes, you get access immediately. And yes, you get access to the community. You don’t wait. You apply. You improve your project while the course grows. 40% OFF Preorder price: $59.89 (Only 4 spots left at the price and only today) Original price is $150. 👉 Get it now here: thecodeman.net/pragmatic-dot… Curious, what’s the one rule your current codebase is missing?
3
3
20
5,315
Stefan Đokić | .NET retweeted
I tried to commit a file, and git said no. An AI read my staged diff, found a hardcoded Stripe key, and blocked the commit (Headless agent). ~10 lines of PowerShell: claude -p + --json-schema + a pre-commit hook. Fail closed. Full video: youtube.com/watch?v=x-Wik3HH… #ClaudeCode #dotnet
4
1
15
803
I tried to commit a file, and git said no. An AI read my staged diff, found a hardcoded Stripe key, and blocked the commit (Headless agent). ~10 lines of PowerShell: claude -p + --json-schema + a pre-commit hook. Fail closed. Full video: youtube.com/watch?v=x-Wik3HH… #ClaudeCode #dotnet
4
1
15
803
The source code for my agent, RAG and MCP projects is in my community, AI for Developers (7-day free trial): skool.com/ai-for-dotnet-deve…
94
An AI agent in .NET is a loop: IChatClient sends the message + tools -> the model asks for a tool -> FunctionInvokingChatClient runs your C# method -> the result goes back -> repeat. The model never touches your database. It only asks.
2
5
29
840
Stefan Đokić | .NET retweeted
An AI reviewed my .NET pull request on a whiteboard and caught 3 real bugs hidden in a 60-file diff - before I hit merge. Full walkthrough, every prompt: youtube.com/watch?v=1kBiCImY…
1
1
8
581
An AI reviewed my .NET pull request on a whiteboard and caught 3 real bugs hidden in a 60-file diff - before I hit merge. Full walkthrough, every prompt: youtube.com/watch?v=1kBiCImY…
1
1
8
581
Before you blame the model, count how many times this week you typed "we don't use MediatR" to it. That's not a model problem. That's a missing CLAUDE. md.
5
578
The biggest productivity gain I got from AI agents didn't come from a better model. It came from writing our conventions down once, so I stopped re-explaining them every session.
3
12
884
Stefan Đokić | .NET retweeted
A CLAUDE. md inside src/MyShop.Infrastructure/ only loads when the agent touches a file in that folder. So your EF Core rules don't have to sit in context while it writes an endpoint. Split instructions by where the code lives.
3
3
33
1,242
If you save to the database and then publish a message as two separate steps, you will eventually lose a message. That's what the Outbox pattern fixes: data and message in one transaction, a background worker publishes later.
5
9
69
1,723
My CLAUDE. md templates, rules, skills and agents for .NET projects are in AI for Developers (7-day free trial): skool.com/ai-for-dotnet-deve…
1
157
A CLAUDE. md inside src/MyShop.Infrastructure/ only loads when the agent touches a file in that folder. So your EF Core rules don't have to sit in context while it writes an endpoint. Split instructions by where the code lives.
3
3
33
1,242
Sunday question: which AI coding tool do you actually use every day at work - Claude Code, Codex, Cursor or Copilot? And which one did you try and drop?
19
7
1,874
Most AI learning plans fail because nothing is labeled OPTIONAL. You don't need fine-tuning or transformer math in week one. You need an agent that knows your project, one AI feature in a real app, and evals before production.
4
7
738
Every dev is shipping AI agents now. But almost nobody can answer one question about them: in production, what did the agent actually do? Which tools did it call? In what order? How many times? How many tokens did it burn? Where did the time go? If you’re logging to the console, you have no idea. It’s a black box. So I built a real one in C# (an order-support agent with Microsoft.Extensions .AI), put it on GitHub, and added Sentry’s new Agent Monitoring for .NET. About two lines, no change to the agent logic: → every model call recorded - model, tokens in/out, latency → every tool call recorded - the exact inputs and outputs → all stitched into one trace: a parent agent span with a child span per step Then I ran it like production - locally and in GitHub Actions - and opened the run in Sentry. First the Agents view (the full conversation the agent had), then the trace waterfall for timing. And there it was: a run that looked fine actually failed. A tool threw - and instead of stopping, the model quietly retried the same broken tool, failed again, then gave me a half-answer. The trace marked both calls red, with the exact order id the model passed in. On my laptop, all I’d get is a polite half-answer and a clean console. Here I saw the exact failing tool, twice, and where it sat in the agent’s run. One fix and the trace went green. That’s the difference between guessing and knowing what your agent did. Full build + the open-source repo: youtube.com/watch?v=EfmFwzbY… What are you building AI agents for in .NET? 👇
15
16
715