PHPackages                             locomotivemtl/charcoal-core - 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. [Framework](/categories/framework)
4. /
5. locomotivemtl/charcoal-core

ActiveLibrary[Framework](/categories/framework)

locomotivemtl/charcoal-core
===========================

Charcoal Web Framework

0.6.4(4y ago)623.6k↑1400%[3 PRs](https://github.com/locomotivemtl/charcoal-core/pulls)2MITPHPPHP &gt;=5.6.0 || &gt;=7.0CI failing

Since Sep 14Pushed 1y ago11 watchersCompare

[ Source](https://github.com/locomotivemtl/charcoal-core)[ Packagist](https://packagist.org/packages/locomotivemtl/charcoal-core)[ Docs](https://charcoal.locomotive.ca)[ RSS](/packages/locomotivemtl-charcoal-core/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (15)Versions (47)Used By (2)

Charcoal Core
=============

[](#charcoal-core)

[![Build Status](https://camo.githubusercontent.com/a3dfab807697a8aeefc699560f0c09bb1b76637e56c4605d193e54c21dc7b0cb/68747470733a2f2f7472617669732d63692e6f72672f6c6f636f6d6f746976656d746c2f63686172636f616c2d636f72652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/locomotivemtl/charcoal-core)

The `charcoal-core` module contains a few core charcoal namespaces: `\Charcoal\Loader`, `\Charcoal\Model`, `\Charcoal\Source` and `\Charcoal\Validator`.

How to Install
--------------

[](#how-to-install)

The preferred (and only supported) way of installing *charcoal-core* is with **composer**:

```
★ composer require locomotivemtl/charcoal-core
```

For a complete, ready-to-use *Charcoal* project, start from the [`boilerplate`](https://github.com/locomotivemtl/charcoal-project-boilerplate):

```
★ composer create-project locomotivemtl/charcoal-project-boilerplate:@dev --prefer-source
```

Dependencies and Requirements
-----------------------------

[](#dependencies-and-requirements)

Charcoal depends on:

- `PHP** 5.6+`
    - `PHP 7` is recommended, for performance and security.
- `ext-pdo`
- `ext-mbstring`
- `psr/log`
- `psr/cache`
- `locomotivemtl/charcoal-config`
- `locomotivemtl/charcoal-factory`
- `locomotivemtl/charcoal-property`
- `locomotivemtl/charcoal-view`

Loader
======

[](#loader)

Model
=====

[](#model)

Source
======

[](#source)

Validator
=========

[](#validator)

The validator namespace is obsolete and should not be used. Its usage is currently being removed from everywhere in charcoal.

Development
===========

[](#development)

To install the development environment:

```
★ composer install --prefer-source
```

To run the tests:

```
★ composer test
```

API documentation
-----------------

[](#api-documentation)

- The auto-generated `phpDocumentor` API documentation is available at
- The auto-generated `apigen` API documentation is available at [https://codedoc.pub/locomotivemtl/charcoal-core/master/](https://codedoc.pub/locomotivemtl/charcoal-core/master/index.html)

Development dependencies
------------------------

[](#development-dependencies)

- `phpunit/phpunit`
- `squizlabs/php_codesniffer`
- `satooshi/php-coveralls`

Continuous Integration
----------------------

[](#continuous-integration)

ServiceBadgeDescription[Travis](https://travis-ci.org/locomotivemtl/charcoal-base)[![Build Status](https://camo.githubusercontent.com/a3dfab807697a8aeefc699560f0c09bb1b76637e56c4605d193e54c21dc7b0cb/68747470733a2f2f7472617669732d63692e6f72672f6c6f636f6d6f746976656d746c2f63686172636f616c2d636f72652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/locomotivemtl/charcoal-core)Runs code sniff check and unit tests. Auto-generates API documentation.[Scrutinizer](https://scrutinizer-ci.com/g/locomotivemtl/charcoal-core/)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/095c8ccdc4217fce29a6a54473caf3900ad03133548d97264910b6ee73aaf2ac/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c6f636f6d6f746976656d746c2f63686172636f616c2d636f72652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/locomotivemtl/charcoal-core/?branch=master)Code quality checker. Also validates API documentation quality.[Coveralls](https://coveralls.io/github/locomotivemtl/charcoal-core)[![Coverage Status](https://camo.githubusercontent.com/93b1a0d4ff4f6537d918d44511c8736130b6ba227fa3663395268960e886cc68/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6c6f636f6d6f746976656d746c2f63686172636f616c2d636f72652f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/locomotivemtl/charcoal-core?branch=master)Unit Tests code coverage.[Sensiolabs](https://insight.sensiolabs.com/projects/ab15f6b0-2063-445e-81d7-2575b919b0ab)[![SensioLabsInsight](https://camo.githubusercontent.com/e3b9bc6a40d84edfc93602601c63f6e74fd2ac041e2b3042eb8c7c5f4628f289/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f61623135663662302d323036332d343435652d383164372d3235373562393139623061622f6d696e692e706e67)](https://insight.sensiolabs.com/projects/ab15f6b0-2063-445e-81d7-2575b919b0ab)Another code quality checker, focused on PHP.Coding Style
------------

[](#coding-style)

The charcoal-core module follows the Charcoal coding-style:

- [*PSR-1*](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md)
- [*PSR-2*](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
- [*PSR-4*](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md), autoloading is therefore provided by *Composer*.
- [*phpDocumentor*](http://phpdoc.org/) comments.
- Read the [phpcs.xml](phpcs.xml) file for all the details on code style.

> Coding style validation / enforcement can be performed with `composer phpcs`. An auto-fixer is also available with `composer phpcbf`.

Authors
=======

[](#authors)

- Mathieu Ducharme

License
=======

[](#license)

Charcoal is licensed under the MIT license. See [LICENSE](LICENSE) for details.

Changelog
=========

[](#changelog)

- Unreleased.

TODOs
-----

[](#todos)

- Remove the dependency on charcoal-app

###  Health Score

38

—

LowBetter than 86% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 62.6% 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 ~50 days

Recently: every ~189 days

Total

39

Last Release

1556d ago

PHP version history (3 changes)0.1PHP &gt;=5.5.0

0.2PHP &gt;=5.6.0

0.4.0PHP &gt;=5.6.0 || &gt;=7.0

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/0a4f39523b4b2837562ba0848a0327b8d340118d1ba87cb0f5d59b1d5cb6beba?d=identicon)[mcaskill](/maintainers/mcaskill)

---

Top Contributors

[![mducharme](https://avatars.githubusercontent.com/u/12157?v=4)](https://github.com/mducharme "mducharme (397 commits)")[![mcaskill](https://avatars.githubusercontent.com/u/29353?v=4)](https://github.com/mcaskill "mcaskill (208 commits)")[![BeneRoch](https://avatars.githubusercontent.com/u/3017380?v=4)](https://github.com/BeneRoch "BeneRoch (16 commits)")[![JoelAlphonso](https://avatars.githubusercontent.com/u/10762266?v=4)](https://github.com/JoelAlphonso "JoelAlphonso (10 commits)")[![dominiclord](https://avatars.githubusercontent.com/u/1775204?v=4)](https://github.com/dominiclord "dominiclord (2 commits)")[![veve40](https://avatars.githubusercontent.com/u/7537381?v=4)](https://github.com/veve40 "veve40 (1 commits)")

---

Tags

frameworkcmscharcoallocomotive

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/locomotivemtl-charcoal-core/health.svg)

```
[![Health](https://phpackages.com/badges/locomotivemtl-charcoal-core/health.svg)](https://phpackages.com/packages/locomotivemtl-charcoal-core)
```

###  Alternatives

[locomotivemtl/charcoal-app

Charcoal application, based on Slim 3

1320.3k11](/packages/locomotivemtl-charcoal-app)[yii2-starter-kit/yii2-starter-kit

Yii2 Starter Kit Application Template

1.4k6.6k](/packages/yii2-starter-kit-yii2-starter-kit)[locomotivemtl/charcoal-cms

Charcoal CMS (Content Management System) Module

529.0k3](/packages/locomotivemtl-charcoal-cms)

PHPackages © 2026

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