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.3.tar.gz (34.6 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.3-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: g_aicoder-1.0.3.tar.gz
  • Upload date:
  • Size: 34.6 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.3.tar.gz
Algorithm Hash digest
SHA256 3acef5b501644d4061955d0acfcdd7bc8d91babd05c0911efdd986f63d04a6a1
MD5 28b6f75ebb2662f26c714fc64fb308a9
BLAKE2b-256 27eba6f7db1bceb3382194d4e3856f4426e6657ca9e416618825d24cd436cd47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: g_aicoder-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 33.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 05355abeeeb0a0390aee7dd105590142d2ba1e2be10744ef7a4aa141ccc31575
MD5 5f586e6937cd7e8e404b18ea6adf5c8b
BLAKE2b-256 22e120a8e2aff70c7804672802d58fef62cac5a1e871f1eb3d1980e676bc4c04

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