install

install is the only module installer and remover. It resolves a release compatible with the current lil.core generation, installs hard dependencies first, validates downloaded PHP and writes the extension file atomically. Version discovery and replacement of an existing module belong to upgrade.

SystemVersion 1.4.8Stable
lil-terminal

Overview

Use install for deterministic module placement: choose Base or Minimum, pin an exact compatible release, inspect dependencies, select another extension file or repository deliberately, and leave version upgrades to upgrade.

Installation and upgrading are different operations

Use install to add or remove modules and to choose Base, Minimum, an exact release or another repository. Once a module is installed, version replacement and dependency repair belong to upgrade.

Syntax

lil-terminal
install [mod ...] [repo] [options]

Reference

install

run setup.lil (when present)

install <mod>

install a package from the lil-repository

install <mod ...>

install several packages (space-separated)

install <mod> <repo>

install a package from another repository

-v <ver>

select an exact version compatible with this core generation

-m

select the Minimum package (when published for this version)

-i

show package and dependency information

-l

list installed modules, versions and packages

-f <file>

use another extension file for this operation

-ext <file> | -ext -

select another extension file | restore the default

-g @upgrade

upgrade or repair through the optional @upgrade module

-u

remove one or more extension modules

uninstall <mod ...>

alias for @install <mod ...> -u

install manual

In Minimum, basic single-module installation and removal remain available; inspection, switching extension files and extended options require Base.

Need a command that your terminal does not have yet? install hash downloads the compatible PHP module from the repository, checks its dependencies and adds it to the extension file. install -l shows what is already installed; it does not list every available module.

Base provides the full module; -m requests its published Minimum edition when one exists. Use -i to read requirements before installation and -v only when you genuinely need a specific compatible release. Installation is not an update: an already installed module belongs to upgrade.

uninstall hash and install hash -u remove a module, but cannot remove commands built into Core or a dependency required by another installed module. For several names, each result is reported separately. Only use repositories and extension files you trust: these packages contain executable PHP.

Packages

Base is the complete current functionality. Minimum is available only when the module publishes a functional minimum package. The package choice is stored in the installation marker and is preserved by upgrade.

Dependencies

Hard dependencies are read from compatibility metadata and installed recursively before the requested module. Cycles stop installation. A dependency cannot be removed while an installed module declares it. Optional feature links are shown as @module in server help and do not install anything silently.

Compatibility

The repository must publish .version.txt and .compat.json for every release. Both latest and exact -v requests are checked against LIL_CORE_MAJOR. A lil.core.v1 installation cannot load a release published only for a later generation.

Writing and validation

Downloaded files are size-limited. PHP source is normalized, compacted, parsed as a trait snippet, checked for the expected command method and checked for conflicts. The new extension is written through a temporary file and atomic rename. Numbered repository versions are immutable.

Responsibility boundary

install installs or removes. upgrade checks versions, replaces existing module blocks and repairs installed dependencies. install is called by upgrade only when a required dependency is completely absent.

Secondary commands

Documented secondary names resolve to their owning module: download (independent), patch → diff, coo → ses, read → echo and mariadb → mysql. They share the owner module release stream.

Automatic interactive installation

The current Base lil-core can invoke Installer through the @command prefix. This path is intentionally narrower than an explicit install: it resolves the command's canonical owner, uses only the default lil-repository, selects the current public Base release, suppresses the installation report and resumes the original interactive command. It does not select Minimum, development versions or custom repositories. Explicit install remains the interface for those choices.

Bulk module operations

install dns pwd del installs each named Base module in order. Commas and semicolons are accepted as name separators as well. uninstall dns pwd del removes each module independently and reports every result, so one failure does not hide the status of the remaining items. Options that describe a single module, repository or file stay in the ordinary single-module form.

Repository sources

The <repo> argument may point to another HTTPS repository or to a local directory with the same repository layout. Local sources are useful for controlled testing; the lil-repository remains the default.

Dependency reports

When a requested module installs or refreshes a hard dependency first, the dependency report and the requested-module report are separated by a blank line. Bulk install and uninstall likewise keep every module result as its own visual block.

Display markers and safe removal

Installer reports and the installed-module list now show ⌘ for Base and (minimum) for Minimum. Removing a module in Minimum checks dependencies and updates the extension file atomically.

Interactive sandbox preview

Run the prepared examples directly on the page. Their results are prebuilt and shown in the browser; no terminal command is executed on the server.

Install · 01

Install and manage

Install the current compatible version. Choose Base for the complete feature set or Minimum for the reduced package; use upgrade to update a module that is already installed.

Base and Minimum are two packages of the same current module release, not separate command versions.

Base package

Install the complete package with local command reference and every published mode.

install install
Minimum package

Install the reduced package. Local reference is omitted; help <cmd> -i opens the current server reference.

install install -m
Exact public version

Install exactly this published version.

install install -v 1.4.8
Remove module

Remove the extension block while leaving the core and unrelated modules intact.

install install -u

Examples

Examples are copyable command lines, not actions executed by this website. Review paths, permissions and destructive flags before running them on a real project.

Install · 01
install
Prepared training result — the Play button does not modify your installation.
run setup.lil (if present)
This example depends on the installed packages and repository state.
Install · -l
install -l
Prepared training result — the Play button does not modify your installation.
hash   v1.1.4
pwd    v1.1.5
dns    v1.2.4
This example depends on the installed packages and repository state.
Install · hash
install hash -i
Prepared training result — the Play button does not modify your installation.
@help hash -i — detailed command reference
Packages: base / minimum
This example depends on the installed packages and repository state.
Install · hash
install hash
Prepared training result — the Play button does not modify your installation.
Installed hash, v1.1.4
    repo.lil.dog > extensions.php
This example depends on the installed packages and repository state.
Install · hash
install hash -m
Prepared training result — the Play button does not modify your installation.
Installed hash, v1.1.4 (minimum)
    repo.lil.dog > extensions.php
This example depends on the installed packages and repository state.
Install · hash
install hash -m -i
Prepared training result — the Play button does not modify your installation.
@help hash -i — detailed command reference
Packages: base / minimum
This example depends on the installed packages and repository state.
Install · hash
install hash -v 1.1.4 -i
Prepared training result — the Play button does not modify your installation.
@help hash -i — detailed command reference
Version: 1.1.4
This example depends on the installed packages and repository state.
Install · pwd
install pwd dns
Prepared training result — the Play button does not modify your installation.
Installed pwd, v1.1.5

Installed dns, v1.2.4
This example depends on the installed packages and repository state.
Install · 09
install pwd,dns;hash
Prepared training result — the Play button does not modify your installation.
Installed pwd, v1.1.5

Installed dns, v1.2.4

Installed hash, v1.1.4
This example depends on the installed packages and repository state.
Install · code
install code
Prepared training result — the Play button does not modify your installation.
Installed code, v1.3.7
This example depends on the installed packages and repository state.
Install · ping
install ping https://mirror.example.test/lil -i
Prepared training result — the Play button does not modify your installation.
ping: no version compatible with lil.core.v1
This example depends on the installed packages and repository state.
Install · code
install code -i
Prepared training result — the Play button does not modify your installation.
@help code -i — detailed command reference
This example depends on the installed packages and repository state.
Install · read
install read
Prepared training result — the Play button does not modify your installation.
Already installed echo, v1.2.3
This example depends on the installed packages and repository state.

The secondary command name read resolves to the echo module.

Install · patch
install patch -i
Prepared training result — the Play button does not modify your installation.
@help diff -i — detailed command reference
This example depends on the installed packages and repository state.
Install · hash
install hash -u
Prepared training result — the Play button does not modify your installation.
Removed hash
    extensions.php
This example depends on the installed packages and repository state.

uninstall routes to install <module> -u; removal remains owned by the Installer rather than a second package manager.

Install · uninstall
uninstall pwd dns
Prepared training result — the Play button does not modify your installation.
Removed pwd

Removed dns
This example depends on the installed packages and repository state.

uninstall routes to install <module> -u; removal remains owned by the Installer rather than a second package manager.

Install · core
install core -u
Prepared training result — the Play button does not modify your installation.
core: built-in command cannot be uninstalled

uninstall routes to install <module> -u; removal remains owned by the Installer rather than a second package manager.

Install · php
install -ext sandbox/tmp/extensions.php
Prepared training result — the Play button does not modify your installation.
Ext  sandbox/tmp/extensions.php
This example depends on the installed packages and repository state.
Install · -ext
install -ext -
Prepared training result — the Play button does not modify your installation.
Ext  (default extension file)
This example depends on the installed packages and repository state.
Install · pwd
install pwd -f sandbox/tmp/extensions.php
Prepared training result — the Play button does not modify your installation.
Installed pwd, v1.1.5
    repo.lil.dog > sandbox/tmp/extensions.php
This example depends on the installed packages and repository state.
Install · hash
install hash -g
Prepared training result — the Play button does not modify your installation.
v1.1.4
This example depends on the installed packages and repository state.
Install · 22
install missing_module
Prepared training result — the Play button does not modify your installation.
missing_module: no version compatible with lil.core.v1
Install · -v
install -v
Prepared training result — the Play button does not modify your installation.
Invalid version
Install · pwd
install pwd -i -m
Prepared training result — the Play button does not modify your installation.
@help pwd -i — detailed command reference
Package: minimum
This example depends on the installed packages and repository state.
Install · dns
install dns -v 1.2.4 -i
Prepared training result — the Play button does not modify your installation.
@help dns -i — detailed command reference
Version: 1.2.4
This example depends on the installed packages and repository state.
Install · dns
install dns -u
Prepared training result — the Play button does not modify your installation.
Removed dns
    extensions.php
This example depends on the installed packages and repository state.

uninstall routes to install <module> -u; removal remains owned by the Installer rather than a second package manager.

Install · hash
install hash -f sandbox/tmp/extensions.php
Prepared training result — the Play button does not modify your installation.
Installed hash, v1.1.4
    repo.lil.dog > sandbox/tmp/extensions.php
This example depends on the installed packages and repository state.

Related documentation

Current public release

v1.4.82026-10-31

Safe module marker detection

Anchored install markers exclude PHP code and prevent phantom download versions; installed versions show the update indicator only when the repository contains a newer release.