php-forge / baseline
Centralized PHP development baseline: code style, linters, CI workflows, and dev environment tooling.
Requires
- php: >=8.3
This package is auto-updated.
Last update: 2026-05-05 22:54:50 UTC
README
Baseline
Centralized PHP development baseline
Code style, linters, CI workflows, and dev environment tooling shared across repositories via Composer.
System requirements
Installation
composer require php-forge/baseline:^0.1 --dev
Or add the dependency manually to composer.json:
{
"require-dev": {
"php-forge/baseline": "^0.1"
}
}
Then run composer update.
Scaffolded distribution
This package is a yii2-extensions/scaffold provider for dev
environment metadata (editor, gitignore, prettier, stylelint, super-linter configs, and more). Templates live under
metadata/ and are mapped to consumer roots via the {from, to} form in scaffold.json.
Opt in by allowing the plugin and listing this package as an authorised provider:
composer require yii2-extensions/scaffold:^0.1 --dev
{
"config": {
"allow-plugins": {
"yii2-extensions/scaffold": true
}
},
"extra": {
"scaffold": {
"auto": false,
"allowed-packages": ["php-forge/baseline"]
}
}
}
With auto: false, the plugin does not run on composer install; sync templates manually:
vendor/bin/scaffold reapply --provider=php-forge/baseline vendor/bin/scaffold diff <file> vendor/bin/scaffold status
Files distributed
.
├── .editorconfig # append: Editor settings; consumer-specific lines preserved
├── .gitattributes # replace: Text/binary handling, archive excludes
├── .gitignore # append: Common ignore patterns; project-specific lines preserved
├── .styleci.yml # replace: StyleCI config (PSR-12 + risky)
├── .prettierignore # replace: Paths Prettier should skip
├── .prettierrc.json # replace: Prettier formatting rules
├── .stylelintignore # replace: Paths stylelint should skip
├── composer-require-checker.json # preserve: Composer require-checker whitelist (project-specific)
└── .github
└── linters
├── .codespellrc # replace: codespell config
├── .editorconfig-checker.json # replace: editor-config-checker config for Super-Linter
├── .gitleaks.toml # replace: gitleaks config
├── .markdown-lint.yml # replace: markdownlint config
└── actionlint.yml # replace: actionlint config for Super-Linter
Mode semantics:
replace: lock-step with this package. Local edits trigger a warning and the file is skipped on update.append: provider content is merged into the existing file; consumer additions never blown away.preserve: file is written once on first install and never overwritten.
Related packages
For ECS and Rector configurations and their root wrapper templates, see
php-forge/coding-standard. The two packages are independent — adopt
either, both, or neither.