Browse the documentation

AEL 1.0.0

Installing declared packages

In AEL, the Agent Engineering Language, ael pack install sets up the packages a project already declares, exactly as pack.ael and pack.lock say, changing no version. It is what you run on a new machine, or at the start of an automated build.

To add a package the project does not already use, use ael pack add.

Usage

ael pack install
ael pack install --locked
ael pack install --locked --offline
ael pack install --scope src/api
OptionMeaning
--lockedRefuse to change pack.lock. If it no longer matches pack.ael, stop and change nothing.
--offlineUse no network: install only from verified copies already on this machine.
--scope <folder>Install for that folder's manifest. Without it, the manifest that covers the folder you are in.
--jsonA machine-readable report.

What it does

  • It reads the scope's pack.ael and pack.lock, and installs every package the lock file names, direct or not, into .package/ beside them.
  • It never moves a version that pack.lock records.
  • It never builds a package from source, runs an install script or runs any package code.
  • It installs into this scope only, never into a parent or sibling folder.

Your lock file pins the exact versions you built with, so builds repeat, even offline, and nothing downloads when an app starts.

Locked installs

--locked is the mode for automated builds and new machines. With it, ael pack install never writes pack.lock: if the lock file is missing, or no longer matches its manifest, the command stops with an error that says so, and nothing changes.

Keep pack.lock with your source files and leave .package/ out: ael pack install --locked recreates it from the lock file alone.

Offline installs

With --offline, nothing is fetched. Packages come only from verified copies already on your machine, such as the shared package cache. If a package file is missing, the command names each missing file and installs nothing.

Checks and safety

  • Every package file is verified before it is used: its signature for official packages, its fingerprint against the lock file, its contents and how it was built.
  • The whole install is atomic: the scope is either as it was or fully installed, never half of each. An interrupted install is finished or undone by the next package command, or by ael pack repair.
  • Access tokens for your private host stay outside your project files.