SyncAI.news, a Varaisys broadcasting
Spaces: A CLI Built for Humans and Agents
MA

Mistral AI

· 2 min read

AI LabsMistral AI

Spaces: A CLI Built for Humans and Agents

Most developer tools start the same way. You need to do a thing repeatedly, so you write a script. The script grows flags. The flags grow subcommands. Before you know it, you've got a CLI.

We had this exact experience when building an internal platform tool to help our solutions team ship faster. It scaffolds projects, spins up dev environments, generates configs, and deploys to staging.

As our CLI grew in scope, so did the number of our internal users. But then, something interesting happened: suddenly, we were no longer building just for human developers, but for coding agents too.

What Good DX Looks Like

Before we talk about agents, let's talk about what makes a CLI actually pleasant for human developers.

Spaces is opinionated about the boring stuff. It picks sane directory structures so you don't have to. It generates the config files you'd otherwise copy from the last project. It wires services together so your API and your frontend can talk on day one, not after an hour of YAML editing or “vibing”.

Here's what a typical session looks like:

Three commands. You go from nothing to a running multi-service project with hot reload, a database, and generated Dockerfiles. That's the bar.

The commands that matter tend to fall into three buckets:

  • Scaffolding -- These create structure, ask questions, show options, let you explore.

  • Development -- These are your inner loop. They just “run”.

  • Operations -- These touch production. Careful, double-check before acting

This is all table stakes. But then our second user showed up and we discovered we needed something a little different, and a lot more interesting.

The Second User: The Agent

We built a TUI module picker for init. Fancy changes, commands, it looked super.

Then an agent tried to use it.

The agent saw raw ANSI escape codes. \\\\x1b[36m?\\\\x1b[0m Select components. It couldn't send arrow keys or toggle selections. It was locked out of the command entirely.

Every prompt is a flag in disguise

Structured Data as Interface

The fix:

Original source

This story was published by Mistral AI. SyncAI.news shows a preview; the complete article is on the publisher's site.

Read the full story on mistral.ai

Similar News