Skip to content

AmanVatsSharma/Tauri-Linux-Terminal-Suite--LinuxGenius

Repository files navigation

๐Ÿ–ฅ๏ธ Linux Terminal AI Assistant Suite

Version Status Platform License

A modern desktop application that combines a fully functional terminal emulator with AI-powered command analysis and intelligent suggestions.


๐ŸŽฏ Project Status & Completion

Component Status Completion Notes
๐Ÿ–ฅ๏ธ Terminal Emulator โœ… Complete 100% Full xterm.js integration, command execution, history
๐Ÿค– AI Integration โœ… Complete 95% OpenAI + LangChain analysis & suggestions
๐ŸŽจ User Interface โœ… Complete 90% Modern dark theme, responsive layout
โš™๏ธ Command Execution โœ… Complete 100% Rust-based secure command processing
๐Ÿ“š Multi-Provider Support ๐Ÿšง Partial 60% Framework ready, needs UI integration
๐Ÿ” Security & Config โœ… Complete 80% API key management, secure execution

๐ŸŽ‰ Overall Completion: ~88% - Production-ready core functionality


๐Ÿš€ Features

โœ… Implemented & Working

  • ๐Ÿ–ฅ๏ธ Full Terminal Emulator

    • Real terminal with xterm.js integration
    • Complete command execution via Rust backend
    • Command history navigation (โ†‘/โ†“ arrows)
    • Real-time output with colored error handling
    • Cross-platform compatibility
  • ๐Ÿค– AI-Powered Analysis

    • OpenAI integration using LangChain/LangGraph
    • Real-time command analysis and security insights
    • Context-aware intelligent suggestions
    • Educational explanations for commands
    • Risk assessment and optimization tips
  • ๐ŸŽจ Modern Desktop UI

    • Professional dark-themed interface
    • Split-pane layout (terminal + AI assistant)
    • Responsive design optimized for terminal work
    • Clean, intuitive user experience
  • โš™๏ธ Robust Architecture

    • Tauri framework (Rust backend + React frontend)
    • TypeScript for complete type safety
    • Modular component structure
    • Secure command execution environment

๐Ÿšง In Development / Planned

  • Multi-Provider AI Support: Complete Anthropic & Gemini integration
  • Settings Persistence: Save user preferences and API keys
  • Command Templates: Pre-built command shortcuts
  • Advanced Theming: Customizable color schemes
  • Export Functionality: Save session outputs and analysis

๐Ÿ—๏ธ Technology Stack

Frontend:
  - React 18.3.1 + TypeScript
  - Xterm.js 5.3.0 (Terminal emulator)
  - Vite 6.0.3 (Build tool)

Backend:
  - Rust (Latest stable)
  - Tauri 2.x (Desktop framework)
  - Serde (JSON serialization)

AI/ML:
  - LangChain 0.3.20
  - LangGraph 0.2.63
  - OpenAI API integration
  - Multi-provider support (OpenAI, Anthropic, Gemini)

Development:
  - Node.js (v18+)
  - Cargo (Rust package manager)
  - ESLint + TypeScript compiler

๐Ÿ› ๏ธ Installation & Setup

๐Ÿš€ Quick Install (Recommended for Users)

Option 1: Download Pre-built Package

# Download AppImage (works on any Linux)
wget [release-url]/linux-terminal-suite_0.1.0_amd64.AppImage
chmod +x linux-terminal-suite_0.1.0_amd64.AppImage
./linux-terminal-suite_0.1.0_amd64.AppImage

Option 2: Install via Package Manager

# Ubuntu/Debian
wget [release-url]/linux-terminal-suite_0.1.0_amd64.deb
sudo dpkg -i linux-terminal-suite_0.1.0_amd64.deb

# Fedora/Red Hat
wget [release-url]/linux-terminal-suite-0.1.0-1.x86_64.rpm
sudo dnf install linux-terminal-suite-0.1.0-1.x86_64.rpm

๐Ÿ—๏ธ Build from Source (For Developers)

Prerequisites:

# Ubuntu/Debian
sudo apt update && sudo apt install -y \
  build-essential curl wget pkg-config \
  libgtk-3-dev libwebkit2gtk-4.1-dev \
  libayatana-appindicator3-dev librsvg2-dev patchelf

# Fedora/RHEL  
sudo dnf install -y gcc gcc-c++ make curl wget pkgconfig \
  gtk3-devel webkit2gtk4.1-devel \
  libappindicator-gtk3-devel librsvg2-devel patchelf

Build Steps:

# 1. Clone repository
git clone https://github.com/AmanVatsSharma/Tauri-Linux-Terminal-Suite--LinuxGenius
cd linux-terminal-suite

# 2. Install dependencies
npm install

# 3. Install Rust (if not installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

# 4. Build application
./scripts/build.sh
# OR manually: npm run tauri build

# 5. Install locally (optional)
./scripts/install.sh

๐Ÿ“ฆ Build Outputs:

  • Binary: src-tauri/target/release/linux-terminal-suite
  • AppImage: src-tauri/target/release/bundle/appimage/
  • Debian Package: src-tauri/target/release/bundle/deb/
  • RPM Package: src-tauri/target/release/bundle/rpm/

๐ŸŽฎ Usage Guide

First Launch

  1. ๐Ÿš€ Launch the application
  2. ๐Ÿ”‘ Enter your OpenAI API key in the sidebar
  3. โœ… Click "Connect AI" to enable AI features
  4. ๐Ÿ’ป Start typing commands in the terminal
  5. ๐Ÿค– View real-time AI analysis and suggestions

Key Features in Action

  • Command Execution: Type any Linux command and see immediate results
  • AI Analysis: Get security insights and explanations for each command
  • Smart Suggestions: Receive context-aware recommendations for next steps
  • History Navigation: Use โ†‘/โ†“ keys to navigate command history

Example Commands to Try

ls -la                    # Directory listing with AI analysis
ps aux                    # Process list with optimization suggestions
netstat -tulnp            # Network connections with security insights
df -h                     # Disk usage with storage recommendations

๐Ÿ“ Project Structure & Scripts

linux-terminal-suite/
โ”œโ”€โ”€ ๐Ÿ“ src/                          # React Frontend
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/               # UI Components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ–ฅ๏ธ Terminal.tsx         # Main terminal emulator
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿค– AIAgent.tsx          # AI assistant sidebar
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ utils/                    # Utilities
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿง  langGraphAgent.ts    # AI processing logic
โ”‚   โ”‚   โ””โ”€โ”€ โš™๏ธ AIProviders.ts       # Multi-provider support
โ”‚   โ”œโ”€โ”€ ๐ŸŽจ App.tsx                  # Main application
โ”‚   โ””โ”€โ”€ ๐ŸŽจ App.css                  # Global styles
โ”œโ”€โ”€ ๐Ÿ“ src-tauri/                    # Rust Backend
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/                      # Rust source
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‹ lib.rs               # Core functions
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿš€ main.rs              # Entry point
โ”‚   โ””โ”€โ”€ โš™๏ธ Cargo.toml               # Rust dependencies
โ”œโ”€โ”€ ๐Ÿ“ scripts/                      # Build & Install Scripts
โ”‚   โ”œโ”€โ”€ ๐Ÿ—๏ธ build.sh                # Automated build script
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ฆ install.sh               # System installation
โ”‚   โ””โ”€โ”€ ๐Ÿ—‘๏ธ uninstall.sh            # Clean removal
โ”œโ”€โ”€ ๐Ÿ“‹ package.json                  # Node.js config
โ”œโ”€โ”€ โš™๏ธ vite.config.ts               # Build configuration
โ”œโ”€โ”€ ๐Ÿ“– README.md                     # This documentation
โ”œโ”€โ”€ ๐Ÿ“– BUILD_AND_INSTALL.md          # Comprehensive build guide
โ””โ”€โ”€ ๐Ÿ“– QUICK_START.md                # Quick start guide

๐Ÿ“œ Available Scripts

Script Description Usage
npm run dev Development server npm run dev
npm run build Build frontend only npm run build
npm run tauri dev Full Tauri development npm run tauri dev
npm run tauri build Production build npm run tauri build
./scripts/build.sh Automated build ./scripts/build.sh
./scripts/install.sh System installation ./scripts/install.sh
./scripts/uninstall.sh Clean removal ./scripts/uninstall.sh

๐Ÿ”ง Configuration

Environment Setup

Create .env file for development:

VITE_OPENAI_API_KEY=your_api_key_here  # Optional: Pre-configure API key

AI Provider Configuration

The application supports multiple AI providers:

Provider Status Model Options
๐ŸŸข OpenAI Active gpt-3.5-turbo, gpt-4, gpt-4-turbo
๐ŸŸก Anthropic Framework Ready claude-3-haiku, claude-3-sonnet, claude-3-opus
๐ŸŸก Google Gemini Framework Ready gemini-pro, gemini-pro-vision

๐Ÿงช Development

Development Commands

npm run dev          # Start development server
npm run build        # Build frontend only
npm run tauri dev    # Full Tauri development mode
npm run tauri build  # Create production build

Code Quality

npm run lint         # ESLint check
npm run type-check   # TypeScript validation
cargo fmt            # Rust code formatting
cargo clippy         # Rust linting

Architecture Decisions

  • Tauri: Chosen for native performance with web technologies
  • React + TypeScript: Type-safe UI development
  • xterm.js: Industry-standard terminal emulator
  • LangChain: Flexible AI integration framework
  • Rust: Memory-safe command execution

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript strict mode
  • Use conventional commit messages
  • Add tests for new features
  • Update documentation accordingly

๐Ÿ“‹ Roadmap

v0.2.0 - Multi-Provider Support

  • Complete Anthropic integration
  • Add Google Gemini support
  • Provider selection UI
  • Model configuration options

v0.3.0 - Enhanced Features

  • Command templates and shortcuts
  • Session persistence and replay
  • Export functionality (JSON, CSV)
  • Advanced theming system

v1.0.0 - Production Ready

  • Plugin system architecture
  • Advanced security features
  • Performance optimizations
  • Comprehensive documentation

๐Ÿ“ž Support & Community


โš–๏ธ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Tauri Team - For the amazing desktop framework
  • xterm.js Contributors - For the terminal emulator
  • LangChain Team - For AI integration tools
  • Rust Community - For the robust systems language
  • Open Source Community - For inspiration and support

Built with โค๏ธ for the Linux community
Empowering developers with AI-enhanced terminal experiences

About

Rust + Typescript (super powered from low level controlling to high level, complete project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors