Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Manager - Advanced Project Management System

Laravel React TypeScript MCP

A sophisticated full-stack web application for AI agent project management with real-time tracking capabilities, structured task management, and seamless integration with Model Context Protocol (MCP) servers.

πŸš€ Key Features

Core Project Management

  • Advanced Project Lifecycle: Complete CRUD operations with version tracking
  • Structured Task Management: JSON-based todo lists with rich metadata support
  • Real-time Status Tracking: Live project progress monitoring with in_progress/completed states
  • Directory & Git Integration: Automatic detection of working directory and git branch context
  • Intelligent Upsert Operations: Smart project creation/update logic based on unique identifiers

AI Agent Integration

  • MCP Server Integration: Native Model Context Protocol support for AI agent interactions
  • Public API Endpoints: Authentication-free APIs specifically designed for automated systems
  • Real-time Notifications: Audio notification system with "ding" endpoint for completion signals
  • Agent-Friendly Data Structures: Optimized JSON schemas for AI agent consumption

Modern User Experience

  • Responsive UI: Built with Shadcn/ui components and Tailwind CSS for optimal UX
  • TypeScript Throughout: Full type safety across frontend and backend interfaces
  • Real-time Updates: Live project status updates without page refreshes
  • Progressive Enhancement: Works seamlessly with and without JavaScript

πŸ—οΈ Architecture Overview

Backend Stack

  • Laravel 12.x: Robust PHP framework with advanced ORM capabilities
  • SQLite/MySQL/PostgreSQL: Multi-database support with native JSON field handling
  • Eloquent ORM: Advanced query scoping and relationship management
  • Inertia.js: Server-side rendering with SPA-like user experience
  • Model Context Protocol: Native MCP server integration for AI agent communication

Frontend Stack

  • React 19: Latest React with concurrent features and improved performance
  • TypeScript 5.7: Full type safety with advanced type inference
  • Shadcn/ui: Premium component library built on Radix UI primitives
  • Tailwind CSS 4.0: Utility-first styling with advanced design system
  • Inertia.js React: Seamless server-client communication without API complexity
  • Web Audio API: Native browser audio notifications for real-time feedback

πŸ“¦ Installation & Setup

Prerequisites

  • PHP 8.2+ with extensions: pdo, json, mbstring, tokenizer, xml, ctype
  • Node.js 18+ with npm or yarn
  • Composer 2.x for PHP dependency management
  • Git for version control integration
  • SQLite/MySQL/PostgreSQL (SQLite included for quick start)

Quick Start

# Clone the repository
git clone [repository-url] ai-manager
cd ai-manager

# Install backend dependencies
composer install

# Install frontend dependencies
npm install

# Environment setup
cp .env.example .env
php artisan key:generate

# Database setup (SQLite - no additional config needed)
touch database/database.sqlite
php artisan migrate

# Build frontend assets
npm run build

# Start development server with all services
composer run dev

Development Environment

The composer run dev command starts multiple services concurrently:

  • Laravel Server: http://localhost:8000
  • Queue Worker: Background job processing
  • Log Monitoring: Real-time log viewing with Pail
  • Vite Dev Server: Hot module replacement for frontend assets

MCP Server Setup

# Navigate to MCP server directory
cd mcp-server

# Install MCP server dependencies
npm install

# Build the MCP server
npm run build

# Configure Claude Desktop (see mcp-server/README.md for details)

🎯 Usage Guide

Web Interface Usage

Creating Projects

  1. Navigate to /projects in your browser
  2. Click "Nuovo Progetto" (New Project)
  3. Fill in the project form:
    • Name: Project identifier (required)
    • Directory: Working directory path (auto-detected)
    • Git Branch: Current branch (auto-detected)
    • Request Description: Detailed project requirements
    • Todo List: Structured task list in JSON format
    • Status: In Progress / Completed toggle

Advanced Todo List Formats

Simple Format (String Array):

[
  "Setup development environment",
  "Implement user authentication",
  "Create project dashboard",
  "Deploy to production"
]

Advanced Format (Object Array with Metadata):

[
  {
    "title": "Setup development environment",
    "description": "Install dependencies and configure local environment",
    "completed": true,
    "timestamp": "2024-01-15T10:30:00Z",
    "status": "completed",
    "priority": "high",
    "assigned_to": "development_team"
  },
  {
    "title": "Implement user authentication",
    "description": "JWT-based authentication with refresh tokens",
    "completed": false,
    "status": "in_progress",
    "priority": "high",
    "progress": "60%",
    "blockers": ["Waiting for security review"]
  }
]

AI Agent Integration

MCP Tools Usage

// Update or create project via MCP
await mcpTools.project_upsert({
  name: "E-commerce Platform Development",
  todo: [
    {"title": "Database schema design", "completed": true},
    {"title": "API endpoint implementation", "completed": false, "status": "in_progress"}
  ],
  request: "Building scalable e-commerce platform - CURRENTLY: Implementing payment gateway",
  in_progress: true
});

// Send completion notification
await mcpTools.project_ding({message: "Payment gateway integration completed"});

Direct API Usage

# Create/Update project via API (no authentication required)
curl -X POST http://localhost:8000/api/projects/upsert \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI Assistant Integration",
    "directory": "/path/to/project",
    "git_branch": "feature/ai-integration",
    "todo": [
      {"title": "Model integration", "completed": true},
      {"title": "Response optimization", "completed": false}
    ],
    "request": "Integrating AI assistant - CURRENTLY: Optimizing response times",
    "in_progress": true
  }'

# Trigger completion notification
curl -X POST http://localhost:8000/api/ding

πŸ”— API Reference

Public API Endpoints (No Authentication)

Designed for AI agents and automated systems

Method Endpoint Description Status
POST /api/projects/upsert Smart Create/Update - Primary agent endpoint ⭐ Recommended
POST /api/projects Create new project βœ… Available
PUT /api/projects/{id} Update existing project βœ… Available
DELETE /api/projects/{id} Delete project βœ… Available
POST /api/ding Trigger audio notification πŸ”” Notification

Web Interface Endpoints (Authentication Required)

For browser-based user interactions

Method Endpoint Description Auth Required
GET /projects List all projects (web view) βœ… Session
GET /projects/create Create project form βœ… Session
GET /projects/{id} Project details view βœ… Session
GET /projects/{id}/edit Edit project form βœ… Session
POST /projects Create project (web) βœ… Session + CSRF
PUT /projects/{id} Update project (web) βœ… Session + CSRF
DELETE /projects/{id} Delete project (web) βœ… Session + CSRF
POST /ding Notification (web) βœ… Session + CSRF

Key API Features

  • Upsert Logic: The /api/projects/upsert endpoint intelligently creates new projects or updates existing ones based on the project name
  • Auto-Detection: Directory and git branch information is automatically detected when not provided
  • JSON Validation: Robust validation for todo list JSON structures with detailed error reporting
  • No Authentication: Public API endpoints require no authentication for seamless agent integration
  • Real-time Updates: Changes are immediately reflected in the web interface

πŸ“š Documentation

Core Documentation

Document Description Target Audience
Architecture Guide Sistema architetturale completo, pattern design e flusso dati Technical Teams, System Architects
API Documentation Riferimento completo REST API con esempi pratici Developers, AI Agents
Deployment Guide Guida completa deployment produzione e configurazione server DevOps, System Administrators
Development Guide Setup ambiente sviluppo, testing e workflow contributori Frontend/Backend Developers
MCP Integration Configurazione e utilizzo Model Context Protocol per AI agents AI Developers, Automation Engineers
Security Guide Documentazione sicurezza, best practices e audit checklist Security Teams, DevOps
Troubleshooting Risoluzione problemi comuni e guida diagnostica All Users, Support Teams

Quick Reference

  • 🌐 Web Interface: http://localhost:8000 (Authentication required)
  • πŸ”— API Base URL: http://localhost:8000/api (Public access, no auth)
  • πŸ€– MCP Server: Integrated via /mcp-server directory
  • ⚑ Development: composer run dev (starts all services concurrently)
  • 🎯 Primary Use Case: AI agent project tracking and management

Technical Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Web Interface β”‚    β”‚   Public APIs   β”‚    β”‚   MCP Server    β”‚
β”‚                 │────│                 │────│                 β”‚
β”‚ β€’ Authenticationβ”‚    β”‚ β€’ No Auth       β”‚    β”‚ β€’ Local Access β”‚
β”‚ β€’ CRUD Interfaceβ”‚    β”‚ β€’ AI Optimized  β”‚    β”‚ β€’ Claude Desktopβ”‚
β”‚ β€’ Real-time UI  β”‚    β”‚ β€’ JSON Schema   β”‚    β”‚ β€’ Tool Registry β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

External Resources

πŸ—‚οΈ Project Structure

ai-manager/
β”œβ”€β”€ πŸš€ Core Application
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ Http/Controllers/
β”‚   β”‚   β”‚   └── ProjectController.php      # Main API controller with CRUD + upsert
β”‚   β”‚   β”œβ”€β”€ Models/
β”‚   β”‚   β”‚   └── Project.php                # Eloquent model with advanced scopes
β”‚   β”‚   └── Providers/
β”‚   β”‚       └── AppServiceProvider.php     # Service container configuration
β”‚   β”œβ”€β”€ database/
β”‚   β”‚   β”œβ”€β”€ migrations/
β”‚   β”‚   β”‚   β”œβ”€β”€ *_create_projects_table.php
β”‚   β”‚   β”‚   └── *_add_directory_git_branch.php
β”‚   β”‚   └── database.sqlite                # SQLite database (development)
β”‚   └── routes/
β”‚       β”œβ”€β”€ web.php                        # Web interface routes (auth required)
β”‚       └── api.php                        # Public API routes (no auth)
β”‚
β”œβ”€β”€ 🎨 Frontend Application
β”‚   └── resources/js/
β”‚       β”œβ”€β”€ components/
β”‚       β”‚   β”œβ”€β”€ project-card.tsx           # Project display component
β”‚       β”‚   β”œβ”€β”€ project-form.tsx           # Unified create/edit form
β”‚       β”‚   └── ui/                        # Shadcn/ui component library
β”‚       β”œβ”€β”€ pages/Projects/
β”‚       β”‚   β”œβ”€β”€ Index.tsx                  # Project listing with search/filter
β”‚       β”‚   β”œβ”€β”€ Create.tsx                 # Project creation page
β”‚       β”‚   β”œβ”€β”€ Edit.tsx                   # Project editing page
β”‚       β”‚   └── Show.tsx                   # Project detail view
β”‚       β”œβ”€β”€ hooks/
β”‚       β”‚   β”œβ”€β”€ use-ding.tsx              # Audio notification hook
β”‚       β”‚   └── use-mobile.tsx            # Responsive design utilities
β”‚       β”œβ”€β”€ types/
β”‚       β”‚   └── index.d.ts                # TypeScript type definitions
β”‚       └── layouts/
β”‚           └── app-layout.tsx            # Main application layout
β”‚
β”œβ”€β”€ πŸ€– MCP Server Integration
β”‚   └── mcp-server/
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   └── index.ts                  # MCP server implementation
β”‚       β”œβ”€β”€ dist/                         # Compiled JavaScript
β”‚       β”œβ”€β”€ package.json                  # Node.js dependencies
β”‚       └── claude_desktop_config.example.json
β”‚
β”œβ”€β”€ πŸ“– Documentation
β”‚   β”œβ”€β”€ README.md                         # This comprehensive guide
β”‚   β”œβ”€β”€ API_DOCUMENTATION.md              # Complete API reference
β”‚   β”œβ”€β”€ ARCHITECTURE.md                   # System architecture guide
β”‚   └── MCP_INTEGRATION.md                # MCP setup and usage
β”‚
└── βš™οΈ Configuration
    β”œβ”€β”€ composer.json                     # PHP dependencies and scripts
    β”œβ”€β”€ package.json                      # Node.js dependencies and scripts
    β”œβ”€β”€ vite.config.ts                    # Frontend build configuration
    β”œβ”€β”€ tailwind.config.js               # Tailwind CSS configuration
    └── tsconfig.json                     # TypeScript configuration

πŸ› οΈ Development

Development Workflow

  1. Fork & Clone

    git clone [your-fork-url]
    cd ai-manager
  2. Environment Setup

    composer install
    npm install
    cp .env.example .env
    php artisan key:generate
    php artisan migrate
  3. Start Development

    composer run dev  # Starts all services concurrently
  4. Testing

    php artisan test        # Run PHP tests
    npm run test           # Run JavaScript tests  
    npm run lint           # Check code style
    npm run types          # Verify TypeScript

Contributing Guidelines

  1. Feature Development

    git checkout -b feature/descriptive-name
    # Make your changes
    git commit -m "feat: add descriptive commit message"
    git push origin feature/descriptive-name
  2. Code Standards

    • Follow PSR-12 for PHP code
    • Use ESLint + Prettier for TypeScript/React
    • Write comprehensive tests for new features
    • Update documentation for API changes
  3. Commit Convention

    • feat: New features
    • fix: Bug fixes
    • docs: Documentation updates
    • refactor: Code refactoring
    • test: Test additions or updates

πŸš€ Deployment

Production Setup

# Install dependencies
composer install --no-dev --optimize-autoloader
npm ci

# Build assets
npm run build

# Configure environment
cp .env.example .env
# Edit .env with production settings

# Setup database
php artisan migrate --force

# Optimize Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache

Environment Variables

# Application
APP_NAME="AI Manager"
APP_ENV=production
APP_URL=https://your-domain.com

# Database
DB_CONNECTION=mysql
DB_DATABASE=ai_manager
DB_USERNAME=your_user
DB_PASSWORD=your_password

# MCP Server
AIMANAGER_API_URL=https://your-domain.com/api

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Laravel Team - Robust PHP framework foundation
  • React Team - Powerful UI library
  • Tailwind Labs - Exceptional styling system
  • Shadcn - Beautiful component library
  • Anthropic - Model Context Protocol specification
  • Open Source Community - Continuous inspiration and support

Built with ❀️ using Laravel, React, and TypeScript

Empowering AI agents with intelligent project management

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages