Next-generation AI-powered shell using Google Gemini
Installation • Features • Usage • Configuration • Contributing
- 🧠 AI-powered command interpretation - Understands natural language commands
- 🔄 Smart conversion - Translates your words into precise shell commands
- 🎨 Interactive experience - Colorful output with intuitive formatting
- 📝 Enhanced history - Search and recall past commands easily
- 🛡️ Safety first - Warns before executing potentially dangerous commands
- 🚀 Multiple modes - Interactive shell or single-command execution
- 💻 Cross-platform - Works on Linux, macOS, and Windows
- ❌ Command failure explanations - Offers explanations and potential solutions when a command fails
You can download pre-built binaries for your platform from our GitHub Releases page.
- Visit the Releases page
- Download the appropriate file for your platform:
- Windows:
nexsh-windows.zip - macOS:
nexsh-macos.tar.gz - Linux:
nexsh-linux.tar.gz
- Windows:
- Verify the download using SHA256 checksum:
# Download both the binary and its checksum curl -LO https://github.com/M97Chahboun/nexsh/releases/latest/download/nexsh-linux.tar.gz curl -LO https://github.com/M97Chahboun/nexsh/releases/latest/download/nexsh-linux.sha256 # Verify the checksum (Linux/macOS) echo "$(cat nexsh-linux.sha256) nexsh-linux.tar.gz" | shasum -a 256 --check
- Extract the archive:
# For Linux/macOS tar xzf nexsh-linux.tar.gz # For Windows unzip nexsh-windows.zip
- Move the binary to a directory in your PATH:
# Linux/macOS sudo mv nexsh /usr/local/bin/ # Windows: Move nexsh.exe to a directory in your PATH
cargo install nexsh# Clone the repository
git clone https://github.com/M97Chahboun/nexsh.git
cd nexsh
# Build and install
cargo build --release
sudo cp target/release/nexsh /usr/local/bin/First-time configuration:
You'll need to:
- Enter your Gemini API key when prompted
- Get your API key from Google AI Studio
- The key will be securely stored in your system's config directory
nexsh initFollow the prompts to configure the tool:
Enter your Gemini API Key: your_gemini_api_key
Set history size (default is 1000):
Set max context messages (default is 10):
Set model (default is gemini-2.0-flash):
Your configuration is now stored in the default location and used by nexsh.
| Setting | Description | Default |
| ---------------------- | -------------------------------------- | ---------------- |
| `api_key` | Your Gemini API key | Required |
| `history_size` | Number of commands to keep in history | 1000 |
| `max_context_messages` | Maximum messages to keep in AI context | 10 |
| `model` | The Gemini model | gemini-2.0-flash |
nexshExample session:
$ nexsh
🤖 Welcome to NexSh! Type 'exit' to quit or 'help' for assistance.
nexsh> show me system memory usage
→ free -h
total used free shared buff/cache available
Mem: 15Gi 4.3Gi 6.2Gi 386Mi 4.9Gi 10Gi
Swap: 8.0Gi 0B 8.0Gi
nexsh> find files modified in the last 24 hours
→ find . -type f -mtime -1
./src/main.rs
./Cargo.toml
./README.mdnexsh -e "show all running docker containers"| Command | Action |
|---|---|
exit/quit |
Exit the shell |
help |
Show available commands |
Ctrl+C |
Cancel current operation |
Ctrl+D |
Exit the shell |
Up/Down |
Navigate command history |
We welcome contributions! Here's how to get started:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Contribution Guidelines for more details.
MIT License - See LICENSE for full details.
- Google Gemini for powering the AI capabilities
- The Rust community for amazing crates and tools
- All contributors who helped shape this project
- Author: M97Chahboun
- Report issues: Issue Tracker
- Follow updates: Twitter