Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Development Setup

How to set up a development environment for contributing to AetherShell.

Prerequisites

  • Rust 1.88+ (install via rustup)
  • Git
  • pkg-config and OpenSSL dev headers (Linux)
  • Optional: Ollama for local AI model testing

Platform-Specific

Ubuntu/Debian:

sudo apt install build-essential pkg-config libssl-dev

macOS:

brew install openssl pkg-config

Windows:

# Rust includes MSVC build tools; ensure Visual Studio C++ Build Tools are installed

Clone and Build

git clone https://github.com/nervosys/AetherShell.git
cd AetherShell
cargo build --bins

This produces two binaries:

  • target/debug/ae — the main shell
  • target/debug/aimodel — the AI model management CLI

Run Tests

cargo test                    # All tests (~272)
cargo test --lib              # Library unit tests
cargo test --test eval        # Specific test file
cargo test pipeline           # Tests matching "pipeline"

Launch for Development

# REPL mode
cargo run

# TUI mode
cargo run -- --tui

# Execute a script
cargo run -- examples/00_hello.ae

# AI model server
cargo run --bin aimodel -- serve --port 8080

Environment Variables

VariablePurposeExample
AETHER_AIDefault AI provideropenai
OPENAI_API_KEYOpenAI API keysk-...
OLLAMA_HOSTOllama server URLhttp://localhost:11434
AGENT_ALLOW_CMDSAgent tool allowlistls,git,cat
AETHER_LOGLog leveldebug

IDE Setup

VS Code

Install the AetherShell extension from the marketplace, or load it from source:

cd vscode-extension
npm install
npm run compile
# Press F5 to launch Extension Development Host

Recommended extensions:

  • rust-analyzer — Rust language support
  • Even Better TOML — Cargo.toml editing
  • CodeLLDB — Debugger

Configuration

.vscode/settings.json:

{
  "rust-analyzer.cargo.features": "all",
  "rust-analyzer.check.command": "clippy",
  "editor.formatOnSave": true
}

Project Layout

DirectoryContents
src/Core shell source
src/ai_api/AI model server
src/tui/Terminal UI
src/transpile/Bash transpiler
src/bin/Additional binaries
tests/Integration tests
test-scripts/Script-based tests
examples/Example .ae scripts
docs/book/mdBook documentation
web/Web dashboard & WASM
vscode-extension/VS Code extension