Baijing

10 Essential Insights from Building an Emoji List Generator with GitHub Copilot CLI

Published: 2026-05-02 20:38:04 | Category: Open Source

Every week on our Rubber Duck Thursdays stream, the GitHub team builds projects live, collaborates with the community, and answers questions. Recently, we created a delightful CLI tool using the GitHub Copilot CLI: an AI-powered emoji list generator. Here are ten key insights from the development process that you can apply to your own projects.

1. What Is the Emoji List Generator?

The Emoji List Generator is a tiny yet powerful terminal app that automatically adds relevant emojis to your bullet points. You paste or type a list, hit Ctrl+S, and the app sends the enriched list straight to your clipboard. It’s perfect for social media posts, launch announcements, or any place where you want to spice up plain text with emojis—without spending time on manual selection. The tool runs entirely in the CLI, making it fast and keyboard-friendly.

10 Essential Insights from Building an Emoji List Generator with GitHub Copilot CLI
Source: github.blog

2. The Origin: A Rubber Duck Thursdays Idea

The idea emerged during our weekly Rubber Duck Thursdays stream. One of the streamers noted that coming up with the perfect emoji for bullet points was too slow in a “move fast and break things” world. So we asked: could we build an AI tool to do it for us? That simple moment of frustration sparked the entire project. It’s a great example of how real-world pain points can lead to creative solutions when you have the right tools at hand.

3. Starting with Plan Mode in Copilot CLI

We launched the project by opening the GitHub Copilot CLI in plan mode, using Claude Sonnet 4.6. We gave it a goal: “Create an AI-powered markdown emoji list generator that runs in the terminal, replaces bullet points with relevant emojis, and copies the result to the clipboard.” Copilot then asked clarifying questions—about the tech stack, libraries, and user interaction—and generated a detailed plan.md file. This plan served as our blueprint, saving us hours of upfront design work.

4. Clarifying Questions That Shaped the Architecture

During the planning phase, Copilot asked about the preferred terminal UI framework and how to handle clipboard access. A chat participant suggested OpenTUI, and we quickly adopted it for the interface. Copilot also raised considerations about error handling and user feedback loops. These questions forced us to think through the UX before writing any code, leading to a more polished final product. The back-and-forth demonstrates how AI can act as a collaborative design partner, not just a code generator.

5. Implementation with Claude Opus 4.7

With the plan ready, we switched to Claude Opus 4.7 (recently released at the time) and used autopilot mode to implement the features. Within minutes, we had a functional terminal UI. The AI wrote the core logic, integrated the clipboard library, and set up the event handler for Ctrl+S. This rapid iteration allowed us to test and tweak the app live on stream, turning an idea into a working prototype in record time.

6. Core User Experience: Fast and Keyboard-Driven

The generator’s workflow is simple: you paste or type a list in the terminal, press Ctrl+S, and the AI processes each bullet point to add a relevant emoji. The result is instantly copied to your clipboard via the clipboardy library. No mouse, no web interface—just keyboard commands. This design aligns with the CLI-first philosophy of power users who value speed and automation. The app also provides visual feedback, showing the transformed list before copying.

10 Essential Insights from Building an Emoji List Generator with GitHub Copilot CLI
Source: github.blog

7. Technologies That Made It Possible

Three key libraries powered the app: @opentui/core for the terminal user interface, @github/copilot-sdk for the AI brain, and clipboardy for seamless clipboard integration. OpenTUI provided a flexible framework for building interactive CLI apps with minimal boilerplate. The Copilot SDK handled the emoji selection logic, using natural language understanding to match each bullet point to an appropriate emoji. Clipboardy ensured cross-platform clipboard access without extra configuration.

8. Multi-Model Workflow and Key Flags

A standout feature of this build was the multi-model workflow. We used two different AI models—Claude Sonnet 4.6 for planning and Claude Opus 4.7 for implementation—each chosen for its strengths. We also used the allow-all-tools flag to give Copilot CLI full access to necessary utilities, and the GitHub MCP server for repository integration. This combination shows how combining models and enabling tool access can unlock advanced capabilities in AI-assisted development.

9. Leveraging the GitHub MCP Server

The GitHub MCP server played a crucial role by providing Copilot CLI with contextual knowledge about the project repository, such as file structure and existing code. This allowed the AI to generate code that fit seamlessly into our setup. For example, the server helped resolve import paths and library versions automatically. Using MCP (Model Context Protocol) servers is an emerging best practice for grounding AI assistance in real project context, reducing hallucinations and manual corrections.

10. Open Source and How to Get Started

The Emoji List Generator is free and open source, available on GitHub for anyone to fork, modify, or learn from. To build your own version, start by installing the GitHub Copilot CLI and exploring the Copilot SDK documentation. You can also check out the full stream replay on Rubber Duck Thursdays. The project is a perfect small-scale example of AI-assisted development—ideal for learning the Copilot CLI workflow.

Building the Emoji List Generator taught us how even a simple idea can be executed quickly with the right AI tools and a collaborative mindset. From plan mode to autopilot, and from OpenTUI to GitHub MCP, every component played a role. Try it yourself, and see what you can create in a single stream session.