Files
Cleo/CLAUDE.md
Pierre 99021b4f42 Initial commit: CLEO ERP avec améliorations debug
- Configuration du debug conditionnel pour dev/recette
- Fonction debug() globale avec niveaux
- Logging des requêtes SQL
- Handlers d'exceptions et d'erreurs globaux

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-04 10:24:52 +02:00

64 lines
2.3 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
CLEO is a PHP-based ERP (Enterprise Resource Planning) web application built with a custom MVC framework called "d6". It's a multi-tenant system designed for business management with modules for clients, quotes, markets, invoicing, and more.
## Key Commands
### Development Setup
```bash
# Install PHP dependencies
composer install
# Deploy to development environment (Incus container)
./deploy-cleo-dev.sh
```
## Architecture
### MVC Structure
The application follows a strict MVC pattern with naming conventions:
- **Controllers** (`/controllers/`): Prefixed with 'c' (e.g., `cclients.php`)
- **Models** (`/models/`): Prefixed with 'm' (e.g., `mclients.php`)
- **Views** (`/views/`): Prefixed with 'v' (e.g., `vclients.php`)
- **AJAX Controllers**: Prefixed with 'cjx' (e.g., `cjxchat.php`)
### Request Flow
1. `index.php` - Entry point that bootstraps the application
2. `config/init.php` - Sets up constants and loads configuration
3. `pub/res/d6/router.php` - Routes requests to appropriate controllers
4. Controller loads model and view based on naming convention
### Database Architecture
- Multi-database setup with three main databases:
- `frontal` - Main application data
- `group` - Group/organization data
- `general` - Shared/general data
- Database connections are managed through `config/conf.php`
- Multi-tenant support based on HTTP host detection
### Key Framework Components (d6)
Located in `/pub/res/d6/`:
- `router.php` - Request routing
- `session.php` - Session management
- `tools.php` - Utility functions
- `controller.php` - Base controller class
- `model.php` - Base model with database operations
### Deployment
- Target: Incus containers on Debian 12
- Web server: nginx
- Deployment script handles:
- File sync via rsync
- Container file transfer
- Permission setup (nginx:nginx ownership)
- Production URL: dcleo.unikoffice.com
### Important Configuration
- Development mode detected by IP whitelist in `config/conf.php`
- Entity/tenant selection based on domain (e.g., abc.cleo.com → entity 'abc')
- File uploads stored in `/pub/files/upload/`
- Session data likely stored server-side with custom handler