syntatis / composer-starter
Opinionated boilerplate to kickstart a Composer package
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- nunomaduro/collision: ^5.11
- phpcompatibility/php-compatibility: ^9.3
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^9.6
- shipmonk/phpstan-rules: ^4.1
- squizlabs/php_codesniffer: ^3.0
- symfony/var-dumper: ^5.4
- syntatis/coding-standard: ^2.0
README
This repository provides a ready-to-use, opinionated starting point for creating a Composer package. It's designed to help you kickstart development with the essential tools so you can skip the boilerplate and focus on starting to build your package.
Features
- PSR-4 autoloading using Composer
- Pre-configured PHPUnit for testing
- Pre-configured PHPStan for static analysis
- Pre-configured PHPCS for code style checking, and formatting
- Ready-to-use
.editorconfig
,.gitattributes
, and.gitignore
- Composer scripts for common tasks
- Visual Studio Code workspace settings with the extensions recommendation for development
- Dev Container configuration for consistent development environment inside a Docker container
- GitHub Actions workflow for running tests and static analysis on pull request
- Dependabot configuration for automatic dependency updates
Usage
Recommended
To use this starter template it's recommended to use the Github template feature. You can create a new repository using this template by clicking the "Use this template" button on the repository page.
Then, after cloning the new repository, you can run:
composer install
...to install the dependencies.
Using Composer
To use this starter template, run:
composer create-project syntatis/composer-starter --prefer-source --no-install <my-package>
Replace <my-package>
with the desired name for your package. This will create a new directory with the specified name. Then, run the following command to install the dependencies:
cd <my-package> composer install
Note
Don't forget to update the name
, description
, and authors
fields in the composer.json
file to reflect your own package's details.
Commands
This starter template comes with several Composer scripts to help you with common development tasks such as testing, linting
, formatting, and static analysis. You can run these commands using composer <command>
from the root of your project.
Command | Description |
---|---|
composer test |
Runs the tests using PHPUnit. |
composer lint |
Checks code style using PHP_CodeSniffer (PHPCS). |
composer format |
Formats the code using PHPCBF (PHP Code Beautifier and Fixer). |
composer analyze |
Runs static analysis using PHPStan. |