Skip to content

abhub23/purge.ai

Repository files navigation

Demo

PurgeAI

PurgeAI is a battle-tested AI assistant designed and developed to help developers manage and review their Pull Requests efficiently. Built with modern technologies, it offers an intelligent, secure, and developer-friendly interface for code review and PR management.

✨ Features

  • Blazingly Fast - Lightning-fast performance with optimized algorithms and instant response times
  • 🔒 Secure by Default - Enterprise-grade security with end-to-end encryption and advanced threat protection
  • 🎨 Customizable - Flexible modes and personalized insights tailored to your unique workflow
  • 👨‍💻 Developer Friendly - Clean APIs, comprehensive documentation, and excellent developer experience
  • 🧠 Optimized Context - Advanced context management for lengthy conversations with intelligent content optimization
  • 💳 Credit-Based System - Manage usage with a flexible credit system and payment integration
  • 🔐 Secure Authentication - Robust auth system powered by Better Auth

🛠️ Tech Stack

Frontend

Backend

Infrastructure

🚀 Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 10.17.0+
  • Docker (optional)

Installation

  1. Clone the repository:
git clone https://github.com/abhub23/purge.ai.git
cd purge.ai
  1. Install dependencies:
pnpm install
  1. Set up environment variables:

    • Copy server/.env.example to server/.env and fill in the values
    • Copy client/config/config.example.ts to client/config/config.ts and configure
  2. Run database migrations:

cd server
pnpm prisma migrate dev

Development

Run the client (Next.js with Turbopack):

pnpm client

Run the server (Express with hot reload):

pnpm serv

Docker Deployment

Build and run with Docker Compose:

docker-compose up --build

The application will be available at:

📁 Project Structure

purge.ai/
├── client/                 # Next.js frontend
│   ├── app/               # App router pages
│   ├── components/        # React components
│   ├── constants/         # Constants and configuration
│   ├── lib/               # Utility functions
│   ├── store/             # Zustand stores
│   └── public/            # Static assets
├── server/                # Express.js backend
│   ├── api/               # API routes
│   ├── prisma/            # Database schema and migrations
│   ├── routes/            # Route handlers
│   └── schemas/           # Validation schemas
└── docker/                # Docker configurations

🔧 Available Scripts

  • pnpm client - Start client development server
  • pnpm serv - Start server development server
  • pnpm server-img - Build server Docker image
  • pnpm test - Run linting

🔒 Security

  • End-to-end encryption for sensitive data
  • CSRF protection
  • Secure cookie handling
  • Helmet.js for security headers
  • Input validation with Zod

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  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

📝 License

This project is licensed under the ISC License.

👤 Author

Abdullah Mukri


About

Purge helps you do the heavy lifting for your github PRs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages