<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rush Shell - A Unix shell written in Rust</title>
<link rel="stylesheet" href="styles.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@300;400;500;600;700&display=swap"
rel="stylesheet">
</head>
<body>
<div class="layout">
<nav class="sidebar" id="sidebar">
<div class="sidebar-header">
<div class="logo-container">
<div class="logo">🚀</div>
<h2>Rush Shell</h2>
</div>
</div>
<div class="sidebar-nav">
<a href="index.html" class="nav-link active">
<span class="nav-icon">🏠</span>
<span>Overview</span>
</a>
<a href="features.html" class="nav-link">
<span class="nav-icon">⚡</span>
<span>Features</span>
</a>
<a href="installation.html" class="nav-link">
<span class="nav-icon">📦</span>
<span>Installation</span>
</a>
<a href="usage.html" class="nav-link">
<span class="nav-icon">🎯</span>
<span>Usage</span>
</a>
<a href="architecture.html" class="nav-link">
<span class="nav-icon">🏗️</span>
<span>Architecture</span>
</a>
<a href="compliance.html" class="nav-link">
<span class="nav-icon">✅</span>
<span>POSIX Compliance</span>
</a>
<a href="benchmarks.html" class="nav-link">
<span class="nav-icon">📊</span>
<span>Benchmarks</span>
</a>
</div>
<div class="sidebar-footer">
<div class="version-info">
<span class="version">v0.8.0</span>
<span class="status">~96% POSIX Compliant</span>
</div>
<div class="external-links">
<a href="https://github.com/drewwalton19216801/rush-sh" target="_blank" class="external-link">
<span class="nav-icon">🔗</span>
<span>GitHub</span>
</a>
</div>
</div>
</nav>
<main class="main-content">
<button class="mobile-menu-btn" id="mobileMenuBtn">
<span></span>
<span></span>
<span></span>
</button>
<header class="page-header">
<div class="header-content">
<div class="breadcrumb">
<span>Rush Shell Documentation</span>
</div>
<div class="header-actions">
<button class="theme-toggle" id="themeToggle">
<span class="theme-icon">🌙</span>
</button>
<div class="search-container">
<input type="text" class="search-input" placeholder="Search documentation..."
id="searchInput">
<span class="search-icon">🔍</span>
</div>
</div>
</div>
</header>
<div class="page-content">
<section class="hero">
<div class="hero-content">
<div class="hero-text">
<h1 class="hero-title">
Rush Shell
<span class="version-badge">v0.8.0</span>
</h1>
<p class="hero-subtitle">
A comprehensive POSIX sh-compatible shell implementation written in Rust
</p>
<div class="hero-description">
<p>Rush is a feature-rich Unix shell that combines the reliability and safety of Rust
with full POSIX compliance. Built from the ground up with performance, security, and
maintainability in mind.</p>
</div>
<div class="hero-stats">
<div class="stat">
<div class="stat-value">~96%</div>
<div class="stat-label">POSIX Compliant</div>
</div>
<div class="stat">
<div class="stat-value">32</div>
<div class="stat-label">Built-in Commands</div>
</div>
<div class="stat">
<div class="stat-value">499+</div>
<div class="stat-label">Test Functions</div>
</div>
<div class="stat">
<div class="stat-value">100%</div>
<div class="stat-label">Rust Powered</div>
</div>
</div>
</div>
<div class="hero-visual">
<div class="terminal-demo">
<div class="terminal-header">
<div class="terminal-dots">
<span class="dot red"></span>
<span class="dot yellow"></span>
<span class="dot green"></span>
</div>
<div class="terminal-title">rush-sh</div>
</div>
<div class="terminal-body">
<div class="terminal-prompt">
<span class="prompt-path">/h/d/p/r/rush-sh $</span>
<span class="prompt-cursor">█</span>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="quick-start">
<h2>🚀 Quick Start</h2>
<div class="quick-start-grid">
<div class="quick-start-card">
<div class="card-icon">⚡</div>
<h3>Interactive Mode</h3>
<div class="code-block">
<pre><code>./target/release/rush-sh</code></pre>
</div>
<p>Start the shell in interactive mode with a modern prompt</p>
</div>
<div class="quick-start-card">
<div class="card-icon">📜</div>
<h3>Script Mode</h3>
<div class="code-block">
<pre><code>./target/release/rush-sh script.sh</code></pre>
</div>
<p>Execute commands from a file</p>
</div>
<div class="quick-start-card">
<div class="card-icon">🎯</div>
<h3>Command Mode</h3>
<div class="code-block">
<pre><code>./target/release/rush-sh -c "echo Hello World"</code></pre>
</div>
<p>Execute a single command string</p>
</div>
</div>
</section>
<section class="key-features">
<h2>✨ Key Features</h2>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🔧</div>
<h3>Full POSIX Compliance</h3>
<p>Implements IEEE Std 1003.1-2008 with comprehensive support for shell grammar, built-in
utilities, and standard behavior</p>
<a href="compliance.html" class="feature-link">View Compliance Status →</a>
</div>
<div class="feature-card">
<div class="feature-icon">⚡</div>
<h3>High Performance</h3>
<p>Leverages Rust's zero-cost abstractions for optimal execution speed while maintaining
memory safety</p>
<a href="benchmarks.html" class="feature-link">View Benchmarks →</a>
</div>
<div class="feature-card">
<div class="feature-icon">🛡️</div>
<h3>Memory Safe</h3>
<p>Built with Rust's ownership system ensuring no memory leaks, data races, or segmentation
faults</p>
</div>
<div class="feature-card">
<div class="feature-icon">🎨</div>
<h3>Modern Interface</h3>
<p>Enhanced with colors, tab completion, and intelligent prompt with condensed directory
display</p>
</div>
<div class="feature-card">
<div class="feature-icon">🔨</div>
<h3>Rich Feature Set</h3>
<p>32 built-in commands, advanced expansions, control structures, and comprehensive variable
support</p>
<a href="features.html" class="feature-link">Explore Features →</a>
</div>
<div class="feature-card">
<div class="feature-icon">🧪</div>
<h3>Thoroughly Tested</h3>
<p>499+ test functions covering all components with comprehensive edge case and error
condition coverage</p>
</div>
</div>
</section>
<section class="recent-updates">
<h2>🆕 What's New</h2>
<div class="updates-list">
<div class="update-item">
<div class="update-badge">🚀</div>
<div class="update-content">
<h4>Job Control</h4>
<p>Full POSIX-compliant job control with background execution (&), job listing (jobs),
foreground/background control (fg/bg), job termination (kill), wait for jobs (wait),
and $! special variable for last background PID</p>
</div>
</div>
<div class="update-item">
<div class="update-badge">⚡</div>
<div class="update-content">
<h4>Subshell Support</h4>
<p>Full POSIX-compliant subshells with state isolation, exit code propagation, trap
inheritance, and depth limit protection (60+ test cases)</p>
</div>
</div>
<div class="update-item">
<div class="update-badge">🔧</div>
<div class="update-content">
<h4>File Descriptor Operations</h4>
<p>Complete FD table management with duplication (N>&M, N<&M), closing (N>&-, N<&-), and
read/write operations (30+ test cases)</p>
</div>
</div>
<div class="update-item">
<div class="update-badge">🎯</div>
<div class="update-content">
<h4>Here-documents & Here-strings</h4>
<p>Full implementation of << and <<< with proper expansion handling for multi-line and
single-line input redirection</p>
</div>
</div>
<div class="update-item">
<div class="update-badge">🔍</div>
<div class="update-content">
<h4>Enhanced Trap System</h4>
<p>Signal normalization, multiple handlers, trap display/reset, and signal queue with
overflow protection</p>
</div>
</div>
</div>
</section>
<section class="getting-started">
<h2>🎯 Getting Started</h2>
<div class="steps-container">
<div class="step">
<div class="step-number">1</div>
<div class="step-content">
<h4>Build the Project</h4>
<div class="code-block">
<pre><code>git clone https://github.com/drewwalton19216801/rush-sh.git
cd rush-sh
cargo build --release</code></pre>
</div>
</div>
</div>
<div class="step">
<div class="step-number">2</div>
<div class="step-content">
<h4>Start Interactive Shell</h4>
<div class="code-block">
<pre><code>./target/release/rush-sh</code></pre>
</div>
</div>
</div>
<div class="step">
<div class="step-number">3</div>
<div class="step-content">
<h4>Try Basic Commands</h4>
<div class="code-block">
<pre><code>echo "Hello, Rush!"
ls -la
pwd</code></pre>
</div>
</div>
</div>
</div>
</section>
<div class="section-nav">
<div class="nav-links">
<a href="features.html" class="nav-button primary">
<span>Explore Features</span>
<span class="nav-arrow">→</span>
</a>
<a href="installation.html" class="nav-button secondary">
<span>Installation Guide</span>
<span class="nav-arrow">→</span>
</a>
</div>
</div>
</div>
</main>
</div>
<script src="script.js"></script>
</body>
</html>