🔍
An Innovation Story

When You Can't See,
You Can't Fix

How frustration with TUI debugging led to creating a bundle that enables Amplifier to see terminal interfaces — and fix its own TUI client.

Diego Colombo · January 30, 2026
Active
Chapter 1: The Frustration

Building a TUI Client for Amplifier

The goal was simple: a terminal interface. The reality was anything but.

The Issues Piled Up
Completion Menu Broken
"Only 2 items showing... at the end and not fully visible"
Tab Inserts Too Much
"Brings in both command and description"
@ Completion Dead
"The @ is not working at all"
Parse Errors in Textual
"CSS parse failed... selector '._textual'"
The Real Problem
👁️❌
Amplifier Couldn't See What I Saw
Every fix attempt was blind. I'd describe the issue, Amplifier would guess at a solution, and neither of us could verify if it worked without me manually running the TUI and reporting back.

The Core Problem

"The main struggle is that I need it to be able to spin off a terminal and launch the TUI experience, drive it and then see the screenshots of the terminal to see what is happening and be able to fix it."
— Diego, Jan 30 session, creating the solution
🚀
Spin Off
Launch TUI in terminal
⌨️
Drive
Send keystrokes
📸
See
Capture screenshots
🔧
Fix
Make corrections
Chapter 2: The Insight

Build a Tool, Not a Workaround

💡 The Realization
Instead of manually testing and describing issues to Amplifier, what if Amplifier could see the terminal itself?
🔄 The Meta-Solution
Create a bundle that gives Amplifier the power to test TUI applications — including its own TUI client.
🎯 The Decision
"I need you to create a new bundle to help with this kind of experience. This will be useful to test the UX of terminal experiences and tools from both output and look point of view."
Requirements Defined
  • Spawn - Launch TUI apps in headless terminals
  • Drive - Send real keystrokes (arrows, tab, enter, ctrl)
  • Capture - Get text + ANSI + PNG screenshots
  • Analyze - AI vision to see what's wrong
  • Headless - No X11/display required
  • Valid Bundle - Must be proper Amplifier bundle
  • Self-Installing - Install its own dependencies

I Described It, Amplifier Built It

1. Architecture Design
Amplifier consulted zen-architect to design the bundle structure: tool module, session manager, key parser, image renderer
2. PTY Implementation
modular-builder created the session manager using Python's pty module for pseudo-terminal emulation
3. Terminal Emulation
Integrated pyte for VT100 terminal emulation — processes ANSI sequences, tracks screen buffer
4. Key Parsing
Created key parser that converts {ENTER}, {TAB}, {CTRL+C} etc. to actual escape sequences
5. Image Rendering
PIL-based renderer converts terminal buffer to PNG with colors, cursor, and proper monospace font
6. Bundle Published
Created repo colombod/amplifier-bundle-tui-tester and pushed to GitHub

The TUI Tester Architecture

TUITerminalTool
spawn · send_keys · capture · close · list
SessionManager
Tracks multiple concurrent terminal sessions
🖥️
PTY Process
pty.fork()
📺
pyte Screen
VT100 emulation
🎨
PIL Renderer
PNG output
Dependencies: pyte>=0.8.0 + Pillow>=10.0.0 + amplifier-core

Full Terminal Control

🚀
Spawn Sessions
Launch any TUI app in a headless pseudo-terminal with configurable size (rows × cols)
⌨️
Full Keyboard
All keys supported: arrows, tab, enter, escape, F1-F12, Ctrl combos, and raw text
📸
Triple Capture
Get plain text, ANSI-formatted text, AND PNG screenshot in one call
🎨
Color Support
Full ANSI color rendering in screenshots — see exactly what the user sees
🔄
Multi-Session
Run multiple TUI tests concurrently with independent session management
🤖
AI Analysis
Feed screenshots to vision AI to identify layout issues, visual bugs, misalignments

Testing a TUI with Amplifier

tui_terminal workflow
# 1. Spawn the TUI application result = tui_terminal( operation="spawn", command="uv run amplifier-tui run" ) session_id = result["session_id"] # 2. Type "/" to trigger completion menu tui_terminal( operation="send_keys", session_id=session_id, keys="/" ) # 3. Capture screenshot — THIS is the magic capture = tui_terminal( operation="capture", session_id=session_id ) # capture.image_path → PNG of what user sees! # 4. AI analyzes the screenshot "I can see the completion menu only shows 2 items and is positioned at the bottom edge, partially cut off. The issue is in the CompletionList max_height setting."
The Breakthrough
Amplifier can now see what's wrong, not just guess from descriptions
Chapter 3: The Meta Achievement

Amplifier Helping Amplifier

🤖
Amplifier
builds bundle
📦
TUI Tester
enables vision
🖥️
amplifier-tui
gets tested
Fixed TUI
better experience
"I built a bundle that gives Amplifier the power to test TUI applications — including its own TUI client. Now Amplifier can see what's wrong and fix it."
— The self-improving development loop
This is what makes Amplifier different: It can build the tools it needs to improve itself.

What We Built in One Session

1
bundle created
1
tool module
5
operations
TUIs testable
📁
Repository
colombod/amplifier-bundle-tui-tester
⚙️
Components
Tool · SessionManager · Keys · Renderer · Agent
🎯
Use Cases
TUI testing · Visual QA · CI/CD · Regression

Before → After

😤 Before TUI Tester
  • Manually run TUI in terminal
  • Observe issue with my eyes
  • Describe issue in words to Amplifier
  • Amplifier guesses at the fix
  • Repeat until maybe fixed
  • Hours of iteration per issue
😵
😎 After TUI Tester
  • Amplifier spawns TUI automatically
  • Drives interaction with keystrokes
  • Captures screenshot
  • AI vision sees the actual problem
  • Makes informed fix
  • Autonomous debugging loop
🚀

Research Methodology

Data as of: February 20, 2026

Feature status: Active

Research performed:

  • Local search: find ~/dev/ANext -maxdepth 2 -name "*tui*" - found amplifier-tui repo at ~/dev/ANext/amplifier-tui
  • TUI tester bundle: colombod/amplifier-bundle-tui-tester (GitHub)
  • Narrative sourced from Diego Colombo's January 30, 2026 session

Gaps: Exact commit counts and line counts not independently verified from local repo. Session transcript not available for direct quote verification.

Repository: colombod/amplifier-bundle-tui-tester

Primary contributors: Diego Colombo (colombod) - bundle author

💡
The Lesson

When Stuck,
Build the Tool

Instead of fighting a limitation, I asked Amplifier to build a capability.

Now that capability exists for everyone — not just for my TUI, but for any terminal interface anyone wants to test.

Diego Colombo · Day 4 of Amplifier Onboarding
"When you can't see, you can't fix. So I gave Amplifier eyes."
More Amplifier Stories