Skip to main content

Generate and execute shell commands using AI models via Ollama

Project description

qcmd - AI-powered Command Generator

A simple command-line tool that generates shell commands using local AI models via Ollama.

Version 1.0.12

Overview

qcmd is a powerful command-line tool that generates shell commands using AI language models via Ollama. Simply describe what you want to do in natural language, and qcmd will generate the appropriate command.

Key Features

  • Natural Language Inputs: Describe what you want to do in plain English
  • Auto-fix Mode: Automatically fixes failed commands and retries
  • AI Error Analysis: Explains errors and suggests solutions
  • Interactive Shell: Continuous operation with command history
  • Multiple Models: Works with any Ollama model (default: qwen2.5-coder:0.5b)
  • Safety First: Always asks for confirmation before executing any command
  • Log Analysis: Find and analyze system log files with real-time monitoring

Installation

Prerequisites

  • Python 3.6 or higher
  • Ollama installed and running
  • At least one language model pulled (e.g., qwen2.5-coder:0.5b)

Install from PyPI

pip install ibrahimiq-qcmd

Make sure Ollama is running before using qcmd:

ollama serve

Basic Usage

# Generate and confirm a command
qcmd "list all files in the current directory"

# Auto-execute mode
qcmd -e "find large log files"

# Smart auto-fix mode
qcmd -A "find Python files modified today"

# Interactive shell
qcmd -s

What's New in 1.0.12

  • Add support for customizing the UI elements via config and command-line flags
  • Add banner font customization with support for all pyfiglet fonts
  • Add progress bar customization options
  • Add compact mode for minimal output
  • Switch to JSON-based configuration storage for better flexibility
  • Add command-line flags for quick UI customization:
    • --banner-font FONT - Set the banner font (e.g., starwars, doom, colossal)
    • --no-banner - Disable the Iraq banner
    • --no-progress - Disable progress animations
    • --compact - Enable compact mode for minimal output
  • Add new configuration options:
    • ui.banner_font - The font to use for the Iraq banner (any pyfiglet font)
    • ui.show_progress_bar - Whether to show the progress bar
    • ui.progress_delay - Control speed of progress animation

What's New in 1.0.11

  • Add monitoring persistence across processes
  • Improve error handling for monitor processes
  • Add cleanup functionality for stale monitors
  • Add status command to show active monitors
  • Implement session tracking for interactive shells
  • Fix bugs with log monitoring and watching

What's New in 1.0.10

  • Added ability to toggle AI analysis on/off while monitoring logs (press 'a' key)
  • Enhanced /watch command to list all available log files when no path is provided
  • Enhanced /monitor command to list all available log files when no path is provided
  • Added /status command and --status flag to show system and QCMD status
  • Improved real-time log watching with keyboard control (press 'q' to quit, 'a' to toggle analysis)
  • Added tracking of active log monitors and sessions

What's New in 1.0.9

  • Added --watch option to monitor log files without AI analysis
  • Added /watch command to interactive shell
  • Improved log monitoring functionality with separate watching and analysis modes
  • Enhanced user experience with more file monitoring options
  • Added ability to view log updates in real-time (like tail -f)

What's New in 1.0.8

  • Fixed shell mode bug on macOS and Python 3.12+
  • Improved interactive shell functionality
  • Fixed missing temperature parameter issue
  • Enhanced user experience in interactive mode

What's New in 1.0.7

  • Fixed compatibility with Python 3.12+ by removing pkg_resources dependency
  • Improved version detection using Python standard library (importlib.metadata)
  • Removed external dependency requirements for better cross-version compatibility
  • Enhanced installation reliability across all Python versions
  • Simplified update checking mechanism

What's New in 1.0.6

  • Initial attempt at fixing Python 3.12+ compatibility issues
  • Updated documentation for better clarity
  • Minor code improvements

What's New in 1.0.5

  • Implemented improved release automation workflow
  • Enhanced package publishing process
  • Updated GitHub Actions configuration
  • Streamlined deployment process
  • Documentation improvements for contributors

What's New in 1.0.4

  • Fixed undefined variable errors in interactive shell and auto mode
  • Improved error handling and command detection for dangerous operations
  • Streamlined GitHub Actions workflow for Python 3.10 and 3.11
  • Enhanced compatibility with continuous integration systems
  • Fixed tab completion issues in interactive shell

What's New in 1.0.3

  • Updated documentation with improved installation instructions
  • Fixed package structure for better compatibility
  • Added PyPI integration for easier installation

What's New in 1.0.2

  • Fixed undefined variable errors in interactive shell and auto mode
  • Improved error handling and command detection for dangerous operations
  • Streamlined GitHub Actions workflow for Python 3.10 and 3.11
  • Enhanced compatibility with continuous integration systems
  • Fixed tab completion issues in interactive shell

What's New in 1.0.1

  • Updated documentation with improved installation instructions
  • Fixed package structure for better compatibility
  • Added PyPI integration for easier installation

Release Notes

1.0.11

  • Added color customization to personalize terminal output
  • Added Iraq-themed banner and customizable UI settings
  • Added /config command to interactively manage settings
  • Added --config argument for command-line configuration

1.0.10

  • Fixed command-line argument handling to properly support utility commands like --monitor, --watch, and --status without requiring a prompt.
  • Improved monitor persistence tracking to show correct status across processes.

Full Documentation

For full documentation and source code, visit the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibrahimiq_qcmd-1.0.14.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

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

ibrahimiq_qcmd-1.0.14-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file ibrahimiq_qcmd-1.0.14.tar.gz.

File metadata

  • Download URL: ibrahimiq_qcmd-1.0.14.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ibrahimiq_qcmd-1.0.14.tar.gz
Algorithm Hash digest
SHA256 506f41965712b54ae95f6895c74e39a2210ada3e867b52e5d2439888da5e9131
MD5 d07c16c8e57e8b7084d23c09dd6b6233
BLAKE2b-256 75ba7154357c161224f2ac486bcce2fcb61864720f0a1587213f6f2015092d86

See more details on using hashes here.

File details

Details for the file ibrahimiq_qcmd-1.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for ibrahimiq_qcmd-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 4b216438296cbb8e04453cc5224b6b18a9bc2644a74d0143311aaab6b0cce05a
MD5 57bc3e6f4aec897039d81ec8a6918df5
BLAKE2b-256 d4b4b141a7343b3f76ff11e2f23f28728d7988dfb74e342f5993321e289de207

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