Hello World, Meet Pebbles
Source: Dev.to
Introduction
AI is everywhere, and I’m overwhelmed by how little I understand and how fast things are moving. Instead of trying to catch up, I decided to build something to learn by doing. I took inspiration from open‑source projects like pi‑mono and qwen‑code, which let me read the code and see how they work. Because I’ve always loved terminal apps, it made sense to create a coding‑agent CLI.
I called it Pebbles. You can check it out on GitHub.
Stack
- .NET – core runtime and libraries
- Spectre.Console – for a colorful, interactive terminal UI
First version features
- A mock AI provider that simply echoed responses
- Basic command handling
- A colorful terminal UI
- Input handling with history (arrow‑key navigation)
The mock provider let me focus on the user experience first: what does it feel like to chat with an AI in the terminal?
Demo
❯ You: Hello, Pebbles!
⬡ Pebbles:
Hello! I'm a mock AI provider.A simple prototype, but it works. I can type, see responses, and navigate with the arrow keys.
Challenges
Terminal UI
- Layout and resizing are tricky.
- Making the interface look good requires careful handling of Spectre.Console components.
Input handling
- Managing history, cursor movement, and special keys adds complexity.
Architecture
- Keeping a clean separation between UI, command processing, and the AI layer paid off later, making the codebase easier to extend.
Reflections
- AI as a tutor – I’m not writing everything by hand, and that’s okay. Traditional software‑building methods feel outdated; using AI to help me understand the tools I use daily seems like the way forward.
- Every line of code teaches me something new.
Next steps
I plan to connect Pebbles to a real AI service. For now I’m exploring the Coding Plan offered by Alibaba Cloud, which provides a variety of open‑source models, including:
- Qwen3.5‑Plus (vision)
- Kimi‑K2.5 (vision)
- GLM‑5
- MiniMax‑M2.5
- Qwen3‑Max‑2026‑01‑23
- Qwen3‑Coder‑Next
- Qwen3‑Coder‑Plus
- GLM‑4.7
I want to see how Pebbles behaves when responses aren’t predictable: will it be slow? How will the “thinking” process appear? Is integration hard? How quickly will I burn through free credits?
Not knowing the answers—and building anyway—that’s the fun part.