This is a submission for the GitHub Copilot CLI Challenge
What I Built
binmate is a CLI/TUI application for managing binary installations from GitHub releases. It provides an easy way to install, manage, and switch between different versions of command-line tools.
Why I Built It
Depending on which platform you are working with, especially Linux, many of the common public package manager repositories such as apt may be several versions behind the latest available for software you want to install forcing you to install manually. This can be particularly problematic in project development when working with different toolchains which may not be available in runtime specific package managers such as npm, go.pkg.dev or pypi. This then leads to having to manually maintain updates to new versions which could get tedious depending on the volume of packages you need to upgrade.
Additionally, unlike tools such as nvm for Node.js version management, there is often no straightforward way to switch between different installation versions for troubleshooting or rollback purposes.
Key Features
- Interactive TUI: Browse and manage binaries with a Terminal User Interface
- CLI Commands: Automate binary management with command-line interface
- Version Management: Install multiple versions and switch between them
- GitHub Integration: Automatically fetch releases from GitHub repositories
- Database Tracking: SQLite database tracks all installations and versions
- Checksum Verification: Ensures integrity of downloaded binaries
Tech Stack
- Go
- Bubble Tea
- Lip Gloss
- Cobra
- Viper
- SQLite
Demo
This short recording demonstrates the following functionality:
- first check current version of the
ghCLI (initially not installed) - launch
binmate - install non-latest version
- verify installed version
- re-launch
binmate - update to latest version
- verify latest version is installed
Screenshots for remaining features are available on GitHub
cturner8
/
copilot-cli-challenge
Submission for the 2026 DEV Copilot CLI challenge
DEV GitHub Copilot CLI Challenge
Submission for the 2026 DEV GitHub Copilot CLI challenge.
About binmate
binmate is a CLI/TUI application for managing binary installations from GitHub releases. It provides an easy way to install, manage, and switch between different versions of command-line tools.
Key Features
- Interactive TUI: Browse and manage binaries with a Terminal User Interface
- CLI Commands: Automate binary management with command-line interface
- Version Management: Install multiple versions and switch between them
- GitHub Integration: Automatically fetch releases from GitHub repositories
- Database Tracking: SQLite database tracks all installations and versions
- Checksum Verification: Ensures integrity of downloaded binaries
See demo.md for a demo and screenshots.
Installation
Using the Install Script (Recommended)
Unix (Linux/macOS)
Install the latest version using our install script:
curl -fsSL https://raw.githubusercontent.com/cturner8/copilot-cli-challenge/main/install.sh | bash
By default, the installer now auto-imports the installed binmate binary for self-management using its resolved release URL…
My Experience with GitHub Copilot CLI
Development of the application used the following GitHub Copilot CLI capabilities:
- Agent instructions for baseline codebase structure and standards, later extended to also heavily utilise beads for improved task tracking and persistent agent memory.
-
Custom agents to provide more focused and specialised agents. The following were originally sourced from the awesome-copilot repository:
- Critical Thinking, see critical-thinking.agent.md
- Go Development Expert, revised from "Go MCP Server Development Expert" to be a generic go agent, see go-expert.agent.md
- SQLite Database Administrator, revised from "PostgreSQL Database Administrator" agent, see sqlite-dba.agent.md
-
MCP
-
context7for providing up to date documentation for packages and libraries. - The
GitHub MCPbuilt into Copilot CLI was ideal for allowing the agent direct access to search public codebases, access to action workflow logs for troubleshooting, allowing follow up tasks and recommendations to be extracted from PR comments.
-
-
Plan mode to refine and improve the following implementations:
- initial application architecture and structure
- database schema
- TUI functionality based on existing CLI functionality
- build and release action workflows
- end-to-end testing workflow (still in progress)
- Delegate to cloud agent once an implementation plan is finalised, allowing Copilot to continue working on a task freeing me up to focus on something else. It was also useful in allowing development to continue in moments where I had less time available to spend at my desk.
- Code review to identify any potential issues or areas for improvement in code changes, particularly helpful given I worked alone on the project.

Top comments (0)