aboutexperienceworkcontact
work

Rust . Clap . tokio . LLM API

buddy-rs

A Rust-based shell assistant that helps you through your terminal journey.

problem

Shell commands can be difficult to understand, especially when copied from documentation or other developers without context.

motivation

As a Linux user, I wanted an assistant that could explain commands, encourage safer terminal usage, and integrate naturally into existing workflows.

solution

Built a daemon-backed CLI that explains shell commands using AI while providing lightweight fun command feedback through shell hooks.

decisions

  • Implemented a daemon architecture instead of spawning a new process for every command for command feedback.
  • Used Unix sockets for lightweight inter-process communication.
  • Used Tokio for asynchronous execution.
  • Designed shell integration to remain transparent and minimally intrusive.

challenges

  • Designing reliable communication between shell hooks and the daemon.
  • Handling Unix socket edge cases and interrupted streams.
  • Managing asynchronous processes without impacting shell responsiveness.
  • Minimizing LLM API configuration for users

lessons

  • Systems programming requires careful consideration of process lifecycle and communication.
  • Binary protocols are often more reliable than plain text for inter-process communication.

by the numbers

0

commits

0

downloads

0

releases