Browse the documentation

AEL 1.0.0

Listing packages

In AEL, the Agent Engineering Language, ael pack list lists the packages of a scope, and tells apart what is declared, what is installed and what your code actually uses.

Usage

ael pack list
ael pack list --scope src/api
ael pack list --json
OptionMeaning
--scope <folder>List the packages of that folder's manifest. Without it, the manifest that covers the folder you are in.
--jsonThe list in machine-readable form.

What it shows

For every package in the scope, direct or not, the list says which of these hold:

StateMeaning
DeclaredNamed in the scope's pack.ael.
LockedRecorded in pack.lock, with its exact version.
InstalledPresent in .package/ and matching the lock file.
UsedSelected by at least one file with refer … select ….
KeptNot used directly, but needed by another package.

For each package, it also gives:

  • the scope the package comes from, when a folder inherits it from a manifest further up;
  • its exact version and its source: the official registry, an https address or a local file;
  • why it is there: declared by you, or brought in by another package.

A package that is installed but never used is listed as such. ael refmap shows the same finding in the context of your code.

What it never does

ael pack list changes nothing, uses no network and runs no package code. It reads the manifest, the lock file and the installed packages as they are.

If the manifest, the lock file and the installed packages disagree, the list says where. ael pack verify checks the installed files in depth, and ael pack install --locked brings them back in line with the lock file.