Back to Pentagi

PentAGI Frontend

frontend/README.md

2.0.02.9 KB
Original Source

PentAGI Frontend

A chat application built with React, TypeScript, and GraphQL that enables intelligent conversations with AI agents.

Features

  • šŸ’¬ Real-time chat interface with AI agents
  • šŸ¤– Multiple AI agent support and management
  • šŸ“Š Real-time terminal output monitoring
  • šŸŽÆ Task and subtask tracking system
  • šŸ” Integrated search capabilities
  • šŸ“š Vector store for knowledge base management
  • šŸ“ø Screenshot capture and management
  • šŸŒ“ Dark/Light theme support
  • šŸ“± Responsive design (mobile, tablet, desktop)
  • šŸ” Authentication system with multiple providers
  • šŸ”„ Real-time updates via GraphQL subscriptions
  • ⚔ High-performance React components

Tech Stack

  • Framework: React 18 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • UI Components:
    • shadcn/ui
    • Radix UI primitives
    • Lucide icons
  • State Management:
    • React Context
    • Custom Hooks
  • API Integration:
    • GraphQL
    • Apollo Client
    • WebSocket subscriptions
  • Type Safety: TypeScript
  • Authentication: Multiple provider support
  • Code Quality:
    • ESLint
    • Prettier
    • TypeScript strict mode

Project Structure

src/ ā”œā”€ā”€ components/ # Shared UI components │ ā”œā”€ā”€ ui/ # Base UI components │ └── icons/ # SVG icons and logo ā”œā”€ā”€ features/ # Feature-based modules │ ā”œā”€ā”€ chat/ # Chat related components │ ā”œā”€ā”€ authentication/ # Auth related components ā”œā”€ā”€ hooks/ # Custom React hooks ā”œā”€ā”€ lib/ # Utilities and configurations ā”œā”€ā”€ graphql/ # GraphQL operations and types ā”œā”€ā”€ models/ # TypeScript interfaces └── pages/ # Application routes

Key Components

Chat Interface

  • Split view with messages and tools panels
  • Resizable panels for desktop
  • Mobile-optimized view with tabs
  • Real-time message updates

Task System

  • Real-time task tracking
  • Subtask management
  • Progress monitoring
  • Status updates

Terminal

  • Command output display
  • Real-time updates
  • Scrollable history
  • Syntax highlighting

Vector Store

  • Knowledge base integration
  • Search capabilities
  • Data management

Agent System

  • Multi-agent support
  • Agent status monitoring
  • Agent communication logs

Development

Prerequisites

  • Node.js 18+
  • npm 8+

Installation

  1. Clone the repository
  2. Install dependencies: npm install
  3. Start the development server: npm run dev

Building for Production

npm run build

Environment Variables

Create a .env file in the root directory:

VITE_API_URL=your_api_url

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request