Day 1 of Macchiato: The Agent Terminal Born from Coffee
The Challenge
In the world of development, managing multiple projects often involves juggling various technologies and directories. Currently, I'm working on four distinct projects: one in Vue, another in Spring Boot, a Node.js worker, and the Guayoyo landing page. Each project resides in its own folder, and depending on the day, I switch between using Claude Code and OpenCode, contingent on which command line interface (CLI) is functioning.
The process is a repetitive ritual that disrupts my focus:
- I envision my task—five seconds of clarity.
- I open the terminal—my train of thought vanishes.
- Navigate to the project directory—if I don’t err.
- Check for installed CLI—Claude or OpenCode?
- Launch CLI—by then, my initial intent has dissipated.
It's not merely the time lost—30 seconds at most—but the erosion of intent. Each time I undergo this routine, the initial spark of motivation fades away between navigation commands and installation checks.
This friction is not unique to me. Any developer using agent CLIs can recount similar tales. The hurdle lies not in leveraging AI but in accessing it. There’s a chasm between idea and execution filled with directory navigation, installation verification, and lost context.
In this field, such friction can determine whether a project is completed or abandoned in some forgotten directory.
Day 1: Building the Foundation
This morning, I launched a new project with Electron. By 7 AM, I had an empty Electron project. By 10 AM, a functioning PTY was rendering a shell within the window. By 2 PM, the app could detect whether Claude Code and OpenCode were installed. By 6 PM, with SQLite managing configurations and sessions, I could open either CLI with a single button click.
Though it may not be magic, the combination of Electron, Vue 3, node-pty, and better-sqlite3 creates an experience that feels magical.
What Macchiato Achieves Today:
- Offers a fully functional shell with PTY support—not just a wrapper, but a real terminal.
- Automatically detects Claude Code, OpenCode, or both in your PATH.
- Opens each CLI in a new tab with its own context.
- Sessions persist: close, open, and continue exactly where you left off.
- State is stored locally via SQLite—no external service dependencies.
All this in one place, with no configuration needed—just open the app and click.
Day 2: Where It Gets Interesting
Tomorrow, the focus shifts to real-time usage metrics.
Not just a generic "tokens used" counter, but detailed insights:
- Session usage: Track precisely how many tokens were consumed in each conversation.
- Weekly and monthly consumption: Understand how budgets slip away through unnoticed subscriptions.
- Configurable limits per CLI: Set limits and receive alerts before they’re breached.
For those using Claude Code with their API keys, every change incurs real token costs. In enterprises with numerous developers, unchecked usage can lead to financial pitfalls. Macchiato aims to bring these numbers to light in real time.
And this is just day two. Plans are in place for days three, four, and beyond.
Why "Macchiato"?
Guayoyo.tech is the company behind this venture. A guayoyo is a long, black Venezuelan coffee—ubiquitous in any Venezuelan household. A macchiato is its Italian cousin: an espresso with a touch of milk.
Macchiato is my espresso: denser, more concentrated, stained with ambition. It’s the tool I sought but couldn’t find.
What's Next
Macchiato isn’t available for download yet, but it’s close. What was built today is operational on my machine across three different projects, and the plan is to have it in the hands of beta testers within weeks.
If you’ve ever experienced the frustration of opening a terminal, navigating directories, and questioning why things aren’t simpler, stay tuned. This is just the beginning.
Coming soon to guayoyo.tech. And yes, it will start as a free tool, because no one should have to pay to open their terminal with a button.