🗡️ zoro
A blazingly fast and sharp shell built in Rust.
About The Project
Zoro is a modern, POSIX-compliant shell built from the ground up in Rust. The primary goal of this project is to serve as a deep dive into the fundamentals of shell internals, operating systems concepts, and low-level systems programming.
It aims to be not just a functional shell, but a well-documented and educational resource for anyone looking to understand how shells work under the hood.
🚧 Current Status: Pre-Alpha
Warning: Zoro is currently in the very early stages of development and is not yet suitable for daily use. It is a work-in-progress learning project.
Implemented Features
- Basic Read-Eval-Print Loop (REPL) that can accept input.
- Graceful exit via
Ctrl+D.
Roadmap
The immediate goals are to implement the core features of a shell:
- Parsing: Tokenize and parse user input into commands and arguments.
- Execution: Use
forkandexecveto run external commands. - Built-ins: Implement essential built-in commands like
cd,pwd,exit, andexport. - PATH Handling: Search the
PATHenvironment variable to find executables. - I/O Redirection: Implement
>(output),<(input), and|(pipes). - Error Handling: Provide robust and user-friendly error messages.
Installation
Zoro is published on crates.io. To try it out, you must build it from the source code or install from cargo.
-
Clone the repository:
) -
Build and run using Cargo:
Usage
Once you run the command above, you will be greeted with the Zoro prompt. For now, it will simply echo back any input you provide.
)
)