PHPackages                             chriha/project-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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. chriha/project-cli

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

chriha/project-cli
==================

v2.6.0(5y ago)812[2 issues](https://github.com/chriha/project-cli/issues)MITPHPPHP ^7.2CI failing

Since Jan 7Pushed 3y ago2 watchersCompare

[ Source](https://github.com/chriha/project-cli)[ Packagist](https://packagist.org/packages/chriha/project-cli)[ RSS](/packages/chriha-project-cli/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (12)Versions (19)Used By (0)

Project CLI
===========

[](#project-cli)

[![Release build](https://github.com/chriha/project-cli/workflows/Release%20Build/badge.svg)](https://github.com/chriha/project-cli/workflows/Release%20Build/badge.svg)

**ProjectCLI** is a command line tool that translates complex tasks into simple, single commands. It also helps keeping a standard project structure across all projects. Here are some benefits of using ProjectCLI:

- Initialize, setup and start whole environments (incl. web server, database, caching, mail server, etc.) in seconds
- Set up even complex projects with a single command
- Use (force) the same directory structure in **every** project
- Reduce amount of necessary commands for each developer
- The same environment, tools and versions for every developer
- Easier and colored log-tailing
- Write your own commands and plugins to extend ProjectCLI
- Simple `/etc/hosts` and SSH config management

For the plugin registry, more info, the documentation and some examples, check out [cli.lazu.io](https://cli.lazu.io).

TOC
---

[](#toc)

- [Getting Started](#getting-started)
    - [Dependencies](#prerequisites)
    - [Install](#install)
    - [Update](#update)
- [Usage](#usage)
    - [Create a new project](#create-a-new-project)
    - [Start and stop environment and its services](#start-and-stop-environment-and-its-services)
    - [Run any service specific command](#run-any-service-specific-command)
    - [Show service status and resource statistics](#show-service-status-and-resource-statistics)
    - [Logging](#logging)
    - [Hosts File](#hosts-file)
    - [Xdebug](#xdebug)
    - [Docker commands](#docker-commands)
- [Uninstall](#uninstall)

Getting Started
---------------

[](#getting-started)

### Prerequisites

[](#prerequisites)

- PHP CLI 7.2 or newer (incl. extensions: zlib, json, intl, xml, curl)

#### Install dependencies via Homebrew

[](#install-dependencies-via-homebrew)

```
$ brew install php@7.2
```

#### Install dependencies on Ubuntu

[](#install-dependencies-on-ubuntu)

Make sure the available version meets the requirements:

```
$ apt show php
```

If not, add the following repository:

```
$ add-apt-repository -y ppa:ondrej/php && apt-get update
```

Install the PHP CLI and extensions:

```
$ apt install php-cli php-xml php-curl php-zip php-intl php-json
```

### Install ProjectCLI

[](#install-projectcli)

After you've installed all [dependencies](#prerequisites), get the latest **ProjectCLI** release [here](https://github.com/chriha/project-cli/releases/latest/download/project) and move it to `/usr/local/bin/project` or `/usr/bin/project`, depending on your system. The `project` command will be available after you restart your terminal session.

### Update

[](#update)

To manually update **ProjectCLI**, just use the `project self-update` command.

Usage
-----

[](#usage)

> **It's mandatory, that the project has the according directory structure and files in order for ProjectCLI to work properly.**

### Project Structure

[](#project-structure)

```
- commands
  | Contains project specific commands, created via 'project make:command'
- conf
  | Add configuration files for components (like nginx, PHP, crontab, supervisor, etc)
- scripts
  | Can contain scripts for deployment, HTTP requests or other complex tasks
- src
  | Contains the application src
- temp
  | Directory for temporary files, such as docker-compose service mounts

```

### Create a new project

[](#create-a-new-project)

```
project create NAME [--type=php|node|python] [--repository=URL_TO_YOUR_REPOSITORY]
```

### Clone and automatically install existing projects

[](#clone-and-automatically-install-existing-projects)

To create an automated setup for an existing project, you need to add a `setup` command via `project make:command SetupCommand`. In the `handle()` method, you specify the commands to set up the project (eg. copy env files, run migrations, seed test data, compile static files, etc).

```
project clone REPOSITORY_URL [DIRECTORY]
```

The `clone` command will clone the repository and ask, if the project should be set up via the existing `setup` command.

### Start and stop environment and its services

[](#start-and-stop-environment-and-its-services)

```
project [up|down|restart]
```

### Run any service specific command

[](#run-any-service-specific-command)

ProjectCLI will run all commands inside the according Docker service.

```
# for the web service
project [artisan|composer|...]
# for node / npm / npx
project [node|npm|npx install|run|...]
```

### Show service status and resource statistics

[](#show-service-status-and-resource-statistics)

```
project help status
```

### Logging

[](#logging)

Find all your log files and see what's happening with your application. It'll also warn you, if your files get too big.

```
project help logs:tail
```

### Xdebug

[](#xdebug)

Enable and disable Xdebug with a single command.

```
project help php:xdebug
```

### Hosts File

[](#hosts-file)

List, enable, disable, add, remove and check hosts for existence

```
project help hosts
```

Whenever you change the hosts file (eg. enable, disable, add, rm), you have to run the command with sudo / as root.

> **ProjectCLI will create backups, but only keeps the last two versions.**

### Docker commands

[](#docker-commands)

Run Docker Compose commands with your `docker-compose.yml`

```
project help docker:compose
```

Using bash inside a container / service

```
project help shell
```

Uninstall
---------

[](#uninstall)

```
rm -rf $HOME/.project $(which project)
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 97.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 ~19 days

Recently: every ~40 days

Total

16

Last Release

1978d ago

### Community

Maintainers

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

---

Top Contributors

[![chriha](https://avatars.githubusercontent.com/u/53882?v=4)](https://github.com/chriha "chriha (239 commits)")[![semantic-release-bot](https://avatars.githubusercontent.com/u/32174276?v=4)](https://github.com/semantic-release-bot "semantic-release-bot (6 commits)")

---

Tags

dockerenvironmentproject

### Embed Badge

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

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

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[laravel/vapor-cli

The Laravel Vapor CLI

31310.7M8](/packages/laravel-vapor-cli)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)

PHPackages © 2026

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