PHPackages                             tebe/php-package-skeleton - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. tebe/php-package-skeleton

ActiveLibrary[Testing &amp; Quality](/categories/testing)

tebe/php-package-skeleton
=========================

Conrete PHP Package Skeleton using Best-Practices

v0.8.0(7y ago)3191MITPHPPHP &gt;=7.1

Since Oct 26Pushed 3y ago1 watchersCompare

[ Source](https://github.com/tbreuss/php-package-skeleton)[ Packagist](https://packagist.org/packages/tebe/php-package-skeleton)[ RSS](/packages/tebe-php-package-skeleton/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

[![Travis](https://camo.githubusercontent.com/9f59b2cffa819540df85a6161456d1d08c2ff0dba9439ba9843c9b4126b02668/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f746272657573732f7068702d7061636b6167652d736b656c65746f6e2e737667)](https://travis-ci.org/tbreuss/php-package-skeleton)[![Scrutinizer](https://camo.githubusercontent.com/0fc40792789993a4dc6b9f757186d99ed292ca442ea65d29c070f2108d720abe/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f746272657573732f7068702d7061636b6167652d736b656c65746f6e2e737667)](https://scrutinizer-ci.com/g/tbreuss/php-package-skeleton/)[![Packagist](https://camo.githubusercontent.com/d4e3a8823b6a93bf9cd0bd7c08a33f5193a4c2c236c5d13863afa3bf6f81d1a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f746562652f7068702d7061636b6167652d736b656c65746f6e2e737667)](https://packagist.org/packages/tebe/php-package-skeleton)[![GitHub (pre-)release](https://camo.githubusercontent.com/61acd4c3ca5224e39a5cad6e95dd15d22b3e253c91c055faaec700b47ea4613b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f746272657573732f7068702d7061636b6167652d736b656c65746f6e2f616c6c2e737667)](https://github.com/tbreuss/php-package-skeleton/releases)[![License](https://camo.githubusercontent.com/ae119ae1b4f2502ed20a2c49ceb3575575b366bc72891353c5efc5a7a219828a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f746272657573732f7068702d7061636b6167652d736b656c65746f6e2e737667)](https://github.com/tbreuss/php-package-skeleton/blob/master/LICENSE)[![PHP from Packagist](https://camo.githubusercontent.com/bb19acf83dc4521057ee1974ba5dec5f0953169a2cda67790d319986446c8e44/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f746562652f7068702d7061636b6167652d736b656c65746f6e2e737667)](https://packagist.org/packages/tebe/php-package-skeleton)

PHP Package Skeleton
====================

[](#php-package-skeleton)

This skeleton is a concrete example package based on [PDS Skeleton](https://github.com/php-pds/skeleton). It uses the standard filesystem structure as proposed by PDS and adds some additional folders and files. The main idea is to create a project using this package and then remove the parts that are not used or not useful for your project.

Installation
------------

[](#installation)

To create a new project based on this skeleton package simply run the following command:

```
$ composer create-project -s dev tebe/php-package-skeleton myproject

```

Now, remove the parts from the created project that are not used or not useful for your project.

Summary
-------

[](#summary)

The package contains the following root-level directories:

DirectoryDescription`bin/`command-line executables`config/`configuration files`docs/`documentation files`examples/`example files`public/`web server files`resources/`other resource files`src/`PHP source code`tests/`test code`vendor/`vendor files managed by composerThe package contains the following root-level files:

FilesDescription`CHANGELOG.md`a log of changes between releases`CONTRIBUTING.md`guidelines for contributors`LICENSE`licensing information`README.md`information about the package itselfThe package contains the following scripts:

ScriptDescription`composer test`run minimal testsuite with phpunit and phpcs`composer run`start webserver from public directory`composer phpunit`run unit tests`composer phpcs`run php code sniffer`composer docs:api`build API documentation`composer docs:build`build project documentation`composer docs:serve`serve project documentationRoot-Level Directories
----------------------

[](#root-level-directories)

### bin/

[](#bin)

This is the root-level directory for command-line executable files. You are free to define the structure and contents of the directory.

### config/

[](#config)

This is the root-level directory for configuration files. You are free to define the structure and contents of the directory.

### docs/

[](#docs)

This is the root-level directory for documentation files written in Markdown.

The directory contains three subfolders:

- api: the html api documentation generated by [ApiGen](https://github.com/ApiGen/ApiGen).
- book: the markdown documentation for your project
- html: the html documentation generated by [MkDocs](http://www.mkdocs.org)

You are free to extend the structure and contents of the directory.

### examples/

[](#examples)

This is the root-level directory for example files. You are free to define the structure and contents of the directory.

### public/

[](#public)

This is the root-level directory for web server files. You are free to define the structure and contents of the directory.

### resources/

[](#resources)

This is the root-level directory for other resource files. You are free to define the structure and contents of the directory.

### src/

[](#src)

This is the root-level directory for PHP source code files. You are free to define the structure and contents of the directory.

### tests/

[](#tests)

This is the root-level directory for test files run by [PHPunit](https://phpunit.de).

The directory contains at least

- bootstrap.php: The bootstrap file used by PHPUnit

You are free to define the structure and contents of the directory.

### vendor/

[](#vendor)

This is the root-level directory managed by [Composer](https://getcomposer.org).

This directory is generated and MUST NOT be touched.

### Other Directories

[](#other-directories)

You are free to add other root-level directories for purposes not used in this skeleton.

Root-Level Files
----------------

[](#root-level-files)

### .apigen.yml

[](#apigenyml)

(TBD)

### .gitignore

[](#gitignore)

(TBD)

### .travis.yml

[](#travisyml)

(TBD)

### CHANGELOG.md

[](#changelogmd)

This is the root-level file with a list of changes since the last release or version. You are free to define the structure and contents of the file.

### .composer.json

[](#composerjson)

(TBD)

### .composer.lock

[](#composerlock)

(TBD)

### CONTRIBUTING.md

[](#contributingmd)

This is the root-level file that describes how to contribute to the package. You are free to define the structure and contents of the file.

### LICENSE

[](#license)

This is the root-level file indicating the licensing and copyright terms of the package contents.

This is needed by package consumers which might be in violation of copyright law when copying unlicensed intellectual property.

You are free to define the structure and contents of the file.

### mkdocs.yml

[](#mkdocsyml)

(TBD)

### phpcs.xml

[](#phpcsxml)

(TBD)

### phpunit.xml

[](#phpunitxml)

(TBD)

### README.md

[](#readmemd)

This is the root-level file with information about the package itself. You are free to define the structure and contents of the file.

### Other Files

[](#other-files)

You are free to add other root-level files for purposes not used in this skeleton.

Scripts
-------

[](#scripts)

A script, in Composer's terms, is either a PHP callbacks or any command-line executable command. They are defined in the root `composer.json` package and are useful for executing a package's custom code or package-specific commands during the Composer execution process.

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2758d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e132a58c242510a02375872984be505a6b1adcf152214c0e96fb291d929c74ac?d=identicon)[thomasbreuss](/maintainers/thomasbreuss)

---

Top Contributors

[![tbreuss](https://avatars.githubusercontent.com/u/1334161?v=4)](https://github.com/tbreuss "tbreuss (18 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

best-practicescomposerphpphpcsphpunitskeletonphppackageSkeletonbest-practice

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/tebe-php-package-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/tebe-php-package-skeleton/health.svg)](https://phpackages.com/packages/tebe-php-package-skeleton)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k43.5M5.2k](/packages/larastan-larastan)[nunomaduro/laravel-mojito

A lightweight package for testing Laravel views.

368435.5k11](/packages/nunomaduro-laravel-mojito)[yamadashy/phpstan-friendly-formatter

Simple error formatter for PHPStan that display code frame

64573.8k34](/packages/yamadashy-phpstan-friendly-formatter)[calebdw/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

1484.6k3](/packages/calebdw-larastan)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
