Skip to main content

G-AiCoder - Advanced AI development assistant with multi-modal intelligence

Project description

gCoder - Advanced AI Development Assistant

PyPI version Python versions License: MIT

G-AICoder is an advanced AI-powered development assistant that supports multiple AI providers from local to cloud. It provides intelligent code editing, analysis, and development assistance through a clean command-line interface.

🚀 Quick Start

Installation

pip install g-aicoder

First Run Setup

gcoder chat

On first run, gCoder will guide you through:

  1. Permissions Setup - Grant file operation permissions
  2. Provider Selection - Choose your AI provider
  3. Model Selection - Select specific model
  4. API Key Setup - For cloud providers

✨ Features

  • 🤖 Multi-Provider AI Support - Use any AI model (Ollama, OpenAI, Anthropic, Google, DeepSeek)
  • 💻 Code Intelligence - Smart code editing, analysis, and improvements
  • 📁 File Operations - Create, copy, move, delete files with AI assistance
  • 🔍 Advanced Search - Regex pattern matching across codebases
  • 🖼️ Multi-modal Analysis - Image analysis for screenshots and UI elements
  • 💬 Interactive Chat - Natural conversation with conversation history
  • Real-time Streaming - Live response streaming for better UX
  • 🔧 Command-line Interface - Intuitive CLI with multiple subcommands

🛠️ Usage

Interactive Chat Session

gcoder chat

Edit Files with AI Assistance

gcoder edit main.py --instruction "Add error handling"

Search for Patterns

gcoder search "TODO" --path src/

Analyze Codebase

gcoder analyze --path .

Image Analysis

gcoder image screenshot.png --context code

File Operations

gcoder file create new_file.py
gcoder file copy source.py destination.py
gcoder file move old.py new.py
gcoder file delete unwanted.py

🤖 AI Providers

gCoder supports multiple AI providers with a completely generic configuration system:

Pre-configured Providers

  1. Ollama (Local) - Free, private, offline

    • Models: qwen2.5-coder:7b, codellama:7b, deepseek-coder:6.7b, llava:7b
  2. OpenAI (Cloud) - High-quality responses

    • Models: GPT-4, GPT-3.5-turbo
  3. Anthropic (Cloud) - Excellent for coding tasks

    • Models: Claude-3-Sonnet, Claude-3-Haiku
  4. Google AI (Cloud) - Fast and reliable

    • Models: Gemini Pro
  5. DeepSeek (Cloud) - Specialized for coding

    • Models: DeepSeek Coder

Configuration

All providers are configured through ~/.gcoder/config.json:

{
  "ai_provider": "ollama",
  "providers": {
    "ollama": {
      "name": "Ollama (Local)",
      "type": "local",
      "base_url": "http://localhost:11434",
      "api_endpoint": "/api/generate",
      "models": [
        {
          "name": "qwen2.5-coder:7b",
          "description": "Qwen2.5 Coder 7B - Recommended for coding"
        }
      ],
      "selected_model": "qwen2.5-coder:7b",
      "timeout": 600,
      "temperature": 0.7,
      "max_tokens": 4096
    }
  }
}

📋 Requirements

  • Python: 3.8 or higher
  • Dependencies:
    • aiohttp>=3.13.0
    • Pillow>=10.0.0
  • Optional: Ollama for local AI models

🔧 Development

Installation from Source

git clone https://github.com/prdpspkt/gCoder.git
cd gCoder
pip install -e .

Project Structure

gcoder/
├── main.py                 # CLI entry point
├── core/                   # Core AI functionality
│   ├── ai_assistant.py    # Main AI assistant
│   └── chat_manager.py    # Chat management
├── handlers/              # Request handlers
│   └── request_handlers.py
└── utils/                 # Utility modules

🐛 Troubleshooting

Common Issues

  1. Ollama Connection Error

    • Ensure Ollama is running: ollama serve
    • Check base URL in config: http://localhost:11434
  2. API Key Issues

    • Verify API keys for cloud providers
    • Check provider configuration
  3. Permission Errors

    • Grant permissions during first-run setup
    • Check file/directory permissions

Getting Help

  • Issues: GitHub Issues
  • Documentation: Check this README and inline help: gcoder --help

📄 License

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

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📞 Support

If you encounter any problems or have questions:

  1. Check the troubleshooting section
  2. Search existing issues
  3. Create a new issue with detailed information

gCoder - Making AI-assisted development accessible and powerful for everyone! 🚀

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

g_aicoder-1.0.5.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

g_aicoder-1.0.5-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file g_aicoder-1.0.5.tar.gz.

File metadata

  • Download URL: g_aicoder-1.0.5.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for g_aicoder-1.0.5.tar.gz
Algorithm Hash digest
SHA256 97cf07bc5b581f3dcc9dac513eb0947743da8eea9584f771b508a9f537b566c3
MD5 dd2224c62b4a126a655dd48084504698
BLAKE2b-256 29f85f09d64502fbb5c63e7e237c34371b24184b785f7aa23614190ab99af914

See more details on using hashes here.

File details

Details for the file g_aicoder-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: g_aicoder-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for g_aicoder-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1a53bbe2a4610ac1e6a54138aac98ad3451e7776d9e19a8de8412784068011c6
MD5 fd0b480875386282a09bf6c7bf347223
BLAKE2b-256 977749f9c72bdc2ef1e003cc132c43d32bf44da6425339fc31c79d56047b009d

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