php-forge/baseline

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

Maintainers

👁 terabytesoftw

Package info

github.com/php-forge/baseline

pkg:composer/php-forge/baseline

Statistics

Installs: 6 843

Dependents: 16

Suggesters: 0

Stars: 1

Open Issues: 1

0.1.2 2026-05-19 09:55 UTC

Requires

  • php: >=8.3

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None


README

👁 PHP Forge

Baseline


Centralized PHP development baseline
Code style, linters, CI workflows, and dev environment tooling shared across repositories via Composer.

System requirements

  • PHP 8.3 or higher.
  • Composer for dependency management.

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.

Package information

👁 PHP
👁 Latest Stable Version
👁 Total Downloads

Quality code

👁 Super-Linter
👁 StyleCI

Our social networks

👁 Follow on X

License

👁 License