/soligit

An AI-powered developer tool to auto-generate documentation, answer questions about your code, summarize commits, and analyze meetings. Built with Next.js, FastAPI, and Gemini.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Soligit Logo

Soligit

Streamline Your Development Workflow with AI

Soligit is a powerful open-source tool that leverages AI to automatically generate comprehensive documentation for your codebases, analyze and summarize meetings, and provide intelligent insights into your projects.

License Issues Stargazers

✨ Features

  • 🤖 Automated Documentation Generation: Provide a GitHub URL and receive a full-fledged documentation website, complete with a file tree and answers to common questions about your codebase.
  • 🧠 AI-Powered Q&A: Ask questions about your codebase in natural language and get intelligent, context-aware answers.
  • ⏱️ Commit Summarization: Automatically summarize the changes in a specific commit, making it easier to track project history.
  • 🎙️ Meeting Transcription and Analysis: Transcribe audio meetings from a URL and use AI to summarize key points and answer questions about the discussion.
  • 🔒 Secure and Scalable: Built with a modern, robust tech stack to ensure reliability and performance.

🚀 Tech Stack

Frontend

Technology Icon
Next.js Next.js
React React
TypeScript TypeScript
Tailwind CSS Tailwind CSS
tRPC tRPC
shadcn/ui shadcn/ui
Clerk Clerk

Backend

Technology Icon
Python Python
FastAPI FastAPI
Weaviate Weaviate
Google Gemini Google Gemini
AssemblyAI AssemblyAI

🏗️ Production-Grade Infrastructure

Soligit is designed for robust, scalable, and secure deployments. Our recommended production setup uses Azure Cloud with:

  • Automated VM provisioning using Terraform
  • Secure networking (NSG firewall rules)
  • Nginx reverse proxy for HTTPS and load balancing
  • Supervisor for backend process management
  • Automated deployment scripts
  • Environment variable management for secrets
  • Logging and monitoring best practices

See infrastructure/azure/README.md for full instructions and architecture details.

Key Features

  • Scalable VM with Ubuntu 22.04
  • Nginx reverse proxy for production
  • Supervisor for process management
  • Auto-deployment from GitHub
  • Firewall (SSH, HTTP, HTTPS, FastAPI)
  • Cost-effective (~$35-50/month)
  • Security best practices (no secrets in git, HTTPS, regular updates)

Prerequisites

  • Node.js (v18 or later)
  • Python (v3.9 or later)
  • pip and virtualenv for Python package management
  • A PostgreSQL database

🛠️ Getting Started

  1. Clone the repository:

    git clone https://github.com/your-username/soligit.git
    cd soligit
  2. Set up the frontend:

    npm install
  3. Set up the backend:

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    pip install -r requirements.txt
    cd ..
  4. Set up environment variables: Create a .env.local file in the root directory and add the following, replacing the placeholder values with your actual credentials:

    # Clerk Authentication
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
    
    # Database
    DATABASE_URL="postgresql://user:password@host:port/database"
    
    # Weaviate
    WEAVIATE_ENVIRONMENT=your_weaviate_environment
    WEAVIATE_API_KEY=your_weaviate_api_key
    WEAVIATE_INDEX=your_weaviate_index
    
    # GitHub
    GITHUB_PERSONAL_ACCESS_TOKEN=your_github_personal_access_token
  5. Run database migrations:

    npm run db:migrate

Running the Application

  1. Start the backend server:

    cd backend
    uvicorn main:app --reload
  2. Start the frontend development server: In a separate terminal, from the root directory:

    npm run dev

Your application should now be running at http://localhost:3000.

📂 Project Structure

Infrastructure

infrastructure/
  azure/           # Terraform files for Azure VM, networking, security, cloud-init
  scripts/         # Bash scripts for deployment and destruction

See infrastructure/azure/README.md for full cloud deployment instructions.

soligit/
├── backend/         # Python FastAPI backend
├── prisma/          # Prisma schema and migrations
├── public/          # Public assets
├── src/             # Next.js frontend application
│   ├── app/         # App Router pages and layouts
│   ├── components/  # React components
│   ├── lib/         # Helper functions and utilities
│   ├── server/      # Server-side logic (tRPC, db)
│   └── trpc/        # tRPC configuration
├── .env.local       # Environment variables (create this)
├── package.json     # Frontend dependencies and scripts
└── README.md        # This file

🏆 Quality & Security

  • Infrastructure as Code: All cloud resources are managed via Terraform for reproducibility and auditability.
  • Secrets Management: .env files are never committed; sensitive data is managed securely.
  • Automated Deployment: VM setup and app deployment are fully automated for reliability.
  • Logging & Monitoring: Nginx and Supervisor logs are available for troubleshooting and monitoring.
  • Cost & Performance: Default VM size is cost-effective for most use cases; easily upgradable.
  • Security: NSG rules, HTTPS, and regular updates recommended.

🤝 Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

📄 License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

🔒 Security

For production deployment, see infrastructure/azure/README.md for security best practices, cost estimation, and troubleshooting tips.

For any security-related concerns, please refer to our Security Policy.