GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - astra-shell/astra-shell: A custom shell for mac OS!

BranchesTags
Open more actions menu

Latest commit

 

History

245 Commits
245 Commits

Folders and files

NameName
Last commit message
Last commit date
.cargo
.cargo
 
 
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.vscode
.vscode
 
 
archive
archive
 
 
assets
assets
 
 
benchmarks
benchmarks
 
 
bin
bin
 
 
build
build
 
 
crates
crates
 
 
drivers
drivers
 
 
examples
examples
 
 
lib
lib
 
 
src
src
 
 
themes
themes
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
ARCHITECTURE.md
ARCHITECTURE.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CODEOWNERS
CODEOWNERS
 
 
CODE_OF_CONDUCT
CODE_OF_CONDUCT
 
 
CONTRIBUTING
CONTRIBUTING
 
 
Cargo.toml
Cargo.toml
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
PACKAGE_FORMAT.md
PACKAGE_FORMAT.md
 
 
README.md
README.md
 
 
ROADMAP.md
ROADMAP.md
 
 
SECURITY.md
SECURITY.md
 
 
astra-shell.rb
astra-shell.rb
 
 
astrarc.example.toml
astrarc.example.toml
 
 
rust-toolchain.toml
rust-toolchain.toml
 
 
rustfmt.toml
rustfmt.toml
 
 

Repository files navigation

readme banner

Rust macOS Open Source Open Source Open Source

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.

Check out our documentation here!

Astra is now prepared for its first stable release and includes a stable CLI, customizable prompt configuration, and Homebrew packaging support.

Table of Contents

  • Features
  • Screenshots
  • Installation
  • Requirements
  • Usage
  • Themes
  • Architecture
  • Supported Languages
  • 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)
  • Optional built-in AI plugin

Screenshots

Shell (Crimson theme):

Screenshot 2026-08-05 at 12 48 32

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:

git clone https://github.com/astra-shell/astra-shell
cd astra-shell

Build:

cargo build --release

Run:

./target/release/astra

Homebrew:

brew tap astra-shell/homebrew-astra-shell https://github.com/astra-shell/homebrew-astra-shell
brew install --build-from-source astra-shell

Astra Shell uses eza as the default ls alias. Homebrew installs eza as a dependency automatically.

If you see a tap trust warning, run:

brew trust astra-shell/homebrew-astra-shell

then re-run:

brew tap astra-shell/homebrew-astra-shell https://github.com/astra-shell/homebrew-astra-shell
brew install --build-from-source astra-shell

If you want to install from the local formula in this repository instead:

brew install --build-from-source ./astra-shell.rb

Uninstalling Astra

brew uninstall astra-shell
brew untap astra-shell/homebrew-astra-shell
rm -f ~/.astrarc

Usage

Start Astra:

astra

Example prompt layout for maximum compatibility:

git main | ~/dev/astra-shell | 14:27 >

Astra also supports CLI helpers and simple Astra script files:

astra --help
astra --version
astra theme list
astra theme show
astra theme set dark
astra eval "pwd"
astra examples/example.astra

Astra executes standard system commands:

ls
cd Projects
git status
python3 script.py

Built-in shell commands available inside Astra:

cd
pwd
clear
history
exit
help
version
about
theme-list
theme-show
theme-set

Configuration

Astra uses:

~/.astrarc

You can copy the example configuration file included in the repository:

cp astrarc.example.toml ~/.astrarc

A robust configuration file includes prompt, theme, history, completion, plugins, and appearance settings. For maximum compatibility across terminals, keep nerd_fonts = false unless your terminal supports Powerline/Nerd Font icons.

[general]
theme = "default"
startup_message = true
update_check = false
telemetry = false

[prompt]
show_user = true
show_hostname = true
show_directory = true
show_git = true
show_time = true
symbol = ">"
separator = "|"

[history]
enabled = true
file = "~/.astra_history"
size = 10000
deduplicate = true
ignore_duplicates = true

[completion]
enabled = true
case_sensitive = false
show_hidden_files = false
max_results = 20

[behavior]
confirm_exit = true
allow_scripts = true
auto_cd = false
vi_mode = false

[plugins]
enabled = true
directory = "~/.astra/plugins"

[appearance]
unicode = true
nerd_fonts = false
animations = true
compact = false

[aliases]
ls = "eza"
ll = "eza -la"
g = "git"

Themes

Built-in themes:

  • crimson
  • midnight
  • matrix
  • obsidian
  • dark
  • light
  • minimal

Themes control:

  • Prompt layout
  • Prompt symbol
  • Displayed information
  • Overall appearance

Architecture

src/
├── main.rs
├── shell.rs
├── prompt.rs
├── parser.rs
├── executor.rs
├── builtins.rs
├── history.rs
├── config.rs
├── theme.rs
├── git.rs
├── completion.rs
└── aliases.rs

Each module has a focused responsibility to keep the project maintainable.

Supported Languages:

  • English
  • Deutsch
  • español
  • 简体中文
  • français
  • 日本語

These languages were translated automatically by AI using Translate.js If there are any spelling errors, report them.

Why Astra?

Astra is an experimental shell written in Rust with an emphasis on readability, modularity, and customization. The goal is to provide a clean foundation that can evolve while remaining approachable for contributors.

Contributing

Contributions are welcome.

git checkout -b feature-name
git commit -m "Add feature"

Then open a pull request.

License

Astra is licensed under the MIT License.

Status

Astra is ready for the first stable release as version 1.0.0.

The core shell, prompt system, configuration loader, history support, themes, Homebrew packaging, and customizable ~/.astrarc configuration are in place. Current work focuses on expanding script support, improving compatibility, and growing the theme library.

About

A custom shell for mac OS!

astra.syop200.com

Topics

astraastra-shellcustom-shellmacosmacos-packageshell

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

2 stars

Watchers

2 watching

Forks

0 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.