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

ActiveLibrary[Framework](/categories/framework)

genesis-php/genesis
===================

v2.10.3(9y ago)12.2k3[1 PRs](https://github.com/genesis-php/genesis/pulls)1MITPHPPHP &gt;= 5.4CI failing

Since Mar 2Pushed 7y ago2 watchersCompare

[ Source](https://github.com/genesis-php/genesis)[ Packagist](https://packagist.org/packages/genesis-php/genesis)[ RSS](/packages/genesis-php-genesis/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (3)Versions (39)Used By (1)

[Genesis](https://github.com/genesis-php/genesis)
=================================================

[](#genesis)

[![Build Status](https://camo.githubusercontent.com/f32c3895cdbfeaf364089c1686568c12fff03e7b105f45594a09a9507ed98cc4/68747470733a2f2f7472617669732d63692e6f72672f67656e657369732d7068702f67656e657369732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/genesis-php/genesis)[![Build status](https://camo.githubusercontent.com/09aa94cd31211c9287ec993785868eef5f8a52e34933af31a15c2a453b45fc68/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f6233613334666f6f33666333357062683f7376673d74727565)](https://ci.appveyor.com/project/adambisek/genesis)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/703946f73111b432edcb84446c4e3a6ce5755e78eb1a0a7ee336b2fc68ca6951/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f67656e657369732d7068702f67656e657369732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/genesis-php/genesis/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/ac00b6f2a6e455602669969be25fbea5490d10c6c07a46ed5ecf5df7cde1b044/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f67656e657369732d7068702f67656e657369732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/genesis-php/genesis/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/f83d873688c2dcf8c8b6b8765b5eed686e0705d30c0d1d0957f1486c3a684982/68747470733a2f2f706f7365722e707567782e6f72672f67656e657369732d7068702f67656e657369732f762f737461626c65)](https://packagist.org/packages/genesis-php/genesis)[![License](https://camo.githubusercontent.com/e6ae85443e33b11795927dd7eb3b18ca43fe205327cf6c7103a38fd36c1b22ce/68747470733a2f2f706f7365722e707567782e6f72672f67656e657369732d7068702f67656e657369732f6c6963656e73652e706e67)](https://github.com/genesis-php/genesis/blob/master/LICENSE)

Genesis is lightweight, smart and easy to use CLI tool, for building (mainly) PHP applications. Usage is similar to Phing, but Genesis is much easier. For configuration is used an .neon file, which is very similar to YAML.

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

[](#installation)

Preferred installation is with [Composer](https://doc.nette.org/composer).

`composer require genesis-php/genesis`Compatibility
-------------

[](#compatibility)

This software is developed primarily for UNIX systems (Linux, OSX), but it works also on Windows.

Quick example
-------------

[](#quick-example)

Look at the [example](https://github.com/genesis-php/example) which gives you quick introduction.
Don't worry, it will take only minute.

Getting started
---------------

[](#getting-started)

Initialize build directory in your project: (path to your vendor directory may differ!)
`../vendor/bin/genesis self-init`

An 'build' directory will be created, with these files:

- **Build.php**
    - PHP class with run**Xyz**() methods
        - every public method starting with 'run' is an "Task"
        - in task you can run any code you want
        - there is public method 'setup', it runs slightly after Build class is constructed
    - [for example](https://github.com/genesis-php/genesis/blob/master/src/build-dist/Build.php)
- **config.neon**
    - config in [NEON](http://ne-on.org) format (very similar to YAML)
    - define parameters and services
    - you can include another configs directly in NEON file:
        `includes:`
        `  - include.neon`
    - if you don't want to merge any config variable, add ! (exclamation mark), eg:
        `myParam!: unoverrided value`
    - [for example](https://github.com/genesis-php/genesis/blob/master/src/build-dist/config.neon)
- **bootstrap.php** (optional)
    - to load Build class and other classes
    - [for example](https://github.com/genesis-php/genesis/blob/master/src/build-dist/bootstrap.php)
- **build** (optional)
    - shell script which is only shortcut into vendor directory with genesis

[Look at the skeleton, how can build directory looks like.](https://github.com/genesis-php/genesis/tree/master/src/build-dist)

CLI
---

[](#cli)

This tool is intended to use via CLI only.

Run it by (path to your vendor directory may differ!):
`../vendor/bin/genesis mytask`

OR via shortcut, which creates self-init (you may need to edit path to vendor dir in file 'build/build'):
`./build/build mytask`

You can use any working directory with parameter "--working-dir":

Supported options:

- `--working-dir /var/www/myproject` - use specified working directory
- `--colors 0` - disable colored output
- `--config myconfig.neon` - use specified config

All arguments are passed to build:

`../vendor/bin/genesis mytask foo`Arguments **mytask** and **foo** will be available in your build class (property $arguments)

Commands
--------

[](#commands)

Commands are intended to use them in Tasks. In namespace Genesis\\Commands are default commands and of course you can create and use your own commands.

### Common

[](#common)

- \[Exec\]() - executes shell command - returns an \[ExecResult\]() including return code and output - \[Git\]() - executes Git command &amp; can clone any repository - returns an \[ExecResult\]() including return code and output - \[Help\]() - prints list of available tasks to output - list is given in simple array - \[NodeJs\]() - can install packages (npm install) in any directory - \[PhpUnit\]() - can run PHPUnit tests in any directory &amp; provides some setup - \[NetteTester\]() - can run Nette Tester tests in any directory &amp; provides some setup ### Assets

[](#assets)

- \[Assets\\Gulp\]() - Running gulp, usually to build frontend - You can setup gulpfile location - \[Assets\\Less\]() - if you want only compile LESS files on build, you can use this command - using NodeJs lessc tool ### Filesystem

[](#filesystem)

- \[Filesystem\\Filesystem\]() - configurable object, intended to use as service - \[Filesystem\\Directory\]() - provides set of methods for manipulating with directories - creating, cleaning (purging), reading - \[Filesystem\\File\]() - provides set of methods for manipulating with files - creating, copying - \[Filesystem\\Symlink\]() - creating symlinks ### Test

[](#test)

This set of commands may be useful, if you want to check system some system requirements, usually at the beginning of the build. - \[Test\\NodeJs\]() - tests NodeJs version - \[Test\\Php\]() - tests PHP ini settings - tests if desired extension present - \[Test\\NodeJs\]() - tests if desired programs is installed (on UNIX) Integration
-----------

[](#integration)

An bootstrap.php in build directory can return instance of `Genesis\Config\Container`which will be merged into Container created from config.neon

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

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

Recently: every ~25 days

Total

36

Last Release

3524d ago

Major Versions

v1.4.1 → v2.0.02016-05-12

### Community

Maintainers

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

---

Top Contributors

[![adambisek](https://avatars.githubusercontent.com/u/1413812?v=4)](https://github.com/adambisek "adambisek (61 commits)")[![klapuch](https://avatars.githubusercontent.com/u/17772194?v=4)](https://github.com/klapuch "klapuch (1 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[nette/di

💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP features.

93041.5M1.6k](/packages/nette-di)[sproutcms/cms

Enterprise content management and framework

242.5k4](/packages/sproutcms-cms)[brandembassy/slim-nette-extension

19201.2k](/packages/brandembassy-slim-nette-extension)

PHPackages © 2026

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