Creating Projects
Create PHP projects with one-click DevContainers
Create PHP projects with automatic DevContainer setup. Choose from basic PHP, Laravel, or add DevContainer support to existing projects.
Project Types
Basic PHP
Empty PHP project with minimal setup. Includes:
- Custom frameworks
- Small applications
- Learning PHP
- API projects
Includes:
- ✅ PHP (your chosen version)
- ✅ Composer
- ✅ XDebug pre-configured
- ✅
public/index.phpstarter file - ✅ DevContainer files
Laravel
New Laravel application with optional starter kits:
None
Clean Laravel installation
React
Laravel + Inertia + React + TypeScript
Vue
Laravel + Inertia + Vue + TypeScript
Livewire
Laravel + Livewire + Blade
Custom
Your own starter repository URL
Laravel Includes:
- ✅ Latest Laravel via Composer
- ✅ Node.js for asset compilation
- ✅ Starter kit of your choice
- ✅ Database-ready (
DB_HOST=damp-mysql) - ✅ Tinker access button
Existing Project
Add DevContainer support to your existing PHP codebase.
What DAMP Adds:
- ✅
.devcontainer/folder - ✅
.vscode/settings - ✅ Named volume for performance
- ✅ HTTPS domain and certificate
- ✅ Hosts file entry
DAMP only adds DevContainer files - your existing code remains untouched.
Creation Process
Open Create Dialog
Click "Add Project" button in DAMP's Projects page.
Select Project Type
Choose Basic PHP, Laravel, or Existing Project.
Choose Starter Kit (Laravel Only)
If creating Laravel, select your preferred starter kit or none for clean install.
Configure Details
| Field | Description | Example |
|---|---|---|
| Name | Project identifier (no spaces) | myblog |
| Path | Where project folder is created | C:\Users\Me\Projects |
| PHP Version | PHP runtime version | 8.4, 8.3, 8.2, 8.1, 8.0, 7.4 |
For Basic/Laravel: Project folder created at {path}\{name}
For Existing: Select the existing project's root folder
Optional Features
Toggle additional features:
- Claude Code CLI - AI coding assistant in DevContainer
- Is Laravel Project (Existing only) - Enable Laravel-specific features
Create Project
Click "Create Project" and watch progress in real-time:
- Setup (10%) - Preparing structure
- Laravel Install (30%) - Installing Laravel (if applicable)
- Volume (50%) - Creating named volume
- DevEnv (80%) - Configuring DevContainer
- Finalizing (90%) - Adding domain and SSL
- Complete (100%) - Ready
Creation Output
After creation, your project contains:
myproject/
├── .devcontainer/
│ └── devcontainer.json # VS Code DevContainer config
├── .vscode/
│ └── launch.json # Xdebug launch config
├── Dockerfile # Multi-stage Docker build
├── docker-compose.yml # Standalone compose file
├── .dockerignore # Build context exclusions
├── public/
│ └── index.php # Entry point
└── [Laravel files if applicable]PHP Versions
DAMP supports PHP 7.4, 8.0, 8.1, 8.2, 8.3, and 8.4. Each project can use a different PHP version.
DevContainer Features
Every project includes:
Pre-installed Extensions
- ctype, curl, dom, fileinfo, filter, hash, mbstring, openssl, pcre, session, tokenizer
- xml, opcache, mysqli, pcntl, pdo_mysql, pdo_pgsql, redis, zip
- xdebug (mode: develop,debug,trace,coverage,profile)
VS Code Integration
- Xdebug debugging - Set breakpoints and press F5
- IntelliSense - Auto-completion via PHP Intelephense
- Code spell checker
- Git integration
Networking
- damp-network - Docker network for container communication
- Named Volume - Fast file I/O on Windows
- Caddy Integration - HTTPS routing via reverse proxy
Claude Code CLI
Enable AI-powered coding assistance:
// Added to devcontainer.json when enabled
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}Usage Inside Container:
# Start interactive session
claude
# Get help with code
claude "how do I make a PHP API endpoint?"Toggle the switch during creation - DAMP handles the DevContainer configuration.