Skip to content

php-forge/baseline

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

About

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

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from yii2-extensions/template