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