This is a submission for the GitHub Copilot CLI Challenge
What I Built
I built TodoCLI, a task management tool designed specifically for developers who live in the terminal. While there are many todo apps, I wanted something that integrated seamlessly into a dev's workflow without the need for a heavy GUI or a complex database setup.
The core of TodoCLI is its GitHub Gist Synchronization. Instead of storing tasks only locally, it leverages GitHub Gists as a lightweight, versioned backend. This allows developers to:
- Keep their task list private or public.
- Sync tasks across different machines (home/work) simply by using a GitHub Token.
- Maintain a "stateless" environment where the source of truth is always accessible via the cloud.
Technical Requirements:
- .NET 8.0 SDK or higher: Built using the latest LTS version of - .NET to ensure cross-platform compatibility and high performance.
- GitHub Personal Access Token (PAT): Required for the Gist synchronization feature.
Built with .NET, it's a fast, cross-platform tool that respects the "Unix philosophy" of doing one thing well.
Demo
In the video below, I provide a quick walkthrough of TodoCLI in action:
You can find the source code and installation instructions here: github.com/gbad8/todoCLI
My Experience with GitHub Copilot CLI
Using the GitHub Copilot CLI during this project was a game-changer, acting as a "pair programmer" that lived inside my terminal. It allowed me to stay in the flow without breaking focus, especially during the architectural phase and the integration process.
Here is how Copilot CLI specifically helped:
- API Integration: GitHub Copilot CLI assisted me in handling the integration with the GitHub API, making the process of interacting with Gists much smoother and more efficient.
- Test-Driven Development (TDD): Since I followed a TDD approach, Copilot was instrumental in generating test cases and ensuring my logic was sound before I even started the actual implementation.
- Identifying Sync Issues: It helped me debug and identify complex synchronization edge cases between local storage and GitHub Gists, ensuring data integrity across different environments.
- Requirements and Modeling: Copilot helped me gather the application requirements and model the core Task entity effectively, ensuring a solid and scalable architectural foundation from the start.
By having AI assistance directly in the command line, I was able to solve problems and refactor code without ever leaving my development environment.
I invite you to test TodoCLI and see how it fits into your terminal-based workflow. You can easily install it as a global .NET tool directly from NuGet. Your feedback, issues, and contributions are more than welcome as I continue to refine this tool for the developer community.
NuGet Package: nuget.org/packages/TodoCLI
Top comments (0)