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.
- ⚡ 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
- Next.js 15 - React framework with Turbopack
- Tailwind CSS v4 - Utility-first CSS framework
- shadcn/ui - Beautiful UI components
- Zustand - State management
- TanStack Query - Data fetching and caching
- Motion - Animations
- Express.js - Node.js web framework
- Prisma - Database ORM
- Better Auth - Authentication framework
- Google AI SDK - AI integration
- Razorpay - Payment gateway
- Node.js 20+
- pnpm 10.17.0+
- Docker (optional)
- Clone the repository:
git clone https://github.com/abhub23/purge.ai.git
cd purge.ai- Install dependencies:
pnpm install-
Set up environment variables:
- Copy
server/.env.exampletoserver/.envand fill in the values - Copy
client/config/config.example.tstoclient/config/config.tsand configure
- Copy
-
Run database migrations:
cd server
pnpm prisma migrate devRun the client (Next.js with Turbopack):
pnpm clientRun the server (Express with hot reload):
pnpm servBuild and run with Docker Compose:
docker-compose up --buildThe application will be available at:
- Client: http://localhost:3000
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
pnpm client- Start client development serverpnpm serv- Start server development serverpnpm server-img- Build server Docker imagepnpm test- Run linting
- End-to-end encryption for sensitive data
- CSRF protection
- Secure cookie handling
- Helmet.js for security headers
- Input validation with Zod
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License.
Abdullah Mukri
