Creating my own shell for unix
DEV Community

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: astra-shell / astra-shell
A custom shell for mac OS!
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 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

Clone Astra: โ€ฆ
View on GitHub

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)

Comments

No comments yet. Start the discussion.