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.2.tar.gz (24.9 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.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: g_aicoder-1.0.2.tar.gz
  • Upload date:
  • Size: 24.9 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.2.tar.gz
Algorithm Hash digest
SHA256 2f0dd9a100b4f5c937eddd0fde222d79b05229e1a6709160e9503b8374f65868
MD5 77567e5364b3aba5cabfb3d3b617ee80
BLAKE2b-256 0be2c38aebc1fb35432947bc0ce0e62ed875a02be19ab811c3dea108a10a1d09

See more details on using hashes here.

File details

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

File metadata

  • Download URL: g_aicoder-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 24.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9d23e17deae89b529ca05d6b0181ef8c2b9dd133f415393ea0a99732785a8c56
MD5 7c59872d1d03a089beb1b45a76832dd9
BLAKE2b-256 b78afb5e2e5b88236b52b573c234193c2d2689f8fa77db2c87ea1f6b68dbe659

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