zoro 1.2.0

blazingly fast and sharp shell built in rust
# 🗡️ zoro

*A blazingly fast and sharp shell built in Rust.*

[![Crates.io](https://img.shields.io/crates/v/zoro.svg?style=flat-square&logo=rust)](https://crates.io/crates/zoro)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)

---

## 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 `fork` and `execve` to run external commands.
-   [ ] **Built-ins:** Implement essential built-in commands like `cd`, `pwd`, `exit`, and `export`.
-   [ ] **PATH Handling:** Search the `PATH` environment 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.

1.  **Clone the repository:**
    ```sh
    git clone [https://github.com/simplysabir/zoro.git](https://github.com/simplysabir/zoro.git)
    cd zoro
    ```

2.  **Build and run using Cargo:**
    ```sh
    cargo run
    ```

## 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.

```sh
$ cargo run
   Compiling zoro v0.1.0 (/path/to/zoro-shell)
    Finished dev [unoptimized + debuginfo] target(s) in 0.50s
     Running `target/debug/zoro`
[zoro] > hello world
echo: hello world
[zoro] >