Browse the documentation

Preview documentation for AEL Beta 0.0.1 — launching soon

Listing packages

In AEL, the Agent Engineering Language, ael pack list (command names may change before launch) will list the packages of a scope, and tell apart what is declared, what is installed and what your code actually uses.

Status

Planned for AEL Beta 0.0.1. AEL is not available yet.

Usage

Preview syntax — may change before launch
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 will say 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 will also give:

  • 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 will be listed as such. ael refmap will show the same finding in the context of your code.

What it never does

ael pack list will change nothing, use no network and run no package code. It will read 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 will say where. ael pack verify will check the installed files in depth, and ael pack install --locked will bring them back in line with the lock file.