# Introduction

**Poirot Framework** is a modern modular framework made to be a simple and concise yet strong with code re usability and enterprise in mind. Poirot in design avoided to define any concrete rules and constraints and adhere to object oriented design and patterns best practices, and tried to keep design flexible and extensible enough.

**Poirot** is a collection of **packages** with minimum dependencies. Each package is available on [GitHub](https://github.com/phPoirot) and can be installed via [Composer](https://getcomposer.org/). Poirot framework doesn't rely on outside dependencies.

The name Poirot came from a British mystery drama television series named Poirot or Agatha Christie's Poirot that aired on ITV from 8 January 1989 to 13 November 2013.

If we say that state is the source of truth for how our app should display on the screen at any given time, then it would be beneficial to us to make that source of truth as easy to reason about and as simple to work with as possible.\\

### Versioning

Poirot follows semantic versioning 2.0.0. For more information on semantic versioning, check out its [documentation](http://semver.org/).
