Skip to main content

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/
    • macOS: ~/Library/Application Support/ai-shell-loop/logs/

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:

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_shell_loop-0.1.2-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

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

Hashes for ai_shell_loop-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e9debebb3017f778017ebec7b5a2df4497b67f52f61a4fa6ac8fe402b37f7fad
MD5 cef82cb83a86513923c3515cf1f81097
BLAKE2b-256 4820deafe8dac61998c897f72e289909d726c1dc0deb6c8bbf83159c34af8c89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page