php-project-guide
Skill34 starsChanged 9 months agoMITView on GitHub
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.
In this repository2 other files it gives its agents.
- php-code-reviewSkill
- upgrade-phpSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Run these steps when encountering a new PHP project for the first time.
- Very specific: line 38
Use the optional nameFilter glob parameter to search for specific packages (e.g., nameFilter: "laravel/*").
- Distinctive: line 103
When you need documentation beyond what these references provide:
- Very specific: line 105
Context7 MCP: Use resolve-library-id then query-docs for any PHP framework or library — returns up-to-date docs and code examples
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

