PHPackages                             4xxi/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. 4xxi/skeleton

ActiveProject[Utility &amp; Helpers](/categories/utility)

4xxi/skeleton
=============

v4.4(5y ago)541827MITPHPPHP ^7.3

Since Mar 15Pushed 5y ago5 watchersCompare

[ Source](https://github.com/4xxi/skeleton)[ Packagist](https://packagist.org/packages/4xxi/skeleton)[ RSS](/packages/4xxi-skeleton/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (6)Used By (0)

4xxi Symfony Skeleton
=====================

[](#4xxi-symfony-skeleton)

4xxi Symfony Skeleton is an extension for the official [Symfony Skeleton](https://github.com/symfony/skeleton)(recommended way for starting new projects using [Symfony Flex](https://symfony.com/doc/current/setup/flex.html)). It's main idea is to keep simplicity of official Skeleton, while adding must-have dependencies and default configs used in 4xxi for developing majority of the projects. It contains bare Symfony Skeleton with the following additions:

- A minimal set of must-have bundles for production environment
    - ORM Pack (Doctrine + Migrations)
    - FrameworkExtraBundle (Annotations)
    - MonologBundle
    - Sensiolabs SecurityChecker
- A set of bundles and tools that are necessary for development
    - [PHP CS Fixer](https://cs.sensiolabs.org/)
    - [Psalm](https://psalm.dev/docs/)
    - [PhpStan](https://phpstan.org/user-guide/getting-started)
    - [PhpUnit](https://symfony.com/doc/current/testing.html)
    - Debug Pack (Debug + Profiler + Dumper)
- Docker Compose and Docker Sync configs optimized for development under Linux and MacOS
- Template for README.md with installation instructions

Creating new project
====================

[](#creating-new-project)

Creating new project with 4xxi Symfony Skeleton is as easy as running

```
composer create-project 4xxi/skeleton
```

where `` is the directory where you want to setup a new project. New project is ready for development immediately after this step.

Additional configurations
-------------------------

[](#additional-configurations)

### Docker

[](#docker)

4xxi Symfony Skeleton comes with Docker configuration for local development (includes PHP 7.1, nginx and PostgreSQL) on Linux and MacOS.

- Follow instructions in `docker-sync.yml` and `docker-compose-sync.yml` and update `project_name-data-sync` volume with the real name of your project. This is needed to keep a unique name for data volume used by Docker Sync for developers working simultaneously on several projects.
- Optional: Add additional PHP extensions to PHP Docker container by following instructions in `config/docker/php/Dockerfile`.
- Optional: Add additinal services (like Redis, RabbitMQ, Elasticsearch) in docker-compose.yml.

### Add Bundles and dependencies that are required by our project

[](#add-bundles-and-dependencies-that-are-required-by-our-project)

Projects created by Flex include only the mininum amount of dependencies by default. Most of additional components that were previously a part of Symfony Standard Edition are not installed, so it is up to you to install them if they are really needed.

Most of components could be installed and auto-configured by Flex by running:

```
composer req
```

The list of common Components that may be needed for the project:

- api
- asset
- twig
- workflow
- web-link

### Update installation instructions

[](#update-installation-instructions)

When you are done with previous steps, update Installation Instructions and remove everything above them in this file.

Installation Instructions
=========================

[](#installation-instructions)

Everything below is a template for Installation Instructions. It should be updated with the full steps for setting up your project.

Requirements
------------

[](#requirements)

- [Docker and Docker Compose](https://docs.docker.com/engine/installation)
- \[MacOS Only\]: Docker Sync (run `gem install docker-sync` to install it)

Configuration
-------------

[](#configuration)

Application configuration is stored in `.env` file.

Run `cp .env.dist .env` to apply the default configuration for local installations.

### HTTP port

[](#http-port)

If you have nginx or apache installed and using 80 port on host system you can either stop them before proceeding or reconfigure Docker to use another port by changing value of `EXTERNAL_HTTP_PORT` in `.env` file.

### Application environment

[](#application-environment)

You can change application environment to `dev` of `prod` by changing `APP_ENV` variable in `.env` file.

### DB name and credentials

[](#db-name-and-credentials)

DB name and credentials could by reconfigured by changing variables with `POSTGRES` prefix in `.env` file. It is recommended to restart containers after changing these values (new database will be automatically created on containers start).

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

[](#installation)

### 1. Start Containers and install dependencies

[](#1-start-containers-and-install-dependencies)

On Linux:

```
docker-compose up -d
```

On MacOS:

```
docker-sync-stack start
```

### 2. Run migrations, install fixtures

[](#2-run-migrations-install-fixtures)

```
docker-compose exec php bin/console doctrine:migrations:migrate
```

### 3. Build frontend

[](#3-build-frontend)

Place instructions to build frontend here.

### 4. Open project

[](#4-open-project)

Just go to

Application commands
====================

[](#application-commands)

Add application-specific console commands and their description here.

Useful commands and shortcuts
=============================

[](#useful-commands-and-shortcuts)

Shortcuts
---------

[](#shortcuts)

It is recommended to add short aliases for the following frequently used container commands:

- `docker-compose exec php php` to run php in container
- `docker-compose exec php composer` to run composer
- `docker-compose exec php bin/console` to run Symfony CLI commands
- `docker-compose exec db psql` to run PostgreSQL commands

Checking code style and running tests
-------------------------------------

[](#checking-code-style-and-running-tests)

Fix code style by running PHP CS Fixer:

```
docker-compose exec php vendor/bin/php-cs-fixer fix
```

Run PHP Unit Tests:

```
docker-compose exec php bin/phpunit
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~199 days

Total

5

Last Release

2182d ago

Major Versions

v3.4 → v4.02018-03-15

PHP version history (2 changes)v3.4PHP ^7.1.3

v4.2PHP ^7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/c15620e5ef34e199427dddde987be2aa0ba770ea54275bebd36c7b85d16b986a?d=identicon)[thirdparty@4xxi.com](/maintainers/thirdparty@4xxi.com)

---

Top Contributors

[![rk4xxi](https://avatars.githubusercontent.com/u/31618795?v=4)](https://github.com/rk4xxi "rk4xxi (14 commits)")[![etomilin](https://avatars.githubusercontent.com/u/6134448?v=4)](https://github.com/etomilin "etomilin (13 commits)")[![artem328](https://avatars.githubusercontent.com/u/8807891?v=4)](https://github.com/artem328 "artem328 (5 commits)")[![rk4xxicom](https://avatars.githubusercontent.com/u/46897827?v=4)](https://github.com/rk4xxicom "rk4xxicom (3 commits)")[![mickaelandrieu](https://avatars.githubusercontent.com/u/1247388?v=4)](https://github.com/mickaelandrieu "mickaelandrieu (1 commits)")[![smirik](https://avatars.githubusercontent.com/u/354907?v=4)](https://github.com/smirik "smirik (1 commits)")

---

Tags

docker-syncphpphp7skeleton-applicationsymfonysymfony-skeletonsymfony3symfony4

###  Code Quality

Static AnalysisPHPStan, Psalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/4xxi-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/4xxi-skeleton/health.svg)](https://phpackages.com/packages/4xxi-skeleton)
```

###  Alternatives

[bruli/php-git-hooks

Git hooks for PHP projects.

675370.8k5](/packages/bruli-php-git-hooks)[mapbender/mapbender

Mapbender library

10117.4k5](/packages/mapbender-mapbender)[bolt/project

Bolt standard project skeleton

4429.4k](/packages/bolt-project)

PHPackages © 2026

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