architecture
Each file does one job
Astra is split into small modules under src/, so a contributor can work on the parser without needing to understand the theme engine.
src/
main.rsentry point — starts the shell loop
shell.rsthe core read-eval loop that ties everything together
prompt.rsrenders the segmented, theme-aware prompt
parser.rsturns typed input into a runnable command
executor.rsruns commands and built-ins, manages processes
builtins.rscd, pwd, clear, exit
history.rsstores and recalls previous commands
config.rsreads and applies ~/.astrarc
theme.rsloads theme files and applies their palette
git.rsreads branch and repo status for the prompt
completion.rstab-completion for paths and commands
This is also roughly the order to read the code in if you're new to the repo: main.rs → shell.rs → whichever module you're curious about.