DEV Community

SYOP200
SYOP200

Posted on

Creating my own shell for unix

Building Astra: A Modern Shell in Rust

I've been working on a personal project called Astra, an interactive shell written in Rust.

The goal isn't to replace every existing shell overnight. Instead, I'm building a clean, modular foundation that's easy to understand, extend, and contribute to.

Some of the features currently in development include:

  • Interactive shell loop
  • Customizable prompt system
  • TOML-based configuration
  • Built-in themes
  • Git-aware prompt
  • Command history
  • Tab completion
  • Alias support
  • Plugin framework (early development)

Alongside the shell itself, I'm also putting together the surrounding ecosystem—documentation, packaging, examples, tests, and GitHub automation—so contributors have a solid starting point.

This project has been a chance to learn more about Rust, shell design, and how larger open-source projects are organized.

It's still early, but it's reached the point where the foundation is in place and I'm beginning to focus on expanding features, improving reliability, and increasing test coverage.

Check out the project here:

GitHub logo astra-shell / astra-shell

A custom shell for mac OS!

readme banner

Rust macOS Open Source

█████████████░░░░░░░░ 65%

Astra Shell

A modern shell built in Rust for Unix-like systems, with macOS as the primary development platform.

Astra is an interactive command-line environment focused on a clean interface, customization, and a better terminal experience. It combines the power of traditional Unix shells with a modern prompt system, configuration, and extensibility.

Warning

Astra Shell has not gone through extensive testing yet. Wait until the first stable release before using it as your primary shell.

Table of Contents

  • Features
  • Screenshots
  • Installation
  • Requirements
  • Usage
  • Themes
  • Why Astra?
  • Contributing
  • License
  • Status

Features

  • Interactive Rust shell
  • Configurable prompt engine
  • Multiple built-in themes
  • Git-aware prompt information
  • Command history
  • Tab completion
  • Alias support
  • TOML configuration
  • Built-in shell commands
  • Modular architecture
  • Plugin framework (in development)

Screenshots

Coming soon.

Installation

Requirements

  • Rust stable toolchain
  • Cargo
  • A Unix-like operating system (macOS officially tested)

Install Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Enter fullscreen mode Exit fullscreen mode

Clone Astra:

Enter fullscreen mode Exit fullscreen mode

Website: astra.syop200.com

(btw, dont tell me the logo looks like a meatball, I know lol)


If you're interested in shells, Rust, or CLI tools, I'd appreciate any feedback or ideas. What features can you not live without in your terminal?

Top comments (0)