# catsh A small (ish) shell written in ( \*hopefully ) modern C++. ![screenshot](screenshot.png) Made while doing the codecrafters' shell implementation challenge -- but let's see I'll add stuff that I find interesting. Given it's at ~1000 LOC the goal is still to keep it as small as possible, as part of that - Almost no error handling on POSIX apis or otherwise - Linux only - Edge cases are intended to be unhandled wherever they are - focus on "terse" modern cpp code and practices, even if they are not the most efficient - Single file ( I don't think organisational splitting would be good here ) what we DO have is - no external dependencies ( not even GNU readline ), except POSIX and C++ standard library - support for pipelines, redirection, and background processes > [dev notes](https://blog.ruiny.de/C++/Making-a-shell) ## Running `make` wrapper over `cmake` ```sh make build make run make clean ```