Skip to content
Jorge Ortiz
All work

Sole engineer

Hermit

A POSIX shell written in Rust, built to learn the language from the systems level up.

Stack

  • Rust
  • anyhow
  • thiserror

Details

Context

I wanted to learn Rust properly, which for me means writing something with real constraints rather than working through exercises. A shell is a good target: it is small enough to finish, but it forces you into process management, file descriptors, string parsing and error handling — the parts of systems programming that Rust's ownership model actually has opinions about.

Approach

Building it against the CodeCrafters shell challenge, which supplies a test suite and a staged specification. That removes the two things that usually kill a learning project: deciding what "done" means, and not knowing whether the thing is correct.

So far: the REPL loop, command parsing, and the echo, exit and type builtins, with anyhow and thiserror for error handling — the idiomatic split between application-level context and typed library errors.

Status

In progress. Currently around 150 lines across the REPL and builtins. Next is quoting and escape handling, then redirection, then pipelines — which is where the process-management and file-descriptor work starts in earnest.

I am including it here mid-build deliberately. Most of what a portfolio shows is finished and polished, which says nothing about how someone works when the problem is still open.