Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Seaus-tech/Aurora-Shell/llms.txt

Use this file to discover all available pages before exploring further.

Aurora Shell replaces the default Zsh prompt with a fully dynamic rainbow gradient built from ANSI 256-color escape codes. Every character in the prompt string is individually coloured using a rolling palette, so the gradient shifts with each new line. The prompt is generated at render time by a Zsh function, which means it always reflects the current username, hostname, and time — and any changes you make to AURORA_ID take effect as soon as you source the theme file.

How the Rainbow Prompt Works

The rainbow gradient is produced by the rainbow_prompt() function defined in the generated theme file (~/.aurora-shell_files/aurora-shell_theme). Here is the function exactly as written by the installer:
rainbow_prompt() {
  local raw_text="${AURORA_ID} %n@%m %* > "
  local expanded_text=$(print -P "$raw_text")
  local colors=(196 202 226 190 82 46 48 51 45 39 27 21 57 93 129 165 201 199)
  local out=""
  for (( j=1; j<=${#expanded_text}; j++ )); do
    out+="%{%F{${colors[$(( (j % ${#colors}) + 1 ))]}}%}${expanded_text[j]}%{%f%}"
  done
  echo -n "$out"
}

setopt PROMPT_SUBST
PROMPT='$(rainbow_prompt)'
The function works in three steps:
  1. Template expansion — the raw template "${AURORA_ID} %n@%m %* > " is expanded with print -P so that %n (username), %m (hostname), and %* (current time) are substituted into a plain string before colouring begins.
  2. Character-by-character colouring — the function iterates over every character in the expanded string. For character at index j it picks a colour from the fixed 18-entry palette using (j % 18) + 1 so the palette tiles seamlessly regardless of prompt length.
  3. Zsh colour wrapping — each character is wrapped in %{%F{color}%}char%{%f%}, the standard Zsh zero-width escape sequence that prevents the colour codes from counting toward line length (which would break readline cursor positioning).
The full 18-colour palette in order:
196  202  226  190  82   46   48   51   45   39
27   21   57   93   129  165  201  199
These are ANSI 256-colour indices that sweep from red → orange → yellow → green → cyan → blue → indigo → violet → magenta, creating the characteristic rainbow arc.

Setting a Prompt ID

AURORA_ID is set during the setup wizard or by editing the settings file directly. It is prepended verbatim to the prompt template, before the username and hostname.
# In ~/.aurora-shell_files/aurora-shell_settings
AURORA_ID="dev"
# Results in prompt: dev username@hostname 12:34:56 >
With AURORA_ID="dev" on a machine where the user is alice and the hostname is macbook, the rendered (pre-colour) prompt string would be:
dev alice@macbook 12:34:56 >
Leave AURORA_ID empty to display only username@hostname time > with no prefix.

Windows Prompt

On Windows, the Aurora installer (install.ps1) does not generate a custom prompt function. The default PowerShell prompt remains active. The AURORA_ID variable is written to aurora-shell_settings.ps1 and is available as a PowerShell variable ($AURORA_ID) for scripts and theme customisation, but it is not automatically injected into the PowerShell prompt line.

Zsh Plugin Integration

The Aurora theme file automatically sources zsh-syntax-highlighting and zsh-autosuggestions if they are present at the standard oh-my-zsh plugin paths. These lines are included verbatim in the generated theme (with your actual home directory substituted at install time):
source "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
source "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"
The installer also checks for these plugins dynamically and, when you sign in to an Aurora account, installs any plugins listed in your account profile via git clone. If the plugin directories do not exist the source lines are silently skipped and the rainbow prompt still loads normally.
To apply prompt changes — such as a new AURORA_ID — without restarting your terminal, run:
source ~/.aurora-shell_files/aurora-shell_theme

Build docs developers (and LLMs) love