Skip to content

KwilloAI/backend

Repository files navigation

Kwillo AI Platform — Backend

Unified AI-driven middleware monolith connecting Jira, GitHub, and Google Gemini for automated project management.

🚀 Overview

Kwillo AI acts as a high-orchestration bridge. It listens to webhooks from GitHub, performs AI analysis using Google Gemini, and proposes or executes actions in Jira via user-specific OAuth sessions.

Key Features

  • FastAPI Core: High-performance async API layer.
  • AI Orchestration: Deep integration with Google Gemini Pro/Flash for code analysis and task generation.
  • Multi-Tenant OAuth: Secure connection management for Jira and GitHub.
  • MCP (Model Context Protocol): Support for AI agents and tools.
  • Monolith Performance: Centralized logic for agents, integrations, and shared libraries.

🛠 Tech Stack

  • Languages: Python 3.12
  • Framework: FastAPI
  • AI SDK: Google GenAI SDK (Gemini 2.0/2.5)
  • Database: SQLAlchemy + PostgreSQL (Production) / SQLite (Dev)
  • Migrations: Alembic
  • Caching: Redis
  • Integrations: Jira OAuth 3LO, GitHub Webhooks, Notion API, Trello OAuth.

📁 Directory Structure

apps/
├── api_server/          # Main FastAPI entry points
├── agents/              # AI processing logic and agent tools
└── integrations/        # 3rd party service handlers (Jira, GitHub, etc.)
libs/
└── common/              # Shared models, database logic, and utilities
infra/                   # Docker, Caddy, and deployment configs

⚙️ Setup

  1. Prerequisites:

    • Python 3.12+
    • PostgreSQL & Redis (running via Docker recommended)
  2. Installation:

    pip install -r requirements.txt
  3. Environment: Copy .env.example to .env and fill in the required credentials.

    [!IMPORTANT] Never commit your .env file!

  4. Migrations:

    alembic upgrade head
  5. Run Development Server:

    uvicorn apps.api_server.main:app --reload

🧪 Testing

pytest

📄 License

Private / Proprietary.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages