PHPackages                             certificationy/certificationy-cli - 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. certificationy/certificationy-cli

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

certificationy/certificationy-cli
=================================

A CLI tool to train certifications

v2.1(4y ago)4354.5k71[2 PRs](https://github.com/certificationy/certificationy-cli/pulls)MITPHPPHP ^8.0CI failing

Since Jul 28Pushed 3y ago29 watchersCompare

[ Source](https://github.com/certificationy/certificationy-cli)[ Packagist](https://packagist.org/packages/certificationy/certificationy-cli)[ Docs](http://github.com/certificationy/certificationy-cli)[ RSS](/packages/certificationy-certificationy-cli/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (13)Used By (0)

 [![](https://avatars0.githubusercontent.com/u/8029934?v=3&s=200)](https://avatars0.githubusercontent.com/u/8029934?v=3&s=200)

Certificationy CLI
==================

[](#certificationy-cli)

> This is the CLI tool to train on certifications.

How it looks?
-------------

[](#how-it-looks)

[![Certificationy application](https://cloud.githubusercontent.com/assets/1247388/17698070/434e3944-63b9-11e6-80c6-91706dbbea50.png "Certificationy application")](https://cloud.githubusercontent.com/assets/1247388/17698070/434e3944-63b9-11e6-80c6-91706dbbea50.png)

Installation and update
-----------------------

[](#installation-and-update)

### Using Composer

[](#using-composer)

```
$ composer create-project certificationy/certificationy-cli
$ php certificationy.php

```

### With Docker and Docker compose

[](#with-docker-and-docker-compose)

#### Install the project prerequisites

[](#install-the-project-prerequisites)

The project has prerequisites:

- [Docker](https://www.docker.com) (1.12+)
- [Docker-composer](https://docs.docker.com/compose/install/) (1.10+)
- [GNU make](https://www.gnu.org/software/make/)

To install Docker, refer to the official documentation for your operating system: .

Once Docker installed, to check its smooth running, run `docker -v`, you should get something like suit:

```
$ docker -v
Docker version 1.12.4, build 1564f02

```

> You must use the minimum version 1.12 of Docker.

To install the docker-composer, please also refer to the official documentation: .

Once docker-composes installed (install it globally to be able and access from anywhere), to check its proper functioning, run `docker-compose -v`, you should get something like suit:

```
$ docker-compose -v
Docker-composer version 1.10.0, build 4bd6f1a

```

> You must use the docker-compose version 1.10 minimum.

A makefile allows you to manipulate the container simply and easily. You have to be able to run `make -v`, which you are ready to choose:

```
$ make -v
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
GPLv3 + license: GNU GPL version 3 or later
This is free software: you are allowed to modify and redistribute.
There is NO WARRANTY, to the extent of the will of the law.

```

> **Note**: If you are using Windows, we strongly recommend that you use the Linux console included in Windows 10 () or to use an emulator for Command to be able to use `make` which will greatly facilitate the work.

#### Using the Container

[](#using-the-container)

You should then be able to run `make` which will show you using the Makefile:

```
$ make
start:           Start the project
bash:            Go to the bash container of the application
stop:            Stop docker containers

```

Start the application with `make start`:

```
$make start
docker-compose build
Building app
Step 1/19 : FROM php:7.1-fpm-alpine
7.1-fpm-alpine: Pulling from library/php
... # pulling image
Successfully built 22ab66e58936
Successfully tagged certificationycli_app:latest
docker-compose up -d
Recreating certificationycli_app_1
docker exec -i -t 6929cb80f7a7df579910341c74208e05d6d5548900488c35b41c281da9fe940e /bin/bash
bash-4.3#

```

Once the procedure is complete you can already use the bash of the container.

Run Certificationy CLI;

```
$ php certificationy.php

```

To exit bash docker

```
$ exit

```

Stop the application with `make stop`:

```
$ make stop
docker-compose kill
Killing certificationycli_app_1 ... done

```

### Runing it through docker composer

[](#runing-it-through-docker-composer)

#### Start the container

[](#start-the-container)

Start it in daemon mode.

```
docker compose up -d
```

#### Run certificationy

[](#run-certificationy)

Execute this instruction or whatever certificationy you want.

```
docker exec -it certificationy-cli_app_1 /bin/bash -c "php certificationy.php start --training"
```

#### Stop the container

[](#stop-the-container)

```
docker compose down
```

More run options
----------------

[](#more-run-options)

### Select the number of questions

[](#select-the-number-of-questions)

```
$ php certificationy.php start --number=10

```

The default value is 20.

### List categories

[](#list-categories)

```
$ php certificationy.php start --list [-l]

```

Will list all the categories available.

### Only questions from certain categories

[](#only-questions-from-certain-categories)

```
$ php certificationy.php start "Automated tests" "Bundles"

```

Will only get the questions from the categories "Automated tests" and "Bundles".

Use the category list from [List categories](#list-categories).

### Hide the information that questions are/aren't multiple choice

[](#hide-the-information-that-questions-arearent-multiple-choice)

```
$ php certificationy.php start --hide-multiple-choice

```

As default, the information will be displayed.

[![Multiple choice](https://cloud.githubusercontent.com/assets/795661/3308225/721b5324-f679-11e3-8d9d-62ba32cd8e32.png "Multiple choice")](https://cloud.githubusercontent.com/assets/795661/3308225/721b5324-f679-11e3-8d9d-62ba32cd8e32.png)

### Training mode: the solution is displayed after each question

[](#training-mode-the-solution-is-displayed-after-each-question)

```
$ php certificationy.php start --training

```

### Set custom configuration file

[](#set-custom-configuration-file)

```
$ bin/certificationy start --config=../config.yml

```

Will set custom config file.

### And all combined

[](#and-all-combined)

```
$ php certificationy.php start --number=5 --hide-multiple-choice "Automated tests" "Bundles"

```

- 5 questions
- We will hide the information that questions are/aren't multiple choice
- Only get questions from category "Automated tests" and "Bundles"

> Note: if you pass `--list [-l]` then you will ONLY get the category list, regarding your other settings.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

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

Recently: every ~442 days

Total

12

Last Release

1564d ago

Major Versions

v1.6.1 → v2.0-alpha2017-06-22

PHP version history (5 changes)1.0.0PHP &gt;=5.3.3

v1.3.0PHP &gt;=5.4

v2.0-alphaPHP &gt;=7.0

v2.0PHP ^7.4|^8.0

v2.1PHP ^8.0

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/5cf1883d5145324e3c9d8d210c795c38e1accadabf7a19665840ca09a8d69a4e?d=identicon)[eko](/maintainers/eko)

---

Top Contributors

[![mickaelandrieu](https://avatars.githubusercontent.com/u/1247388?v=4)](https://github.com/mickaelandrieu "mickaelandrieu (44 commits)")[![20uf](https://avatars.githubusercontent.com/u/3873958?v=4)](https://github.com/20uf "20uf (12 commits)")[![lex111](https://avatars.githubusercontent.com/u/4408379?v=4)](https://github.com/lex111 "lex111 (3 commits)")[![TheRatG](https://avatars.githubusercontent.com/u/1580318?v=4)](https://github.com/TheRatG "TheRatG (2 commits)")[![corretge](https://avatars.githubusercontent.com/u/228097?v=4)](https://github.com/corretge "corretge (2 commits)")[![gpupo](https://avatars.githubusercontent.com/u/126154?v=4)](https://github.com/gpupo "gpupo (1 commits)")[![igormukhingmailcom](https://avatars.githubusercontent.com/u/6544038?v=4)](https://github.com/igormukhingmailcom "igormukhingmailcom (1 commits)")[![l-vo](https://avatars.githubusercontent.com/u/15314293?v=4)](https://github.com/l-vo "l-vo (1 commits)")[![mathewpeterson](https://avatars.githubusercontent.com/u/203190?v=4)](https://github.com/mathewpeterson "mathewpeterson (1 commits)")[![ahonymous](https://avatars.githubusercontent.com/u/4721334?v=4)](https://github.com/ahonymous "ahonymous (1 commits)")[![nursultanturdaliev](https://avatars.githubusercontent.com/u/1384060?v=4)](https://github.com/nursultanturdaliev "nursultanturdaliev (1 commits)")[![sfmok](https://avatars.githubusercontent.com/u/6314298?v=4)](https://github.com/sfmok "sfmok (1 commits)")[![danjesus](https://avatars.githubusercontent.com/u/393961?v=4)](https://github.com/danjesus "danjesus (1 commits)")[![tienvx](https://avatars.githubusercontent.com/u/3327643?v=4)](https://github.com/tienvx "tienvx (1 commits)")[![davidgorges](https://avatars.githubusercontent.com/u/3885619?v=4)](https://github.com/davidgorges "davidgorges (1 commits)")

---

Tags

clicli-applicationphpsymfonyclisymfonytestexamcertification

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/certificationy-certificationy-cli/health.svg)

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

###  Alternatives

[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[certificationy/certificationy

A library to create certification system

46930.7k1](/packages/certificationy-certificationy)[certificationy/symfony-pack

A series of questions to prepare for the certification Symfony2

33128.1k1](/packages/certificationy-symfony-pack)[zenstruck/foundry

A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine.

78611.9M97](/packages/zenstruck-foundry)[acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

32902.4k](/packages/acquia-orca)[zenstruck/console-test

Alternative, opinionated helper for testing Symfony console commands.

58635.0k20](/packages/zenstruck-console-test)

PHPackages © 2026

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