<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cli on Home</title>
    <link>https://blog.rafaelfernandez.dev/tags/cli/</link>
    <description>Recent content in Cli on Home</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Rafael Fernandez</copyright>
    <lastBuildDate>Mon, 26 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rafaelfernandez.dev/tags/cli/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Todo CLI in Rust 5. Next step moving from CLI to a TUI with ratatui</title>
      <link>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-5-cli-to-tui-with-ratatui/</link>
      <pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-5-cli-to-tui-with-ratatui/</guid>
      <description>We close the series by exploring what it means to migrate from CLI to TUI with ratatui: how the interaction model changes, what frictions Rust introduces with ownership and &amp;amp;mut in a persistent event loop, and why hexagonal architecture absorbs the change without surgery.</description>
      
    </item>
    
    <item>
      <title>Todo CLI in Rust 4. Building the CLI with clap: typed parsing, subcommands and dual output</title>
      <link>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-4-building-cli-with-clap/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-4-building-cli-with-clap/</guid>
      <description>We design the CLI layer with clap derive, typed argument parsing with ValueEnum and FromStr for UUIDs, subcommands as enums, global &amp;ndash;output flag for dual table/json output, and errors propagated through layers down to stderr.</description>
      
    </item>
    
    <item>
      <title>Todo CLI in Rust 2. Immutable domain and typed errors by layer</title>
      <link>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-2-immutable-domain-typed-errors/</link>
      <pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-2-immutable-domain-typed-errors/</guid>
      <description>In this part we model the heart of the project: the Task entity, its immutable transitions, and a taxonomy of errors by layers. Less magic, more explicit rules, and fewer surprise bugs.</description>
      
    </item>
    
    <item>
      <title>Todo CLI in Rust 1. Hexagonal architecture in a small project</title>
      <link>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-1-hexagonal-architecture/</link>
      <pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-1-hexagonal-architecture/</guid>
      <description>We kick off the series by building a To-Do CLI in Rust from CodeCrafters&amp;rsquo; Project #1, but without turning it into a giant script. We cover architecture decisions, layer boundaries, and why a small project can also teach you serious design.</description>
      
    </item>
    
    <item>
      <title>Todo CLI in Rust 0. Series roadmap and repository map</title>
      <link>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-0-roadmap-repository-map/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/todo-cli-rust-0-roadmap-repository-map/</guid>
      <description>Reading guide for the Todo CLI in Rust series, featuring the repository&amp;rsquo;s technical map, recommended reading order, and direct links to files and commits to follow each decision step by step.</description>
      
    </item>
    
  </channel>
</rss>
