AI agents
Working with AI coding agents that run real commands: context, permissions, review, safety rails, and where they should run.
53 posts · page 1 of 2
Getting AI to Write Tests That Actually Catch Bugs
Ask an AI for tests and you'll get plenty: tests that mock everything, assert nothing useful, and pass no matter what the code does. How to get tests that fail when behaviour breaks — what to test, how to prompt, how to check a test is real, and how tests become the agent's safety net.
How to Write a Good Bug Report (for Humans and AI Tools)
'It's broken' can't be fixed. 'On /checkout, clicking Pay with an empty cart returns a 500' can. The five parts of a useful bug report, how to find reproduction steps, what evidence to attach, and a template you can paste into GitHub issues or your AI coding tool.
What Is Vibe Coding? What It's Great For, and Where It Breaks
Vibe coding means building software by describing what you want to an AI and accepting what it produces, often without reading the code. It's genuinely powerful for some things and genuinely risky for others. An honest guide to where the line is.
What Is MCP? The Model Context Protocol for Beginners
MCP is a standard way to plug tools and data into AI apps — a USB-C port for AI. What the Model Context Protocol is, what servers and clients are, what tools, resources, and prompts do, real examples, and the safety questions to ask before connecting one.
What Is Claude Code? A Beginner's Guide
Claude Code is Anthropic's AI coding agent: instead of just suggesting code in a chat, it reads your project, edits files, runs commands, and checks its own work. What it is, where you can use it, what it costs, and how to get started without getting into trouble.
What Is an LLM? Large Language Models Explained Without the Hype
Claude, GPT, and Gemini are large language models. What an LLM actually is, how it's trained, why it's good at code, why it confidently makes things up, what 'model', 'prompt', and 'temperature' mean, and what that means for building apps with AI.
What Is an AI Coding Agent? (And How It's Different From a Chatbot)
AI coding tools come in three flavours: chatbots that answer, assistants that autocomplete, and agents that take actions — editing files, running commands, and checking their own work. What makes something an agent, why it matters, and what agents need to work well and safely.
What Is a Pull Request? A Beginner's Guide
A pull request is how a change gets proposed, checked, and merged into a project — and it's the single best safety net when an AI agent is writing your code. What PRs are, how they work on GitHub, what to look at before you click Merge, and why you want one for every change.
What Is a Context Window? Why AI Tools 'Forget' Things
An AI model can only consider so much text at once — its context window. What's in it, why long sessions get worse, what 'compacting' does, and practical habits for working with Claude Code and other tools so the right information is always in view.
What Are Tokens in AI? Why Your Usage Is Counted in Pieces of Words
AI models read and write in tokens, not words — and pricing, limits, and context windows are all measured in them. What a token is, roughly how many words it equals, input vs output tokens, why code uses more of them, and practical ways to use fewer.
Agent Hosting Is Becoming Free. Here's What Isn't.
Anthropic now ships ways to keep Claude Code running without your laptop — Remote Control, cloud sessions, scheduled Routines. That's good news, and it changes what's worth paying for. The session is becoming a commodity. The environment the work ships into is not.
A Security Checklist for Vibe-Coded Apps
AI-built apps fail security in predictable ways: open databases, keys in the browser, authorization checked only in the UI. A practical checklist for non-security people — what to check, how to test it yourself, and what to fix before real users arrive.
How to Undo Almost Anything in Git (Including an AI Agent's Mess)
An agent committed to the wrong branch, rewrote files you needed, or ran a reset it shouldn't have. Git can almost always get your work back. Which undo command fits which situation — restore, revert, reset, and the reflog that rescues 'deleted' commits — explained with the exact commands.
Why TypeScript Makes AI-Generated Code Safer
Types turn a whole class of AI mistakes — invented properties, wrong arguments, forgotten null checks — into errors caught before the code runs. How TypeScript acts as a feedback loop for agents, the settings that matter, and the escape hatches AI uses to switch it off.
Technical Debt in AI-Built Apps: What It Is and When to Pay It Down
AI tools let you build fast, and some of that speed is borrowed. What technical debt is, the specific kinds AI-generated code accumulates — duplication, dead code, inconsistent patterns, no tests — how to tell when it's hurting, and a practical way to pay it down without a rewrite.
Stuck in an AI Fix Loop? How to Break Out
You ask the AI to fix a bug. It says it's fixed. It isn't. Three rounds later, two other things are broken too. Why AI tools get stuck in loops, how to recognise one early, and a step-by-step way out that works far better than asking again.
How to Stop Bots From Running Up Your AI App's Bill
If your app calls an AI model on a user's behalf, every request costs you money — and a bot, a scraper, or one determined user can make thousands of them overnight. Rate limits, usage caps, provider spending limits, and the architecture that keeps a surprise bill from happening.
How to Stop an AI Agent From Deleting Your Production Database
In July 2025 an AI coding agent deleted a company's production database during a code freeze. It wasn't a freak event — it was the predictable result of giving an agent production credentials. Six controls that make it structurally impossible, not just unlikely.
Should You Still Learn to Code If AI Writes It?
AI can now build working apps from a description, so is learning to code still worth it? An honest answer: what AI has genuinely made unnecessary, the skills that matter more than ever, and a practical learning path for people who build with AI.
Securing MCP Servers: Threats and Controls for Tool-Connected Agents
An MCP server turns a model's text into real actions against real systems. The threat model — tool poisoning, prompt injection via tool output, confused deputies, token passthrough, DNS rebinding on local servers, over-broad scopes — and the controls for building and deploying MCP servers safely.
How to Run AI-Generated Code Safely
AI-generated code is usually well-intentioned and occasionally destructive, and the packages it installs are a supply-chain risk of their own. A practical, layered approach — what the code can see, reach, consume, and outlive — with a hardened Docker command you can use today.
How to Run Claude Code on a Remote Server (and Keep It Running)
Running Claude Code on a server instead of your laptop means sessions survive a closed lid, a dropped connection, and a flat battery. A practical setup guide — the server, the session, the security — and what you take on by doing it yourself.
How to Review a Pull Request Written by an AI Agent
AI-written pull requests are tidy, confident, and plausible — which makes them harder to review, not easier. The failure modes that differ from human code, the order to read a PR in, and a checklist that catches what skimming misses.
How to Resume a Claude Code Session (and What Resuming Can't Bring Back)
claude --continue and claude --resume reopen yesterday's conversation in seconds. But a resumed session restores the conversation, not the world it was working in. The commands, the habits that make resuming reliable, and the gap between conversation state and environment state.