A command line tool that lets an AI do work for you.
Project description
ai-shell-loop
Use openAi's gpt to generate and execute bash commands quickly.
Installation
pipx install ai-shell-loop
Open AI Key
Set your api key with export OPENAI_API_KEY='your-api-key'
See the official-docs for more information.
Usage
ai-do "<plain english explanation of the goal>"
Example
ai-do "create a python program that lists primes below 100"
Logging
Each execution of ai-shell-loop generates a log file containing detailed information about the execution process.
Log File Location
- Default Locations:
-
- Linux:
~/.local/share/ai-shell-loop/logs/
- Linux:
-
- macOS:
~/Library/Application Support/ai-shell-loop/logs/
- macOS:
Custom Log Directory:
Set the environment variable AI_SHELL_LOOP_LOG_DIR to specify a custom directory for log files.
Log File Naming
Log files are named with the current date and time, e.g., ai-shell-loop_2024-04-27_15-30-00.log.
Logging Levels
By default, the logging level is set to INFO. To change the logging level, set the environment variable AI_SHELL_LOOP_LOG_LEVEL to one of the following:
DEBUGINFOWARNINGERRORCRITICAL
Example:
export AI_SHELL_LOOP_LOG_LEVEL=DEBUG
Development Setup
Create environment
sudo apt install python3 python3-pip python3-venv pipx
python3 -m venv venv
source venv/bin/activate # Activate the virtual environment
pip install -r requirements.txt # Install dependencies
pip install -r build-requirements.txt # Install dependencies for doing a build.
Run
With the virtual python environment activated, inside the project root, run python -m ai_shell "echo the current time"
Build
Run
python -m build
Install locally
pipx install dist/ai_shell_loop-0.1.0-py3-none-any.whl
pipx ensurepath
After this, the ai-do command should be available anywhere.
Deploy to PyPi
twine upload dist/ai_shell_loop-0.1.0-py3-none-any.whl -u __token__ -p your_pypi_token
Versioning
Versioning is doing through git-tags.
git tag -a v0.1.2 -m "Version 0.1.2"
git push origin v0.1.2
The latest tag will automatically be used by git in setup.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 ai_shell_loop-0.1.2-py3-none-any.whl.
File metadata
- Download URL: ai_shell_loop-0.1.2-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9debebb3017f778017ebec7b5a2df4497b67f52f61a4fa6ac8fe402b37f7fad
|
|
| MD5 |
cef82cb83a86513923c3515cf1f81097
|
|
| BLAKE2b-256 |
4820deafe8dac61998c897f72e289909d726c1dc0deb6c8bbf83159c34af8c89
|