Skip to content

Repository files navigation

PHP Forge

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.2 --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 core PHP dev environment metadata (editor, gitignore, StyleCI, quality linter configs). 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)
├── composer-require-checker.json # preserve: Composer require-checker whitelist (project-specific)
└── .github
└── linters
├── .codespellrc # replace: codespell config
├── .editorconfig-checker.json # replace: editorconfig-checker config
├── .gitleaks.toml # replace: gitleaks config
└── .markdown-lint.yml # replace: markdownlint config

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.

Package information

PHPLatest Stable VersionTotal Downloads

Project status

QualitySecurityStyleCI

Our social networks

Follow on X

License

License

About

Centralized PHP development baseline: code style, linters, CI workflows, and dev environment tooling.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors