Skip to main content

🎯 AI Command Assistant - Convert natural language to shell commands using AI, Now Ai is into Your terminal

Project description

🎯 Amvka - AI Command Assistant

PyPI version License: MIT Python 3.7+ Downloads

🚀 No more memorizing commands! Just tell me what you want to do.

Amvka is an intelligent AI-powered command-line assistant that converts natural language into shell commands. Simply describe what you want to do in plain English, and Amvka will suggest the exact command for you.

🚀 Quick Start

# Install amvka
pip install amvka

# Configure your API key
amvka config

# Start using natural language!
amvka "show me all Python files"
amvka "check system memory usage" 
amvka "create a backup of this directory"

✨ Features

  • 🤖 AI-Powered: Uses Google Gemini or OpenAI to understand natural language
  • 🔒 Safety First: Built-in safety checks and confirmation prompts
  • Easy Setup: Simple configuration process
  • 🎯 Smart Suggestions: Contextual and accurate command suggestions
  • 🛡️ Secure Execution: Sandboxed command execution with timeout protection
  • 🌍 Cross-Platform: Works on Windows, macOS, and Linux

🚀 Quick Start

Installation

Option 1: Install via apt-get (Recommended)

# Add the Amvka repository (setup instructions coming soon)
sudo apt-get update
sudo apt-get install amvka

Option 2: Install from source

# Clone the repository
git clone https://github.com/amvka/amvka.git
cd amvka

# Install dependencies
pip3 install -r requirements.txt

# Install the package
pip3 install .

Initial Setup

After installation, you need to configure your API key:

amvka config

This will guide you through:

  1. Choosing your AI provider (Google Gemini or OpenAI)
  2. Setting up your API key
  3. Configuring basic preferences

Usage Examples

# File operations
amvka show me the files in this folder
# Suggests: ls -la

amvka create a new file called hello.txt
# Suggests: touch hello.txt

amvka find all Python files in the current directory
# Suggests: find . -name "*.py"

# System information
amvka what is my current directory
# Suggests: pwd

amvka show me system information
# Suggests: uname -a

# Git operations
amvka show me the git status
# Suggests: git status

amvka commit all changes with message "fix bug"
# Suggests: git commit -am "fix bug"

# Package management
amvka install python package requests
# Suggests: pip install requests

# Text processing
amvka count lines in all text files
# Suggests: wc -l *.txt

Command Line Options

amvka [OPTIONS] QUERY

Options:
  -y, --yes        Auto-confirm command execution (skip confirmation)
  --dry-run        Show suggested command without executing
  -v, --version    Show version information
  --help           Show help message

Commands:
  config           Configure API settings
    --reset        Reset configuration
    --show         Show current configuration

🔧 Configuration

API Providers

Amvka supports two AI providers:

Google Gemini (Recommended)

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Create a new API key
  4. Run amvka config and paste your key

OpenAI

  1. Visit OpenAI API Keys
  2. Sign in to your OpenAI account
  3. Create a new API key
  4. Run amvka config and paste your key

Configuration File

Your configuration is stored in ~/.amvka/config.json:

{
  "provider": "gemini",
  "api_key": "your-api-key-here",
  "model": "gemini-pro",
  "safety_confirmation": true
}

Managing Configuration

# Show current configuration
amvka config --show

# Reset configuration
amvka config --reset

# Reconfigure
amvka config

🛡️ Safety Features

Amvka prioritizes safety with multiple protection layers:

1. Command Validation

  • Whitelist of safe commands
  • Pattern-based dangerous command detection
  • User confirmation for unknown commands

2. Execution Safety

  • 30-second timeout for all commands
  • Sandboxed execution environment
  • No direct root access

3. Dangerous Command Detection

Commands containing these patterns are blocked:

  • rm -rf / (recursive deletion of root)
  • sudo rm (elevated deletion)
  • dd if= (disk writing operations)
  • mkfs. (filesystem formatting)
  • shutdown/reboot (system control)
  • And many more...

4. User Confirmation

  • Always asks for confirmation before execution (unless -y flag is used)
  • Shows the exact command that will be executed
  • Option to cancel at any time

🔍 How It Works

  1. Input: You provide a natural language query
  2. Processing: Amvka sends your query to the configured AI provider
  3. Generation: The AI generates an appropriate shell command
  4. Validation: Amvka validates the command for safety
  5. Confirmation: You review and confirm the command
  6. Execution: The command is executed securely

📝 Development

Building from Source

# Clone the repository
git clone https://github.com/amvka/amvka.git
cd amvka

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in development mode
pip install -e .

# Install development dependencies
pip install -e .[dev]

Building Debian Package

# Install build dependencies
sudo apt-get install build-essential debhelper dh-python python3-setuptools

# Build the package
dpkg-buildpackage -us -uc

# Install the built package
sudo dpkg -i ../amvka_1.0.0-1_all.deb

Running Tests

# Run tests
python -m pytest tests/

# Run with coverage
python -m pytest --cov=amvka tests/

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Areas for Contribution

  • Additional AI provider support
  • Enhanced safety checks
  • More comprehensive command validation
  • Better error handling
  • Documentation improvements

📋 Requirements

  • Python 3.7 or higher
  • Internet connection (for AI API calls)
  • Linux or macOS (Windows support coming soon)

Python Dependencies

  • requests>=2.31.0
  • google-generativeai>=0.3.0 (for Gemini)
  • openai>=1.0.0 (for OpenAI)
  • click>=8.0.0
  • colorama>=0.4.0

⚠️ Important Disclaimers

Safety Notice

  • Always review commands before execution
  • Amvka is designed to be safe, but AI can make mistakes
  • Never run commands you don't understand
  • Be extra cautious with file operations and system commands

API Usage

  • You are responsible for your API usage and costs
  • Monitor your API usage on your provider's dashboard
  • Keep your API keys secure and never share them

Limitations

  • Requires internet connection for AI processing
  • Subject to AI provider rate limits
  • Command suggestions may not always be optimal
  • Some complex operations may require manual command crafting

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Support

🎯 Roadmap

  • Windows support
  • Plugin system for custom commands
  • Command history and favorites
  • Integration with more AI providers
  • GUI version
  • Shell completion support
  • Command explanation mode

Made with ❤️ by the Amvka Team

Amvka - Making the command line more accessible, one natural language query at a time.

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

amvka-1.0.0.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

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

amvka-1.0.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file amvka-1.0.0.tar.gz.

File metadata

  • Download URL: amvka-1.0.0.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for amvka-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c509b3e08691d2ce50128c6b75d5c1f7c446e8dfc10f813c68c9b92439e2e291
MD5 cfc3369185966c7033d0d909dc808811
BLAKE2b-256 95d77317d835dcbc7f19bf7fba0742084c9d30f054a2262dcfd58eca0797647f

See more details on using hashes here.

Provenance

The following attestation bundles were made for amvka-1.0.0.tar.gz:

Publisher: publish.yml on lalitt08/amvka-ai-assistant-terminal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amvka-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: amvka-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for amvka-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68a61bf326b9fb9650cda5a160b9e13a5ea25d8b819591293fa51aa20d41d352
MD5 650b6532409614f32aa189abe3ab3b8b
BLAKE2b-256 9777b59d056e519a38656a3cbe2981f651e5b779c4692f1287e8b37163f86232

See more details on using hashes here.

Provenance

The following attestation bundles were made for amvka-1.0.0-py3-none-any.whl:

Publisher: publish.yml on lalitt08/amvka-ai-assistant-terminal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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