<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Guilherme d'Almeida </title>
    <description>The latest articles on Forem by Guilherme d'Almeida  (@gbad8).</description>
    <link>https://forem.com/gbad8</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3569792%2F4fd9d0f5-8648-4d60-ae5d-f092b118a38d.jpeg</url>
      <title>Forem: Guilherme d'Almeida </title>
      <link>https://forem.com/gbad8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gbad8"/>
    <language>en</language>
    <item>
      <title>TodoCLI: A .NET 8 Task Manager with GitHub Gist Sync</title>
      <dc:creator>Guilherme d'Almeida </dc:creator>
      <pubDate>Thu, 12 Feb 2026 11:51:54 +0000</pubDate>
      <link>https://forem.com/gbad8/todocli-a-net-8-task-manager-with-github-gist-sync-4cah</link>
      <guid>https://forem.com/gbad8/todocli-a-net-8-task-manager-with-github-gist-sync-4cah</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;TodoCLI&lt;/strong&gt;, a task management tool designed specifically &lt;strong&gt;for developers who live in the terminal&lt;/strong&gt;. 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The core of TodoCLI is its GitHub Gist Synchronization&lt;/strong&gt;. Instead of storing tasks only locally, it leverages GitHub Gists as a lightweight, versioned backend. This allows developers to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep their task list private or public.&lt;/li&gt;
&lt;li&gt;Sync tasks across different machines (home/work) simply by using a GitHub Token.&lt;/li&gt;
&lt;li&gt;Maintain a "stateless" environment where the source of truth is always accessible via the cloud.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical Requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET 8.0 SDK or higher: Built using the latest LTS version of - .NET to ensure cross-platform compatibility and high performance.&lt;/li&gt;
&lt;li&gt;GitHub Personal Access Token (PAT): Required for the Gist synchronization feature.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built with .NET, it's a fast, cross-platform tool that respects the "Unix philosophy" of doing one thing well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;In the video below, I provide a quick walkthrough of TodoCLI in action:&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/N-bKr8h3G8E"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;You can find the source code and installation instructions here: &lt;a href="//github.com/gbad8/todoCLI"&gt;github.com/gbad8/todoCLI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is how Copilot CLI specifically helped:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;- API Integration:&lt;/strong&gt; 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.&lt;br&gt;
&lt;strong&gt;- Test-Driven Development (TDD):&lt;/strong&gt; 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.&lt;br&gt;
&lt;strong&gt;- Identifying Sync Issues:&lt;/strong&gt; It helped me debug and identify complex synchronization edge cases between local storage and GitHub Gists, ensuring data integrity across different environments.&lt;br&gt;
&lt;strong&gt;- Requirements and Modeling:&lt;/strong&gt; Copilot helped me gather the application requirements and model the core Task entity effectively, ensuring a solid and scalable architectural foundation from the start.&lt;/p&gt;

&lt;p&gt;By having AI assistance directly in the command line, I was able to solve problems and refactor code without ever leaving my development environment.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NuGet Package:&lt;/strong&gt; &lt;a href="//nuget.org/packages/TodoCLI"&gt;nuget.org/packages/TodoCLI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
