📦🚀 Fast, zero config application bundler with PHARs.
Alternatives To Box
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Bat40,1611355 days ago37September 10, 2022181apache-2.0Rust
A cat(1) clone with wings.
Lazygit33,490211 hours ago209July 18, 2022446mitGo
simple terminal UI for git commands
Cli31,7602711 hours ago152September 21, 2022429mitGo
GitHub’s official command line tool
13 hours ago1May 29, 201919mitJavaScript
An interactive git visualization and tutorial. Aspiring students of git can use this app to educate and challenge themselves towards mastery of git!
Hub22,3283,743217 days ago23December 25, 2014288mitGo
A command-line tool that makes git easier to use with GitHub.
Vim Fugitive17,293
a day ago30Vim Script
fugitive.vim: A Git wrapper so awesome, it should be illegal
Cz Cli14,75913,21913,6252 months ago78May 07, 2021173mitJavaScript
The commitizen command line utility. #BlackLivesMatter
Dolt14,43829 hours ago214May 19, 2022249apache-2.0Go
Dolt – Git for Data
Git History12,855
7 months ago7March 19, 201973mitJavaScript
Quickly browse the history of a file from any git repository
10 hours ago29March 29, 202226mitRust
Command-line Git information tool
Alternatives To Box
Select To Compare

Alternative Project Comparisons

Package version Scrutinizer Code Quality Slack License

Upgrading from Box2? Checkout the upgrade guide!


The Box application simplifies the PHAR building process. Out of the box (no pun intended), the application can do many great things:

  • Fast application bundling
  • PHAR isolation
  • Zero configuration by default
  • Requirements checker
  • Friendly error logging experience
  • Retrieve information about the PHAR extension or a PHAR file and its contents (box info or box diff)
  • Verify the signature of an existing PHAR (box verify)
  • Use Git tags and short commit hashes for versioning
  • Get recommendations and warnings about regarding your configuration (box validate)
  • Docker support (box docker)

For the full documentation see

Table of Contents

  1. Installation
    1. PHAR
    2. Phive
    3. Composer
    4. Homebrew
  2. Usage
  3. Configuration
    1. Base path (base-path)
    2. Main (main)
    3. Output (output)
    4. Permissions (chmod)
    5. Check requirements (check-requirements)
    6. Including files
      1. Force auto-discovery (force-autodiscovery)
      2. Files (files and files-bin)
      3. Directories (directories and directories-bin)
      4. Finder (finder and finder-bin)
      5. Blacklist (blacklist)
      6. Excluding the Composer files (exclude-composer-files)
      7. Excluding dev files (exclude-dev-files)
      8. Map (map)
    7. Stub
      1. Stub (stub)
      2. Alias (alias)
      3. Shebang (shebang)
      4. Banner (banner)
      5. Banner file (banner-file)
    8. Dumping the Composer autoloader (dump-autoload)
    9. Compactors (compactors)
      1. Annotations (annotations)
      2. PHP-Scoper (php-scoper)
    10. Compression algorithm (compression)
    11. Security
      1. Signing algorithm (algorithm)
      2. The private key (key)
      3. The private key password (key-pass)
    12. Metadata (metadata)
    13. Replaceable placeholders
      1. Replacements (replacements)
      2. Replacement sigil (replacement-sigil)
      3. Datetime placeholder (datetime)
      4. Datetime placeholder format (datetime-format)
      5. Pretty git commit placeholder (git)
      6. Git commit placeholder (git-commit)
      7. Short git commit placeholder (git-commit-short)
      8. Git tag placeholder (git-tag)
      9. Git version placeholder (git-version)
  4. Requirements checker
    1. Configuration
      1. PHP version requirements
      2. Extension configuration requirements
      3. Polyfills
    2. Integration with a custom stub
  5. Optimize your PHAR
    1. Review your files
    2. Compress your PHAR
    3. Optimize your code
  6. PHAR code isolation
    1. Why/Explanation
    2. Isolating the PHAR
    3. Debugging the scoping
  7. Docker support
  8. Symfony support
  9. FAQ
  10. Contributing
  11. Upgrade guide
  12. Backward Compatibility Promise (BCP)
  13. Credits


Creating a PHAR should be as simple as running box compile (no config required!). It will however assume some defaults that you might want to change. Box will by default be looking in order for the files box.json and box.json.dist in the current working directory. A basic configuration could be for example changing the PHAR permissions:

    "chmod": "0700"

You can then find more advanced configuration settings in [the configuration documentation][configuration]. For more information on which command or options is available, you can run:

box help


The project provides a Makefile in which the most common commands have been registered such as fixing the coding style or running the test.


Backward Compatibility Promise (BCP)

The policy is for the major part following the same as Symfony's one. Note that the code marked as @private or @internal are excluded from the BCP.

The text displayed by the commands (e.g. compile or info) or the content of the error/exception messages are also not subject to the BCP.


Project originally created by: Kevin Herrera (@kherge) which has now been moved under the Humbug umbrella.

Popular Command Line Projects
Popular Git Projects
Popular Command Line Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Command Line
Command Line Tool