Command Line AI Assistant that converts natural language to Unix commands using Groq AI
Project description
Borabora - Command Line AI Assistant
🤖 Borabora is a command-line tool that converts natural language descriptions into Unix/Linux commands using Groq's lightning-fast AI models. Never forget terminal commands again!
✨ Features
- 🗣️ Natural Language to Commands: Convert plain English to Unix commands
- 🚀 Instant Execution: Option to execute commands immediately
- 🔧 Easy Configuration: Simple API key setup
- 💡 Smart Suggestions: Powered by Groq's ultra-fast AI
- 🛡️ Safe by Default: Shows command before execution
📦 Installation
Install Borabora directly from PyPI:
pip install borabora
Or install from source:
git clone https://github.com/invisible-hand/borabora.git
cd borabora
pip install -e .
🔑 Setup
Before using Borabora, you need to configure your Groq API key:
- Get your API key from Groq Console
- Run the configuration command:
borabora --config
- Enter your API key when prompted
Alternatively, you can set the environment variable:
export GROQ_API_KEY="your-api-key-here"
🚀 Usage
Basic Usage
Convert natural language to commands:
borabora list all files in the current folder as a list
# Output: 💡 Suggested command: ls -al
borabora push code
# Output: 💡 Suggested command: git push origin main
borabora show disk usage
# Output: 💡 Suggested command: df -h
borabora find all python files
# Output: 💡 Suggested command: find . -name "*.py"
Execute Commands (Default Behavior)
Borabora will prompt you to execute commands by default:
borabora show current directory
# Output: 💡 Suggested command: pwd
# Execute this command? (y/N): y
# 🚀 Executing: pwd
# /Users/username/current/path
Dry-Run Mode
Use the --dry-run or -d flag to only show commands without executing:
borabora -d show current directory
# Output: 💡 Suggested command: pwd
# 🔍 Dry-run mode: Command not executed.
Examples
Here are some example natural language inputs and their corresponding commands:
| Natural Language | Generated Command |
|---|---|
| "list all files in current folder as a list" | ls -al |
| "push code" | git push origin main |
| "show disk usage" | df -h |
| "find all python files" | find . -name "*.py" |
| "show running processes" | ps aux |
| "create a new directory called test" | mkdir test |
| "download file from url" | wget [url] or curl -O [url] |
| "show git status" | git status |
| "compress folder into zip" | zip -r folder.zip folder/ |
| "show network connections" | netstat -an |
🛠️ Command Line Options
borabora [OPTIONS] [COMMAND...]
Options:
--config Configure API key and settings
--dry-run, -d Show command without executing (default is to execute)
--version, -v Show version information
--help, -h Show help message
🔧 Configuration
Borabora stores its configuration in ~/.clai/config.json. You can:
- Set API key:
borabora --config - Use environment variable:
GROQ_API_KEY
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository at https://github.com/invisible-hand/borabora
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
⚠️ Disclaimer
- Always review generated commands before execution
- Borabora is powered by Groq AI and may occasionally generate incorrect commands
- Borabora executes commands by default after confirmation - use
--dry-runfor safety - The tool is designed for common Unix/Linux commands and may not cover all edge cases
🙋♂️ Support
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide as much detail as possible about your environment and the issue
🎯 Roadmap
- Support for more AI models
- Command history and favorites
- Interactive mode
- Plugin system for custom commands
- Shell integration (bash/zsh completions)
- Command explanation mode
Made with ❤️ by AndreyZ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file borabora-0.1.1.tar.gz.
File metadata
- Download URL: borabora-0.1.1.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55b576e1f28d99a719cfb49b5c46b52227a44d07778fc9b655eb238350d2f817
|
|
| MD5 |
9146302f9051efcc2ba766fdb4b88a97
|
|
| BLAKE2b-256 |
b81d17a1c217bd034f8135408583c24ac158cdadde0d86e60f26329b21a355e7
|
File details
Details for the file borabora-0.1.1-py3-none-any.whl.
File metadata
- Download URL: borabora-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d32b1cf42e8d93cdef683e90b1cfc01d4c67e71de099331b0c911b9271843382
|
|
| MD5 |
242d67985525bb3254adc1f4b4bb5504
|
|
| BLAKE2b-256 |
2c1195dadff7ef837bd3c2e1cdc7e2f929ac7cfbce26ed395e4c0367e4d31508
|