#nlp #ai #shell #terminal #cli

app dirac-terminal

An AI-powered terminal that understands natural language

1 unstable release

0.1.0 Feb 1, 2025

#1023 in Development tools

Download history 116/week @ 2025-01-29 16/week @ 2025-02-05

132 downloads per month

MIT license

37KB
741 lines

Dirac

🧠 An AI-Powered Terminal That Understands Natural Language

License: MIT

🌟 Overview

Dirac is a revolutionary terminal application that leverages artificial intelligence to understand and process natural language commands. It bridges the gap between human language and command-line operations, making terminal interactions more intuitive and efficient.

✨ Features

  • 🧠 Natural Language Processing: Understand and execute commands written in plain English
  • 🔍 Smart Command Completion: Intelligent suggestions based on context and history
  • 📁 File Path Completion: Seamless navigation through your filesystem
  • 📝 Command History: Searchable history with smart filtering
  • 🔌 Plugin System: Extensible architecture for custom functionality
  • 🎨 Modern Interface: Colorful and intuitive terminal UI
  • ⌨️ Emacs-style Keybindings: Familiar keyboard shortcuts
  • 🔄 Signal Handling: Proper handling of CTRL-C and CTRL-Z

🚀 Installation

Prerequisites

  • Rust and Cargo (latest stable version)
  • Ollama for AI processing

Quick Start

# Clone the repository
git clone https://github.com/bannawandoor27/dirac.git

# Navigate to the project directory
cd dirac

# Build and install
cargo install --path .

🎯 Usage

# Start Dirac
dirac

# Use natural language commands
> show me all pdf files modified in the last week
> create a new python virtual environment
> what's using port 8080?

🛠 Development

# Clone the repository
git clone https://github.com/bannawandoor27/dirac.git

# Navigate to project directory
cd dirac

# Install dependencies and build
cargo build

# Run tests
cargo test

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

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

👤 Author

Hasanulbanna


Made with ❤️ by Hasanulbanna

Dependencies

~12–27MB
~425K SLoC