
Skill
php-project-guide
manage PHP project development environments
Description
Foundational PHP project knowledge for AI agents. Use when working on a PHP project, setting up a PHP development environment, understanding PHP project structure, following PHP coding standards, running PHP tests, using Composer, or when guidance on PHP-specific tools and workflows in PhpStorm is needed.
SKILL.md
PHP Project Guide
Foundational knowledge for working effectively on any PHP project in PhpStorm. Provides project detection, coding standards, testing patterns, framework guidance, and MCP tool usage.
Quick Start: First Interaction with a PHP Project
Run these steps when encountering a new PHP project for the first time.
1. Detect PHP environment
get_php_project_config()
Returns the configured PHP language level, interpreter details (name, path, local/remote), and runtime information (exact PHP version, loaded extensions, php.ini path, debuggers). Use this to understand the PHP environment before generating code.
2. Identify dependencies and framework
get_composer_dependencies()
This returns all installed packages with exact versions from composer.lock. Use it to determine:
- Framework:
laravel/framework,symfony/framework-bundle, or neither - Test framework:
phpunit/phpunit,pestphp/pest,codeception/codeception - Static analysis:
phpstan/phpstan,vimeo/psalm - Code style:
friendsofphp/php-cs-fixer,squizlabs/php_codesniffer
Use the optional nameFilter glob parameter to search for specific packages (e.g., nameFilter: "laravel/*").
3. Route to framework-specific guidance
| Dependency | Project Type | Reference |
|---|---|---|
laravel/framework | Laravel | See references/framework-laravel.md |
symfony/framework-bundle | Symfony | See references/framework-symfony.md |
| Neither | Generic PHP | See references/php-standards.md |
PhpStorm MCP Tools Quick Reference
Code Analysis
| Tool | When to Use |
|---|---|
get_inspections | After edits, for code review, to find problems with available quick fixes |
apply_quick_fix | To resolve inspection problems automatically |
get_file_problems | Quick error/warning check on any file type (no quick fixes returned) |
build_project | Trigger project build and get compilation errors |
Code Search
| Tool | When to Use |
|---|---|
search_structural | To find code patterns semantically using SSR (requires fileType: "PHP") |
get_structural_patterns | To discover predefined PHP search patterns by category |
search_text | Fast text substring search across project files |
search_regex | Regex search across project files with match coordinates |
search_symbol | Semantic symbol lookup (classes, methods, fields) |
search_file | Find files by glob pattern |
find_files_by_name_keyword | Fast file search by name substring (uses indexes) |
find_files_by_glob | Find files matching glob pattern recursively |
Code Intelligence
| Tool | When to Use |
|---|---|
get_symbol_info | Get Quick Documentation for a symbol at a specific position |
rename_refactoring | Safely rename a symbol across the entire project |
get_php_project_config | Get PHP language level, interpreter, extensions, runtime info |
get_composer_dependencies | Understand project dependencies, framework, and versions |
File Operations
| Tool | When to Use |
|---|---|
read_file | Read file with advanced modes (slice, lines, offsets, indentation) |
get_file_text_by_path | Read full file text by project-relative path |
replace_text_in_file | Targeted find-and-replace in files |
create_new_file | Create new files with content |
reformat_file | Apply IDE code formatting rules |
Execution
| Tool | When to Use |
|---|---|
get_run_configurations | List available run/test configurations |
execute_run_configuration | Run a specific configuration and get results |
execute_terminal_command | Run shell commands in IDE terminal |
See references/mcp-tools-reference.md for detailed parameters and usage patterns.
Documentation Lookup
When you need documentation beyond what these references provide:
- Context7 MCP: Use
resolve-library-idthenquery-docsfor any PHP framework or library — returns up-to-date docs and code examples - PHP official docs: https://www.php.net/manual
- PhpStorm help: https://www.jetbrains.com/help/phpstorm/
- phpstorm-stubs: https://github.com/JetBrains/phpstorm-stubs — PHP built-in function signatures and type info
Reference Documents
| Reference | Content |
|---|---|
references/project-detection.md | composer.json anatomy, PSR-4 autoloading, directory layouts |
references/php-standards.md | PER/PSR coding standards, PHP version features, anti-patterns |
references/testing-guide.md | PHPUnit, Pest, running tests, common mistakes |
references/framework-laravel.md | Laravel directory structure, Eloquent, artisan, routes |
references/framework-symfony.md | Symfony directory structure, Doctrine, console, services |
references/static-analysis.md | PHPStan, Psalm, PHP CS Fixer, PHP CodeSniffer |
references/composer-guide.md | Composer commands, version constraints, autoloading |
references/mcp-tools-reference.md | Detailed PhpStorm MCP tool parameters and workflows |
More skills from the phpstorm-claude-marketplace repository
View all 3 skillsMore from JetBrains
View publishermps-aspect-accessories
configure JetBrains MPS module dependencies
MPS
Jul 17ArchitectureConfigurationEngineeringmps-aspect-actions
define and edit MPS node factories
MPS
Jul 17ArchitectureEngineeringmps-aspect-behavior
define and edit MPS concept behavior
MPS
Jul 13ArchitectureEngineeringmps-aspect-constraints
define JetBrains MPS language constraints
MPS
Jul 23ArchitectureCode Analysismps-aspect-dataflow
define and debug MPS dataflow builders
MPS
Jul 13Data Analysismps-aspect-editor
define MPS editor layouts
MPS
Jul 23DesignUI Components