/dev-cli

Primary LanguagePHP

██████  ███████ ██    ██      ██████ ██      ██
██   ██ ██      ██    ██     ██      ██      ██
██   ██ █████   ██    ██     ██      ██      ██
██   ██ ██       ██  ██      ██      ██      ██
██████  ███████   ████        ██████ ███████ ██

A configurable development environment CLI.

Installation

Head on over to releases page and snage a built copy of dev-cli. You'll need to make it executable chmod +x dev-cli as well.

On your first run you'll want to create the configuration directory with the default config.

./dev-cli install

Usage

dev-cli list

Configurations

Configuration Directory

$HOME/.config/dev-cli

Example Configuration

Environment configurations can live in a single or multiple files in within the configuration directory.

// $HOME/.config/dev-cli/default.php

<?php

$this->env('default', function () {
    $this->action('start', function () {
        $this->description('Start the default dev env');
        $this->task('Valet', 'valet start');
        $this->task('Open DBngin', 'open /Applications/DBngin.app');
    });


    $this->action('stop', function () {
        $this->description('Stop the default dev env');
        $this->task('Valet', 'valet stop');
        $this->task('Open DBngin', 'open /Applications/DBngin.app');
    });
});
// $HOME/.config/dev-cli/example.php

<?php

$this->env('example', function () {
    $this->action('start', function () {
        $this->description('Start the default dev env');
        $this->task('Valet', 'valet start');
        $this->task('Open DBngin', 'open /Applications/DBngin.app');
    });


    $this->action('stop', function () {
        $this->description('Stop the default dev env');
        $this->task('Valet', 'valet stop');
        $this->task('Open DBngin', 'open /Applications/DBngin.app');
    });
});

NOTE: the default env will hoist all actions to top level commands. e.g. dev-cli start vs dev-cli example:start.

  USAGE: dev <command> [options] [arguments]

  completion         Dump the shell completion script
  install            install dev-cli
  self-update        Allows to self-update a build application
  start              Start the default dev env
  stop               Stop the default dev env

  example:start      Start the default dev env
  example:stop       Stop the default dev env

Development

Build

./dev-cli app:build

or

./dev-cli app:build --build-version="v1.0.0"