Radek Hájek (Kofola BI Leader): Running AI Agents From the Terminal in Production — Blog | Keboola

From Terminal to Terminal: A Conversation with Radek Hájek on Keboola CLI

Radek Hájek
Business Intelligence Manager
17 Aug 2026 · 8 min read

Radek leads Business Intelligence at Kofola ČeskoSlovensko, where his work reaches over 500 people across the group's brands. He has been one of Keboola CLI's most active users since its earliest beta.

He's been working with data since the terminal was the only option. Today he's back there by choice, running his team's work through the command line, now powered by AI agents.

We asked him about his production setup, how he works with AI, and why the terminal isn't just for developers anymore: BI people belong there too, and there's nothing to be afraid of.

A little about you: are you naturally drawn to the terminal because you used to be a developer, or are you a BI person who's grown into this? What is your day-to-day responsibility with data?

I've been working with data since 1986, and back then everything ran on a terminal, the database, the work with it, applications, and even the internet in its early days. At Kofola, we ran the MFG-PRO ERP system [a legacy enterprise resource planning system] in a terminal all the way until the end of 2007.

I started out as a PLC programmer [Programmable Logic Controller, industrial automation hardware, not software], but very quickly moved into developing our own ERP system. That work was mostly about processes and data, and I stuck with data ever since.

What do I do with data day to day? Mainly I build data tools for the Kofola group and coordinate our data team. Right now, most of my attention goes to fusing data and AI, both on the development side and how we actually process things.

You've been vocal before about small clicks adding up over a day. Was that frustration part of what pushed you toward the CLI, or did something else tip you over?

It's funny that the IT world is partly circling back to terminals, but it's not exactly unexpected, just watch the first Matrix movie :-).

“For me, this is the new standard: your favorite IDE (VS Code, in my case), plus AI in the terminal with CLI clients installed for pretty much everything.”

RH
Radek Hájek

For me, this is the new standard: your favorite IDE (VS Code, in my case), plus AI in the terminal with CLI clients installed for pretty much everything. Everything stored in Git, Markdown as the base file format for everything. The return to the terminal was fast and painless, partly because AI makes it so much easier to install and operate terminal programs.

And yes, those "little clicks" were one of the triggers. When you're managing dozens of configurations across projects, every "open the project → find the configuration → click through → edit → save," plus switching between projects, takes a few minutes. Multiply that by a day and a whole team, and you get hours of pure clicking that doesn't bring anyone anything.

The moment you said to yourself, "I'm never going back to clicking in UI."?

If there was one specific turning point, it was my first sync pull, the entire project landing on disk in readable form: configurations as YAML [a plain-text format for structured config files], transformations as real SQL files.

Suddenly you see the whole project as a codebase, something you can search, version, and run an agent over.

Everything is text, and once it's text, AI can easily help you with it, either directly, or by building programs around it. You simply can't do that in the UI, and from that moment there was no going back.

Editors note: sync pull is Keboola CLI command that downloads your project's configuration metadata and transformation logic as files.

You're also a user of Keboola MCP. How did you get from MCP + Claude into the CLI?

I started with MCP servers, but compared to a CLI, it's just not as efficient, the strength is in simplicity. For example, when you have more than one project in Keboola, switching MCP connections, or running a separate MCP per project, is pretty impractical, and it doesn't work all that well in practice.

These days I run kbagent (keboola_agent_cli), a CLI built specifically for agentic AI work, and honestly, a fantastic tool. Simple install, automatic updates, and when I send in a feature request, it gets built in unbelievably fast.

For working with data, the main benefit is that I run across all our projects at once, and it can find whatever I need, no matter what I'm working on.

What's the real difference between working through Claude/MCP versus the terminal, if you had to describe it to an average Keboola data engineer?

Compared to MCP, I work with kbagent differently. In one folder I keep a complete backup of every project's configurations, and inside each project a docs folder with documentation. The docs folders, plus a few helper files, are synced to Git.

I start a task by saying: "I have a new task for you on project…" Once the task is done, the documentation lands in that project's docs folder. I can come back to any task at any time; that's how I hold on to context on what I've done or left half-finished.

Sometimes, like everyone, I switch tracks mid-way, "park this task for now, let's do this other thing first," that kind of thing. At the same time, I send business documentation through the CLI into our team's second brain in Obsidian.

Looking at it from a distance now, did the CLI let you do something that was simply a no-go before?

I also have a CLI for Snowflake that I use occasionally, and a CLI for Fabric's PBIR models [Power BI's newer report file format] and reports. But I mostly stick to the Keboola + Fabric combination, both through CLI.

Today I keep one repo with the complete Keboola setup and another with the complete Fabric setup.

That opens up complex report development where I can work on DAX [Power BI's formula language], SQL, or a Python transformation at the same time, based on a transcript of a call with the business stakeholder, across three projects if needed. The result: solved quickly, plus both technical and business documentation, tailored to the specific user.

As our power user, how much of your day is CLI versus UI, if you even go back to the UI at all?

I have to admit, I've almost abandoned the browser UI entirely, and Keboola only just finished the left-side menu I'd been waiting three years for :-).

Did you manage to convince your own team to make the switch too?

Within Kofola's BI team, we share what we use and how we work with each other. I'm seeing fast adoption; everyone has a slightly different approach in the details, that path is something everyone has to find for themselves.

But we do have a few hard rules: never develop on the main branch, always on dev, and merge manually. You need to set your AI rules very carefully and test them occasionally, especially when switching into auto-mode [a setting where the AI acts without asking for approval each time].

Where do you think this trend is headed?

Where is this all heading? Development in the terminal with as many voice commands as possible (a bit of a problem in open-space offices).

What matters most is data quality and knowledge of business processes, that's what a good semantic layer is built on. And that flows into users chatting with their data with minimal hallucination.

Lately, instead of pulling up a report full of charts, I'm hunting through the data for new opportunities or outliers, back to the Matrix again and the woman in the red dress. That takes a somewhat different set of skills than usual, but they can be learned. Or you can just wait for the Neuralink brain interface.

“Lately, instead of pulling up a report full of charts, I'm hunting through the data for new opportunities or outliers ...”

RH
Radek Hájek

Do you think the CLI can be for everyone, even a less technical colleague? What would you tell someone who's scared of the terminal?

From what I've seen with some people, even starting from zero, it goes fast; there's no need to be afraid of it. If you're scared of the terminal, the best thing to do is get to know your enemy. You'll find out it's nothing complicated. At worst, you'll fall down a nearby rabbit hole that has no bottom.