Skip to main content

gCoder - Advanced AI development assistant with multi-modal intelligence

Project description

gCoder - Advanced AI Development Assistant

PyPI version Python versions License: MIT

gCoder 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 gcoder

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: g_aicoder-1.0.0.tar.gz
  • Upload date:
  • Size: 24.8 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.0.tar.gz
Algorithm Hash digest
SHA256 5a807699de8fbf99f133c3901accefdce7aebe674c822219afb583edcf09f624
MD5 04979907d3e665db74289a1d39995adf
BLAKE2b-256 ae6bde45f5f92e33b260502e7268ef3d77f2fe7fe0935b038878f5a6f17f8f9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: g_aicoder-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4da2827ff84e1f4f25fb434d55ae19c3d40dd7a452ec936e2a0588181706b8f2
MD5 23065c034f6131f6786b8f67711b0510
BLAKE2b-256 66d1d5c855b596ba910ba02a273fb0a0635cd381340f98bb042209bb71f8fb8a

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