Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space

[*.php]
indent_size = 4

[*.{json,jsonc}]
indent_size = 4

[*.{yaml,yml}]
indent_size = 2
6 changes: 6 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"recommendations": [
"bmewburn.vscode-intelephense-client",
"editorconfig.editorconfig"
]
}
17 changes: 17 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"intelephense.environment.phpVersion": "8.4.0",
"files.watcherExclude": {
"**/vendor/**": true,
"**/workspace/vendor/**": true,
"**/workspace/.phpstan-cache/**": true,
"**/workspace/.php-cs-fixer.cache": true,
"**/workspace/.deptrac.cache": true
},
"search.exclude": {
"**/vendor/**": true,
"**/workspace/vendor/**": true,
"**/workspace/.phpstan-cache/**": true,
"**/workspace/.php-cs-fixer.cache": true,
"**/workspace/.deptrac.cache": true
}
}
94 changes: 94 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "EvolvePHP 2: Install Workspace Dependencies",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"install"
],
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Quality",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"quality"
],
"group": "test",
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Tests",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"test"
],
"group": "test",
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Architecture",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"architecture"
],
"group": "test",
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Static Analysis",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"analyse"
],
"group": "test",
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Style Check",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"style:check"
],
"group": "test",
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Style Fix",
"type": "shell",
"command": "composer",
"args": [
"--working-dir=workspace",
"style:fix"
],
"problemMatcher": []
},
{
"label": "EvolvePHP 2: Root Policy",
"type": "shell",
"command": "php",
"args": [
"workspace/vendor/bin/phpunit",
"--configuration",
"phpunit.xml.dist",
"tests/Architecture",
"tests/Documentation"
],
"group": "test",
"problemMatcher": []
}
]
}
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

### Documentation and governance

- Added Phase 2.8 developer-experience foundation with EditorConfig, VS Code extension recommendations, portable VS Code settings and portable task commands, PHP 8.4 language-analysis targeting, canonical Composer-script reuse, explicit non-mutating quality checks versus the Style Fix mutating task, no local executable paths, and no runtime debugging configuration.
- Added Phase 2.7B repository governance evidence finalization: changed the GitHub default branch to `2.x`, activated repository rulesets for `master` and `2.x`, preserved `master` as the EvolvePHP 1 legacy line, required PR-based change on both branches, blocked deletion and force pushes, enforced strict/up-to-date required status checks on `2.x` for `Policy (PHP 8.4)`, `Workspace quality (PHP 8.4)` and `Workspace quality (PHP 8.5)`, and made no branch rename or deletion.
- Added Phase 2.7A repository-owned branch-governance policy foundation for EvolvePHP 2 development on `2.x`, preserved EvolvePHP 1 maintenance on `master`, explicit separation of modern development and legacy maintenance, and preparation for a later default-branch and ruleset transition.
- Added Phase 2.6 GitHub Actions CI foundation with a PHP 8.4/8.5 workspace quality matrix, separate PHP 8.4 root-policy job, lockfile-based workspace installation, immutable action pinning, and successful initial CI execution for the current workspace, tooling and package foundation.
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,16 @@ The normal clone path starts on `2.x` because it is the GitHub default branch. F

The EvolvePHP 2 workspace owns dependency installation and quality checks. Use [workspace/README.md](workspace/README.md) for detailed Composer, PHPUnit, PHPStan, PHP-CS-Fixer and Deptrac guidance.

## Developer Experience

VS Code support is optional developer tooling for contributors. It is not framework runtime configuration, and it does not replace terminal PHP or Composer execution.

The repository includes a portable `.editorconfig` foundation and committed VS Code recommendations, settings and tasks. No machine-specific executable path is committed. Contributors with multiple PHP versions must make PHP 8.4+ available to their VS Code integrated terminal and local environment before relying on the tasks.

The VS Code tasks are convenience wrappers around the canonical Composer workspace scripts owned by `workspace/composer.json`. `EvolvePHP 2: Quality`, `EvolvePHP 2: Tests`, `EvolvePHP 2: Architecture`, `EvolvePHP 2: Static Analysis`, `EvolvePHP 2: Style Check` and `EvolvePHP 2: Root Policy` are normal non-mutating checks. `EvolvePHP 2: Install Workspace Dependencies` installs local dependency content. `EvolvePHP 2: Style Fix` is explicitly mutating.

Runtime debugging configuration is deferred until the EvolvePHP 2 runtime implementation is complete.

## Quality Checks

The main EvolvePHP 2 validation command is:
Expand Down
Loading