Managing Extensions via CLI
The Aethrix CLI provides a full workflow for discovering, downloading, installing, and publishing extension packages — both from local files and from remote repositories.
Repository Configuration
The extension repository URL is read from Settings → Extension Repository in Aethrix Studio, or overridden per-command with --repo.
# Use the configured repository
aeth package list
# Override with a specific repository
aeth package list --repo https://extensions.example.com
Discovering Packages
List All Packages
aeth package list
aeth package list --page 2 --page-size 20
aeth package list --pre-release
Search by Keyword
aeth package search "payment"
aeth package search "kafka" --repo https://extensions.example.com
Search matches package ID, name, description, and tags.
Inspecting Packages
aeth package view Vendor.PaymentGateway
aeth package view Vendor.PaymentGateway --version 1.0.0
Shows full metadata:
- Name, version, pre-release flag
- Summary and description
- Developer and type
- Publish date and download count
- Package size
- Tags and available versions
Downloading Packages
Download a .pkg file to disk without installing:
aeth package download Vendor.PaymentGateway
aeth package download Vendor.PaymentGateway --version 1.2.0
aeth package download Vendor.PaymentGateway --output ./local-packages
If --output is a directory, the file is saved as {id}-{version}.pkg inside it. If omitted, the current directory is used.
Installing Extensions
From a Local File
aeth install ./MyExtension.1.0.0.pkg
aeth install ./MyExtension.1.0.0.pkg --force
From a Repository
aeth install Vendor.PaymentGateway # Latest version
aeth install Vendor.PaymentGateway --version 1.0.0
aeth install Vendor.PaymentGateway --repo ./local-repo
Uninstalling
aeth uninstall Vendor.PaymentGateway
aeth uninstall Vendor.PaymentGateway --force # Skip confirmation
Listing Installed Extensions
aeth list-extensions
Alias: aeth list. Displays each installed extension's ID, name, version, developer, type, source, repository (if applicable), summary description, services list, pre-release flag, and error message (if the extension failed to load due to a missing protocol dependency).
Publishing
To a Local Repository
aeth publish ./MyExtension.1.0.0.pkg --repo ./local-repo
To a Remote Repository
aeth package upload ./MyExtension.1.0.0.pkg --repo https://extensions.example.com
Remote upload requires authentication. See Pipeline Authentication.
Building Packages from an API Extension Project
An API Extension Project (*.aep) — the document Studio's API Extension designer
authors — can also be driven from CI, without Studio. The two verbs are apiext analyze (re-import
the specs recorded in the project) and apiext pack (produce the distributable .pkg):
# 1. Refresh the project from its recorded spec sources, and save it
aeth apiext analyze Module-A.aep
# 2. Pack it — the package carries the project's metadata (id, tags, visibility, icon, changelog)
aeth apiext pack Module-A.aep --version 2.1.0 -o ./pkg
# 3. Publish it to the repository
aeth package upload ./pkg/Module-A-2.1.0.pkg
Each project group runs this loop for its own module and consumes the other groups' packages with
aeth install: the module under test is installed as the driver, and the APIs it depends on are
installed as stubs that service simulation can serve. --version overrides the
project's AutoVersion date scheme for that one build; the .aep itself is never rewritten by pack,
and a failed re-import leaves it byte-identical. See the
Command-Line Reference for the full option tables.
Complete Workflow Example
# 1. Find a package
aeth package search "graphql"
# 2. Inspect details
aeth package view Vendor.GraphQLClient
# 3. Download the package
aeth package download Vendor.GraphQLClient --output ./downloads
# 4. Install it
aeth install ./downloads/Vendor.GraphQLClient-1.0.0.pkg
# 5. Verify installation
aeth list-extensions
# 6. Uninstall when no longer needed
aeth uninstall Vendor.GraphQLClient --force