PHPackages                             ceus-media/hymn - 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. [CLI &amp; Console](/categories/cli)
4. /
5. ceus-media/hymn

ActiveLibrary[CLI &amp; Console](/categories/cli)

ceus-media/hymn
===============

Console tool for installing Hydrogen applications.

1.1.0(1y ago)0103GPL-3.0-or-laterPHPPHP ^8.3CI failing

Since Jun 10Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/CeusMedia/Hymn)[ Packagist](https://packagist.org/packages/ceus-media/hymn)[ RSS](/packages/ceus-media-hymn/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (6)Versions (62)Used By (0)

```
 _
| |_ _ _ _____ ___
|   | | |     |   |
|_|_|_  |_|_|_|_|_|
    |___|

```

hymn - Hydrogen Management

Hymn
====

[](#hymn)

[![Branch](https://camo.githubusercontent.com/b78a0c74d5d86f4ce654d6f5f4e523e8b16b5a1c4bbf800568cdc9f39a9aecd8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4272616e63682d312e302e782d626c75653f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/b78a0c74d5d86f4ce654d6f5f4e523e8b16b5a1c4bbf800568cdc9f39a9aecd8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4272616e63682d312e302e782d626c75653f7374796c653d666c61742d737175617265)[![Release](https://camo.githubusercontent.com/5599a92a4ee5031dec83c718bbbf5651f9acc3857ddb6973438b0f5af70d57e6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656c656173652d312e302e322d626c75653f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/5599a92a4ee5031dec83c718bbbf5651f9acc3857ddb6973438b0f5af70d57e6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656c656173652d312e302e322d626c75653f7374796c653d666c61742d737175617265)[![PHP version](https://camo.githubusercontent.com/7ebb0279547d526a54d318d9ab47d214fc6a36936050d77b00e120c3ce9db3f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e312d626c75653f7374796c653d666c61742d73717561726526636f6c6f723d373737424234)](https://camo.githubusercontent.com/7ebb0279547d526a54d318d9ab47d214fc6a36936050d77b00e120c3ce9db3f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e312d626c75653f7374796c653d666c61742d73717561726526636f6c6f723d373737424234)[![PHPStan level](https://camo.githubusercontent.com/3ceba0ef21193ebc8785bb09a706cf28037f88b84d3806bea233d8398ecb5967/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e5f6c6576656c2d312d6461726b677265656e3f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/3ceba0ef21193ebc8785bb09a706cf28037f88b84d3806bea233d8398ecb5967/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e5f6c6576656c2d312d6461726b677265656e3f7374796c653d666c61742d737175617265)

Console tool for installing Hydrogen applications.

Installation
------------

[](#installation)

### PHAR download

[](#phar-download)

```
sudo curl -LsS https://github.com/CeusMedia/Hymn/raw/master/hymn.phar -o /usr/local/bin/hymn
sudo chmod a+x /usr/local/bin/hymn

```

### Checkout

[](#checkout)

```
git checkout https://github.com/CeusMedia/Hymn.git
sudo mv Hymn/hymn.phar /usr/local/bin/hymn
rm -Rf Hymn

```

Afterwards, the `hymn` command is available systemwide. Check the installation by displaying the current version from any folder you like.

```
> hymn version
0.9.9.0 (en)

```

Upgrade
-------

[](#upgrade)

Run `hymn self-update` to install the latest version. You can install any tagged version by providing the desired version, like `hymn self-update 0.9.9.0`.

Usage
=====

[](#usage)

Keywords
--------

[](#keywords)

```
- Project = Blueprint for an App installation configured by Hymn file
- App     = Set if installed modules, built or installed by project configuration
- Source  = Shelf within the library of available modules

```

Commands
--------

[](#commands)

### A. Configuration Management

[](#a-configuration-management)

For creating and extending a project Hymn config file, you execute these commands:

#### 1. Project Creation and Source Management

[](#1-project-creation-and-source-management)

```
- init                                        Create initial Hymn file for this project
- source-list                                 List library sources registered in Hymn file
- source-add                                  Add module source of modules to Hymn file
- source-remove KEY                           Remove module source from Hymn file
- source-enable [-dfqv] SOURCE                Enable source in Hymn file
- source-disable [-dfqv] SOURCE               Disable source in Hymn file

```

#### 2. Project Setup and Information

[](#2-project-setup-and-information)

```
- config-get KEY                              Get setting from Hymn file
- config-set KEY [VALUE]                      Enter and save setting in Hymn file
- database-config                             Enter and save database connection details
- database-test                               Test database connection

```

#### 3. Project Module Management

[](#3-project-module-management)

```
- config-module-add                           Add a module to Hymn file
- config-module-remove                        Remove a module from Hymn file
- config-module-get MODULE.KEY                Get module setting from Hymn file
- config-module-set MODULE.KEY [VALUE]        Enter and save module setting in Hymn file

```

#### 4. Project Module Information

[](#4-project-module-information)

```
- module-info [-v] MODULE [SOURCE]            Show information about module (in library source)
- modules-available [SOURCE]                  List modules available (in library source)
- modules-installed [SOURCE]                  List modules installed within application (from library source)
- modules-required                            List modules required for application
- modules-search NAME [SOURCE]                List modules found by name part (within library source)
- modules-updatable                           List modules with available updates
- modules-unneeded                            List modules not needed by other modules

```

### B. Application Management

[](#b-application-management)

Having a valid Hymn config file, you execute these commands:

#### 1. App Base Configuration Management

[](#1-app-base-configuration-management)

```
- app-base-config-disable [-dqv] KEY          Disable an enabled setting in config.ini
- app-base-config-enable [-dqv] KEY           Enable a disabled setting in config.ini
- app-base-config-get KEY                     Read setting from config.ini
- app-base-config-set [-dqv] KEY VALUE        Save setting in config.ini

```

#### 2. App Instance &amp; Module Management

[](#2-app-instance--module-management)

```
- app-info [-v]                               Show app setup
- app-status [-v]                             Show status of app and its modules
- app-graph                                   Render module relations graph (see config/modules.graph.png)
- app-sources                                 List installed library sources
- app-move DESTINATION [URL]                  Move app to another folder (and adjust app base URL)

```

#### 3. App Module Management

[](#3-app-module-management)

```
- app-install [-dqv] [MODULE+]                Install specific available module(s) (or all)
- app-uninstall [-dfqv] [MODULE+]             Uninstall specific installed module(s) (or all)
- app-update [-dqv] [MODULE+]                 Updated specific installed modules(s) (or all)
- app-module-config-get MODULE.KEY            Get config value of installed module by config key
- app-module-config-set MODULE.KEY VALUE      Set config value of installed module by config key
- app-module-config-dump [--file=.hymn]       Export current module settings into Hymn file
- app-module-reconfigure [-dqv] MODULE        Configure installed module

```

#### 4. App Database Management

[](#4-app-database-management)

```
- database-clear [-dfqv]                      Drop database tables
- database-dump [PATH]                        Export database to SQL file
- database-load [PATH|FILE]                   Import (specific or latest) SQL file
- database-keep [KEEP_RULES]                  Remove database dumps not meeting the keep rules

Keep Rules:
--daily=[DAYS]             Number of daily dumps to keep
--monthly=[MONTHS]         Number of monthly dumps to keep
--yearly=[YEARS]           Number of yearly dumps to keep

```

#### 5. App Stamp Management

[](#5-app-stamp-management)

---

```
- app-stamp-dump [SOURCE]                              Export current module settings into a stamp file
- app-stamp-diff [PATH|FILE] [TYPE] [SOURCE] [MODULE]  Show changes between installed modules and stamp
- app-stamp-load [PATH|FILE] [TYPE] [SOURCE] [MODULE]  Restore module settings of stamp (not implemented yet)
- app-stamp-prospect TYPE [SOURCE]                     Show changes when updating outdated modules
- app-stamp-info [PATH|FILE] [TYPE*] [SOURCE] [MODULE] Display details of stamp

```

### C. Additional Functions

[](#c-additional-functions)

#### 1. Self Management

[](#1-self-management)

```
- help                           Show this help screen
- version                        Show current hymn version
- self-update [-dv] [VERSION]    Replace hymn binary by master or given version
- test-syntax [-rqv] [PATH]      Test syntax of Hymn PHP classes

```

#### 2. Stamp Management

[](#2-stamp-management)

```
- stamp-diff [PATH|FILE] [TYPE] [SOURCE] [MODULE]  Show changes between available modules and stamp

```

Options
-------

[](#options)

```
-d | --dry                 Actions are simulated only
-f | --force               Continue actions on error or warnings
-q | --quiet               Avoid any output
-v | --verbose             Be verbose about taken steps
-r | --recursive           Perform file actions recursively (used by test-syntax only)
--file=[.hymn]             Alternative path of Hymn file
--prefix=[]      Set database table prefix in dump
--db=[yes,no,only]         Switch to enable changes in database (default: yes)

```

Commands of `make`
------------------

[](#commands-of-make)

```
create [MODE=(prod|dev)]   Create Phar file `hymn.phar` in PROD or DEV mode (default: PROD)
create-phar                Create Phar file `hymn.phar` in PROD mode (default)
create-phar-dev            Create Phar file `hymn.phar` in DEV mode
install                    Alias for install-link
install-copy               Install hymn.phar as copy in /usr/local/bin/hymn
install-link               Install hymn.phar as symlink in /usr/local/bin/hymn
test-syntax                Test syntax of local PHP class files (using hymn test-syntax)
test-units                 Run PhpUnit (if installed) to test source files
uninstall                  Remove global file or symlink /usr/local/bin/hymn
update                     Apply remote updates to local installation

```

### create / create-phar

[](#create--create-phar)

Creates Phar file `hymn.phar` in default LIVE mode.

The resulting file:

- contains reduced PHP files (e.G. comments are stipped out)
- is compressed
- will show bogus info on internal exceptions (use DEV mode for debugging)

### create-phar-dev

[](#create-phar-dev)

Creates Phar file `hymn.phar` in DEV mode.

The resulting file:

- contains original PHP files
- is not compressed
- is usable for debugging internal errors

### install

[](#install)

Will use `install-link` to symlink hymn.phar to global scope.

### install-copy

[](#install-copy)

Installs `hymn.phar` to global scope by creating a copy in `/usr/local/bin/hymn`.

Will:

- remove `/usr/local/bin/hymn`
- copy local `hymn.phar` to `/usr/local/bin/hymn`

### install-link

[](#install-link)

Installs `hymn.phar` to global scope by creating a symlink in `/usr/local/bin/hymn`.

Will:

- remove `/usr/local/bin/hymn`
- link local `hymn.phar` to `/usr/local/bin/hymn`

### test-syntax

[](#test-syntax)

Will test syntax of local PHP class files using `hymn test-syntax`.

### test-units

[](#test-units)

Will run PhpUnit (if installed) to test source files.

### uninstall

[](#uninstall)

Will remove global file or symlink `/usr/local/bin/hymn`.

### update

[](#update)

Applies remote updates to local installation.

Will:

- print out current version
- revert local changes to `hymn.phar`
- stash local changes
- fetch updates
- merge updates and local commits using `rebase`
- apply stashed local changes
- make create-phar

Appendix
--------

[](#appendix)

### Disclaimer

[](#disclaimer)

Logo rendered using [patorjk.com](http://patorjk.com/software/taag/#p=display&f=Rectangles&t=hymn)

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance73

Regular maintenance activity

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity92

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 97.7% 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 ~61 days

Recently: every ~96 days

Total

61

Last Release

12d ago

Major Versions

0.9.x-dev → 1.0.02024-05-14

PHP version history (7 changes)0.8.5PHP &gt;=5.3.0

0.9.4.4PHP ~5.3 || ~7

0.9.9.2PHP ^7

0.9.9.4PHP ^7.3|^8

0.9.10PHP ^7.4|^8

1.0.0PHP ^8.1

1.1.0PHP ^8.3

### Community

Maintainers

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

---

Top Contributors

[![kriss0r](https://avatars.githubusercontent.com/u/476914?v=4)](https://github.com/kriss0r "kriss0r (508 commits)")[![cwuerker-c24](https://avatars.githubusercontent.com/u/155151774?v=4)](https://github.com/cwuerker-c24 "cwuerker-c24 (11 commits)")[![codacy-badger](https://avatars.githubusercontent.com/u/23704769?v=4)](https://github.com/codacy-badger "codacy-badger (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ceus-media-hymn/health.svg)

```
[![Health](https://phpackages.com/badges/ceus-media-hymn/health.svg)](https://phpackages.com/packages/ceus-media-hymn)
```

###  Alternatives

[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24726.4M22](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

13045.3M6.2k](/packages/illuminate-console)[styleci/cli

The CLI tool for StyleCI

71464.1k9](/packages/styleci-cli)[winbox/args

Windows command-line formatter

20718.9k21](/packages/winbox-args)

PHPackages © 2026

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