---
title: "Why I built an agent-first CLI for Umbraco"
description: "How I designed the Umbraco CLI as an operating surface for agents."
publishDate: 2026-05-14
tags: ["AI", "Agentic Engineering", "Umbraco", "Developer Tools"]
author: "Alban Istrefi"
---

Agents are great at using bash, so I keep asking myself: Why not build a CLI for everything?

That philosophy shaped the Umbraco CLI I've been building.

I wasn't mainly interested in building a traditional CLI optimized for humans; I wanted to build an operating surface for agents.

The baseline assumption was that the more useful tools an agent has, the better it can operate. So the CLI was designed around what agents need:

predictable commands, structured JSON, dry-runs before mutations, schema introspection, small responses, clear errors, and commands that can be discovered, composed, retried, and supervised.

Since building the MVP a couple of months ago, I've been dogfooding it with my own agents.

When they hit a limitation, I made them document what failed, why it failed, and what they expected instead. Then I used other agents to implement the fix.

That loop has made the tool much stronger than it would have been if I had designed it in isolation, and it is my go-to tool when working with Umbraco.

The project is open source, agent-first by design, and still evolving through real-world agent usage.

Check it out 👇

[**https://github.com/albanistrefi/umbraco_CLI**](https://github.com/albanistrefi/umbraco_CLI)
