- Create .ai/ directory as single source of truth for all AI docs - Organize by topic: core/, development/, patterns/, meta/ - Update CLAUDE.md to reference .ai/ files instead of embedding content - Remove 18KB of duplicated Laravel Boost guidelines from CLAUDE.md - Fix testing command descriptions (pest runs all tests, not just unit) - Standardize version numbers (Laravel 12.4.1, PHP 8.4.7, Tailwind 4.1.4) - Replace all .cursor/rules/*.mdc with single coolify-ai-docs.mdc reference - Delete dev_workflow.mdc (non-Coolify Task Master content) - Merge cursor_rules.mdc + self_improve.mdc into maintaining-docs.md - Update .AI_INSTRUCTIONS_SYNC.md to redirect to new location Benefits: - Single source of truth - no more duplication - Consistent versions across all documentation - Better organization by topic - Platform-agnostic .ai/ directory works for all AI tools - Reduced CLAUDE.md from 719 to ~320 lines - Clear cross-references between files
6.7 KiB
6.7 KiB
Coolify Technology Stack
Complete technology stack, dependencies, and infrastructure components.
Backend Framework
Laravel 12.4.1 (PHP Framework)
- Purpose: Core application framework
- Key Features:
- Eloquent ORM for database interactions
- Artisan CLI for development tasks
- Queue system for background jobs
- Event-driven architecture
PHP 8.4.7
- Requirement:
^8.4in composer.json - Features Used:
- Typed properties and return types
- Attributes for validation and configuration
- Match expressions
- Constructor property promotion
Frontend Stack
Livewire 3.5.20 (Primary Frontend Framework)
- Purpose: Server-side rendering with reactive components
- Location:
app/Livewire/ - Key Components:
- Dashboard - Main interface
- ActivityMonitor - Real-time monitoring
- MonacoEditor - Code editor
Alpine.js (Client-Side Interactivity)
- Purpose: Lightweight JavaScript for DOM manipulation
- Integration: Works seamlessly with Livewire components
- Usage: Declarative directives in Blade templates
Tailwind CSS 4.1.4 (Styling Framework)
- Configuration:
postcss.config.cjs - Extensions:
@tailwindcss/forms- Form styling@tailwindcss/typography- Content typographytailwind-scrollbar- Custom scrollbars
Vue.js 3.5.13 (Component Framework)
- Purpose: Enhanced interactive components
- Integration: Used alongside Livewire for complex UI
- Build Tool: Vite with Vue plugin
Database & Caching
PostgreSQL 15 (Primary Database)
- Purpose: Main application data storage
- Features: JSONB support, advanced indexing
- Models:
app/Models/
Redis 7 (Caching & Real-time)
- Purpose:
- Session storage
- Queue backend
- Real-time data caching
- WebSocket session management
Supported Databases (For User Applications)
- PostgreSQL: StandalonePostgresql
- MySQL: StandaloneMysql
- MariaDB: StandaloneMariadb
- MongoDB: StandaloneMongodb
- Redis: StandaloneRedis
- KeyDB: StandaloneKeydb
- Dragonfly: StandaloneDragonfly
- ClickHouse: StandaloneClickhouse
Authentication & Security
Laravel Sanctum 4.0.8
- Purpose: API token authentication
- Usage: Secure API access for external integrations
Laravel Fortify 1.25.4
- Purpose: Authentication scaffolding
- Features: Login, registration, password reset
Laravel Socialite 5.18.0
- Purpose: OAuth provider integration
- Providers:
- GitHub, GitLab, Google
- Microsoft Azure, Authentik, Discord, Clerk
- Custom OAuth implementations
Background Processing
Laravel Horizon 5.30.3
- Purpose: Queue monitoring and management
- Features: Real-time queue metrics, failed job handling
Queue System
- Backend: Redis-based queues
- Jobs:
app/Jobs/ - Processing: Background deployment and monitoring tasks
Development Tools
Build Tools
- Vite 6.2.6: Modern build tool and dev server
- Laravel Vite Plugin: Laravel integration
- PostCSS: CSS processing pipeline
Code Quality
- Laravel Pint: PHP code style fixer
- Rector: PHP automated refactoring
- PHPStan: Static analysis tool
Testing Framework
- Pest 3.8.0: Modern PHP testing framework
- Laravel Dusk: Browser automation testing
- PHPUnit: Unit testing foundation
External Integrations
Git Providers
- GitHub: Repository integration and webhooks
- GitLab: Self-hosted and cloud GitLab support
- Bitbucket: Atlassian integration
- Gitea: Self-hosted Git service
Cloud Storage
- AWS S3: league/flysystem-aws-s3-v3
- SFTP: league/flysystem-sftp-v3
- Local Storage: File system integration
Notification Services
- Email: resend/resend-laravel
- Discord: Custom webhook integration
- Slack: Webhook notifications
- Telegram: Bot API integration
- Pushover: Push notifications
Monitoring & Logging
- Sentry: sentry/sentry-laravel - Error tracking
- Laravel Ray: spatie/laravel-ray - Debug tool
- Activity Log: spatie/laravel-activitylog
DevOps & Infrastructure
Docker & Containerization
- Docker: Container runtime
- Docker Compose: Multi-container orchestration
- Docker Swarm: Container clustering (optional)
Web Servers & Proxies
- Nginx: Primary web server
- Traefik: Reverse proxy and load balancer
- Caddy: Alternative reverse proxy
Process Management
- S6 Overlay: Process supervisor
- Supervisor: Alternative process manager
SSL/TLS
- Let's Encrypt: Automatic SSL certificates
- Custom Certificates: Manual SSL management
Terminal & Code Editing
XTerm.js 5.5.0
- Purpose: Web-based terminal emulator
- Features: SSH session management, real-time command execution
- Addons: Fit addon for responsive terminals
Monaco Editor
- Purpose: Code editor component
- Features: Syntax highlighting, auto-completion
- Integration: Environment variable editing, configuration files
API & Documentation
OpenAPI/Swagger
- Documentation: openapi.json (373KB)
- Generator: zircote/swagger-php
- API Routes:
routes/api.php
WebSocket Communication
- Laravel Echo: Real-time event broadcasting
- Pusher: WebSocket service integration
- Soketi: Self-hosted WebSocket server
Package Management
PHP Dependencies (composer.json)
{
"require": {
"php": "^8.4",
"laravel/framework": "12.4.1",
"livewire/livewire": "^3.5.20",
"spatie/laravel-data": "^4.13.1",
"lorisleiva/laravel-actions": "^2.8.6"
}
}
JavaScript Dependencies (package.json)
{
"devDependencies": {
"vite": "^6.2.6",
"tailwindcss": "^4.1.4",
"@vitejs/plugin-vue": "5.2.3"
},
"dependencies": {
"@xterm/xterm": "^5.5.0",
"ioredis": "5.6.0"
}
}
Configuration Files
Build Configuration
- vite.config.js: Frontend build setup
- postcss.config.cjs: CSS processing
- rector.php: PHP refactoring rules
- pint.json: Code style configuration
Testing Configuration
- phpunit.xml: Unit test configuration
- phpunit.dusk.xml: Browser test configuration
- tests/Pest.php: Pest testing setup
Version Requirements
Minimum Requirements
- PHP: 8.4+
- Node.js: 18+ (for build tools)
- PostgreSQL: 15+
- Redis: 7+
- Docker: 20.10+
- Docker Compose: 2.0+
Recommended Versions
- Ubuntu: 22.04 LTS or 24.04 LTS
- Memory: 2GB+ RAM
- Storage: 20GB+ available space
- Network: Stable internet connection for deployments