PHPackages                             codelytv/php-bootstrap - 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. codelytv/php-bootstrap

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

codelytv/php-bootstrap
======================

Starting point if you want to bootstrap a project in PHP following best practices.

2.0.0(2y ago)10957844[1 issues](https://github.com/CodelyTV/php-bootstrap/issues)MITPHPPHP ^8.3

Since Sep 15Pushed 2y ago6 watchersCompare

[ Source](https://github.com/CodelyTV/php-bootstrap)[ Packagist](https://packagist.org/packages/codelytv/php-bootstrap)[ Docs](https://codely.com)[ Fund](https://bit.ly/CodelyTvPro)[ RSS](/packages/codelytv-php-bootstrap/feed)WikiDiscussions main Synced yesterday

READMEChangelog (3)Dependencies (3)Versions (12)Used By (0)

🐘 PHP Bootstrap (base / project skeleton)
=========================================

[](#-php-bootstrap-base--project-skeleton)

[![Latest Version on Packagist](https://camo.githubusercontent.com/dc81063d47a9f3378074c649d91741e5b0b25188b9df9560477a155da35df2d8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f64656c7974762f7068702d626f6f7473747261702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/codelytv/php-bootstrap)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Build Status](https://github.com/CodelyTV/php-basic-skeleton/actions/workflows/ci.yml/badge.svg)](https://github.com/CodelyTV/php-basic-skeleton/actions)[![Total Downloads](https://camo.githubusercontent.com/79c1b865a480b5c4b2c90fcd0ab0d8b7daaea149a64d0b5d692c19a1fdade507/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636f64656c7974762f7068702d626f6f7473747261702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/codelytv/php-bootstrap)

Introduction
------------

[](#introduction)

This is a repository intended to serve as a starting point if you want to bootstrap a project in PHP. This repository has been explained in the [CodelyTV video "Introducción a PHP: Cómo configurar tu entorno de desarrollo 🐘" (Spanish)](https://www.youtube.com/watch?v=v2IjMrpZog4).

It could be useful if you want to start from scratch a kata or a little exercise or project. The idea is that you don't have to worry about the boilerplate, just run `composer create-project codelytv/php-bootstrap your-project-name` and there you go:

- Latest versions of PHP and PHPUnit
- Best practices applied:
    - [`README.md`](README.md)
    - [`LICENSE`](LICENSE)
    - [`composer.json`](composer.json)
    - [`ecs.php`](./ecs.php)
    - [`phpunit.xml`](phpunit.xml)
    - [`psalm.xml`](./psalm.xml)
    - [`.gitignore`](.gitignore)
    - [`.editorconfig`](.editorconfig)
- Some useful resources to start coding

How To Start
------------

[](#how-to-start)

You have 2 different alternatives: Using our [Packagist project](https://packagist.org/packages/codelytv/php-bootstrap)with Composer, or manually cloning [this repo](https://github.com/CodelyTV/php-bootstrap/):

### Using Composer

[](#using-composer)

Start completely from scratch without having to delete this bootstrap project Git history:

1. If you don't have it already, [install Composer](https://getcomposer.org/download/).
2. Create your project based on the [Packagist project](https://packagist.org/packages/codelytv/php-bootstrap). This will also download the project dependencies: `composer create-project codelytv/php-bootstrap your-project-name`.
3. Move to the project directory: `cd your-project-name`
4. Run all the checks: `composer test`. This will do some checks that you can perform with isolated commands:
    1. [Codely Style](https://github.com/CodelyTV/php-coding_style-codely): `composer lint`.
    2. [Easy coding standard](https://github.com/easy-coding-standard/easy-coding-standard): `composer style`. If you want to fix style issues automatically: `composer lint:fix`.
    3. [Static Analysis](https://github.com/vimeo/psalm): `composer static-analysis`.
    4. [PHP Unit](https://phpunit.de/): `composer phpunit`.
5. Create your own repository:
    1. Initialize your own Git repository: `git init`
    2. Add the bootstrap files: `git add .`
    3. Commit: `git commit -m "Initial commit with project boilerplate based on https://github.com/CodelyTV/php-bootstrap"`
    4. Add your remote repository: `git remote add origin git@github.com:your-username/your-project-name`
    5. Upload your local commits to the new remote repo: `git push -u origin master`
6. Start coding!

### Cloning the repository

[](#cloning-the-repository)

Just in case you prefer to avoid dealing with `composer create-project`, you can also clone this repository. We recommend to follow the next step-by-step process in order to avoid adding the bootstrap project commits to your project Git history:

1. [Use this repository template](https://github.com/CodelyTV/php-basic-skeleton/generate)
2. Clone your project
3. Move to the project directory: `cd your-project-name`
4. If you don't have it already, [install Composer](https://getcomposer.org/download/).
5. Install the project dependencies: `composer install`
6. Run the tests: `composer test`.
7. Start coding!

Related skeleton templates
--------------------------

[](#related-skeleton-templates)

This very same basic skeleton philosophy implemented in other programming languages:

- [🔷🕸️ TypeScript Web Skeleton](https://github.com/CodelyTV/typescript-web-skeleton)
- [🔷🌍 TypeScript API Skeleton](https://github.com/CodelyTV/typescript-api-skeleton)
- [🔷✨ TypeScript DDD Skeleton](https://github.com/CodelyTV/typescript-ddd-skeleton)
- [✨ JavaScript Basic Skeleton](https://github.com/CodelyTV/javascript-basic-skeleton)
- [☕ Java Basic Skeleton](https://github.com/CodelyTV/java-basic-skeleton)
- [📍 Kotlin Basic Skeleton](https://github.com/CodelyTV/kotlin-basic-skeleton)
- [🧬 Scala Basic Skeleton](https://github.com/CodelyTV/scala-basic-skeleton)
- [🦈 C# Basic Skeleton](https://github.com/CodelyTV/csharp-basic-skeleton)

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity85

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 75% 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

Every ~280 days

Recently: every ~699 days

Total

11

Last Release

779d ago

Major Versions

1.2.1 → 2.0.02024-05-13

PHP version history (3 changes)1.0.0PHP ^7.0

1.2.0PHP ^7.2

2.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1331435?v=4)[Rafa Gómez](/maintainers/rgomezcasas)[@rgomezcasas](https://github.com/rgomezcasas)

![](https://avatars.githubusercontent.com/u/986235?v=4)[Javier Ferrer González](/maintainers/JavierCane)[@JavierCane](https://github.com/JavierCane)

---

Top Contributors

[![JavierCane](https://avatars.githubusercontent.com/u/986235?v=4)](https://github.com/JavierCane "JavierCane (30 commits)")[![rgomezcasas](https://avatars.githubusercontent.com/u/1331435?v=4)](https://github.com/rgomezcasas "rgomezcasas (8 commits)")[![juanmiguelbesada](https://avatars.githubusercontent.com/u/295490?v=4)](https://github.com/juanmiguelbesada "juanmiguelbesada (2 commits)")

---

Tags

best-practicesbootstrapcodelytvcomposerexamplephpphp7phpunitsampleskeletonTDDboilerplatebootstrapSkeletonkata

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/codelytv-php-bootstrap/health.svg)

```
[![Health](https://phpackages.com/badges/codelytv-php-bootstrap/health.svg)](https://phpackages.com/packages/codelytv-php-bootstrap)
```

###  Alternatives

[mockery/mockery

Mockery is a simple yet flexible PHP mock object framework

10.7k526.2M26.5k](/packages/mockery-mockery)[codeception/codeception

All-in-one PHP Testing Framework

4.9k90.2M3.2k](/packages/codeception-codeception)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k42.5M39.8k](/packages/orchestra-testbench)[phpspec/phpspec

Specification-oriented BDD framework for PHP 7.1+

1.9k37.5M3.2k](/packages/phpspec-phpspec)[codedungeon/phpunit-result-printer

PHPUnit Pretty Result Printer

1.2k9.0M408](/packages/codedungeon-phpunit-result-printer)[atoum/atoum

Simple modern and intuitive unit testing framework for PHP 8.0+

1.5k2.7M319](/packages/atoum-atoum)

PHPackages © 2026

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