<commit_before># Phapp CLI

Provides standardized console commands for PHP applications.

## Installation

Installation requires composer. As there are some dependency conflicts with the
latest drush release it is recommended to install the tool via consolidation/cgr.
To do so, just execute:

    # Download latest stable release.
    php -r "
      ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0)');
      readfile(json_decode(file_get_contents('https://api.github.com/repos/drunomics/phapp-cli/releases/latest'))->assets[0]->browser_download_url);
    " > phapp
    chmod +x phapp
    
    # Optional: Ensure ~/bin exists and configure it to be available in $PATH.
    [ -d ~/bin ] || mkdir ~/bin
    echo $PATH | grep -q ~/bin || (echo "export PATH=~/bin:\$PATH" >> ~/.bashrc && export PATH=~/bin:$PATH)
    
    # Make phapp executable from everywhere by moving to a destination available in $PATH.
    # If you skipped the optional step above, be sure to move it to a suiting destination.
    mv phapp ~/bin/phapp
 
## Updating

Run
      
     phapp self:update
     
## Usage

Run `phapp list` to show a list of support commands. A few important commands
are highlighted below:


### build

  - Build the project as configured in phapp.yml:
  
        phapp build
        
    If no build command configured, phapp will just run a composer install.

  - Build a certain branch and commit the build result in `build/{{ branch }}`:
  
        phapp build {{ branch }}

## Phapp development

### Build a new phar

The phar is built using box, for details see
https://github.com/box-project/box2. To built the phar just run:

     composer install --dev
     composer build

### Create a new release

* Tag a new version and push it.
* Build a new phar (see above).
* Upload the new phar at the github release page. Keep the filename as is.
<commit_msg>Improve release dev docs.<commit_after># Phapp CLI

Provides standardized console commands for PHP applications.

## Installation

Installation requires composer. As there are some dependency conflicts with the
latest drush release it is recommended to install the tool via consolidation/cgr.
To do so, just execute:

    # Download latest stable release.
    php -r "
      ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0)');
      readfile(json_decode(file_get_contents('https://api.github.com/repos/drunomics/phapp-cli/releases/latest'))->assets[0]->browser_download_url);
    " > phapp
    chmod +x phapp
    
    # Optional: Ensure ~/bin exists and configure it to be available in $PATH.
    [ -d ~/bin ] || mkdir ~/bin
    echo $PATH | grep -q ~/bin || (echo "export PATH=~/bin:\$PATH" >> ~/.bashrc && export PATH=~/bin:$PATH)
    
    # Make phapp executable from everywhere by moving to a destination available in $PATH.
    # If you skipped the optional step above, be sure to move it to a suiting destination.
    mv phapp ~/bin/phapp
 
## Updating

Run
      
     phapp self:update
     
## Usage

Run `phapp list` to show a list of support commands. A few important commands
are highlighted below:


### build

  - Build the project as configured in phapp.yml:
  
        phapp build
        
    If no build command configured, phapp will just run a composer install.

  - Build a certain branch and commit the build result in `build/{{ branch }}`:
  
        phapp build {{ branch }}

## Phapp development

### Build a new phar

The phar is built using box, for details see
https://github.com/box-project/box2. To built the phar just run:

     composer install --dev
     composer build

### Create a new release

* Tag a new version and push it.
* Build a new phar (see above).
* Upload the new phar at the github release page. Keep the filename as is.
* Note that the packagist API is not updated immediately. Thus it takes a few
  minutes until the new release is picked up by the self:update command.

{'fraction_non_alphanumeric': 0.08908857509627728, 'fraction_numerical': 0.0030808729139922978, 'mean_word_length': 3.058333333333333, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1807086', 'n_tokens_mistral': 1171, 'n_tokens_neox': 1114, 'n_words': 489}