This is a AI Agent command-line shell wrapper for accelerated problem solving and task automation. It leverages large language models (LLMs) to interpret user commands and execute them in a shell environment, providing a more intuitive and efficient way to interact with the command line.
It also supports lagacy AI intergration like command prediction, natural language to command translation and auto-completion.
- Natural language command execution
- Command prediction and auto-completion
- Integration with popular LLMs
- Cross-platform/shell support (Unix-like shells)
To set up the development environment, follow these steps:
- Install uv (If you don't have it already)
curl -LsSf https://astral.sh/uv/install.sh | sh- Clone the repository
git clone https://github.com/AMD-AI-Agent-Online-Hackthon/Brutalshell.git
cd Brutalshell- Install dependencies
uv sync- Build the wrapper
cd wrapper
cmake -B build
cmake --build build
cd ..- Build the helper
cd helper
cmake -B build
cmake --build build
cd ..To execute wrapper + daemon, it's recommended to use tmux.
On first tmux pane, run the daemon:
uv run src/main.pyOn second tmux pane, run the wrapper:
./wrapper/build/bshIf you have installed the helper, you can launch wrapper and run:
helper list files in current directoryIf not, you can run:
./helper/build/helper list files in current directoryThis project has 3 main components:
- Wrapper: The command-line interface that users interact with.
- Helper: A utility that processes natural language commands and translates them into shell commands.
- Daemon: A background service that manages communication between the wrapper and helper, and handles LLM interactions.
Before pushing any changes, make sure to test your code thoroughly.
# Daemon tests
uv run pytest
# Wrapper tests
cd wrapper
rm -rf build
cmake -B build
cmake --build build
ctest --test-dir build
cd ..
# Helper tests
cd helper
rm -rf build
cmake -B build
cmake --build build
ctest --test-dir build
cd ..