# aio-cli-plugin-aem **Repository Path**: mirrors_adobe/aio-cli-plugin-aem ## Basic Information - **Project Name**: aio-cli-plugin-aem - **Description**: AEM-related plugin commands for Adobe I/O CLI - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-24 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Overview Plugin to Adobe I/O CLI for executing commands related to Adobe Experience Manager. * [Overview](#overview) * [Usage](#usage) * [Adding New Commands](#adding-new-commands) * [Commands](#commands) * [Proxy Support](#proxy-support) * [Releasing](#releasing) * [Contributing](#contributing) * [Licensing](#licensing) # Usage To install the and use the command locally: ```sh-session $ npm install -g @adobe/aio-cli-plugin-aem $ aio-aem COMMAND running command... $ aio-aem (-v|--version|version) @adobe/aio-cli-plugin-aem/1.2.0 linux-x64 node-v18.16.1 $ aio-aem --help [COMMAND] USAGE $ aio-aem COMMAND ... ``` # Adding New Commands To add a new command, do the following: * Create a new javascript file, named after the command, in src/commands/aem. * Use the contents of src/commands/aem/upload.js as a starting point for your command, paying particular attention to the command's `flags`, `args`, and `description`. For additional information and features, see [https://oclif.io](https://oclif.io/). * Ensure that the file's exports include an object with a property matching the command name. ## Testing Commands There are a couple options for running commands through the locally cloned repository. ``` // run command through Node.js node bin/run aem:COMMAND ``` ``` // run command as a binary (Mac) ./bin/run aem:COMMAND ``` ``` // run command as a binary (Windows) bin/run.cmd aem:COMMAND ``` ``` // run using specifed NPM command npm link // only needs to be run once aio-aem aem:COMMAND ``` # Commands * [`aio-aem aem:upload FILES_FOLDERS`](#aio-aem-aemupload-files_folders) ## `aio-aem aem:upload FILES_FOLDERS` Upload asset binaries to AEM ``` Upload asset binaries to AEM Uploads one or more files to a target AEM instance. The upload process uses the direct binary access algorithm, so the target instance must have direct binary access enabled; otherwise the upload will fail. The process will upload the files or directories (optionally recursively) provided in the command. Note that the process will only work with AEM instances that use basic (i.e. non-SSO) authentication. USAGE $ aio-aem aem:upload FILES_FOLDERS ARGUMENTS FILES_FOLDERS Space-delimited list of files and folders to upload. OPTIONS -c, --credential=credential [default: admin:admin] AEM credential The username and password for authenticating with the target AEM instance. Should be in the format :. -d, --deep Whether or not to recursively upload all descendant folders and files -h, --host=host [default: http://localhost:4502] AEM host The host value of the AEM instance where files will be uploaded. This should include everything in the host's URL up until /content/dam. -l, --log=log [default: upload-${timestamp}.log] Log file path The local path to where the process's log messages should be saved. -o, --output=output [default: result-${timestamp}.html] Result html file path The local path to where the process's metrics will be saved in html format. -r, --threads=threads [default: 5] Maximum threads Maximum number of files to upload concurrently. -t, --target=target [default: /content/dam/aem-upload-${timestamp}] Target AEM folder The folder in the target AEM instance where asset binaries should be uploaded. Should always begin with /content/dam. -v, --version Show version --help Show help DESCRIPTION Uploads one or more files to a target AEM instance. The upload process uses the direct binary access algorithm, so the target instance must have direct binary access enabled; otherwise the upload will fail. The process will upload the files or directories (optionally recursively) provided in the command. Note that the process will only work with AEM instances that use basic (i.e. non-SSO) authentication. EXAMPLES $ aio aem:upload myimage.jpg $ aio aem:upload -h http://myaeminstance -c admin:12345 myimage.jpg ``` _See code: [src/commands/aem/upload.js](https://github.com/adobe/aio-cli-plugin-aem/blob/v1.2.0/src/commands/aem/upload.js)_ # Proxy Support The AEM plugin supports proxies inline with the [AIO CLI](https://github.com/adobe/aio-cli#proxy-support). See the documentation there for details. # Releasing This module uses [semantic-release](https://github.com/semantic-release/semantic-release) when publishing new versions. The process is initiated upon merging commits to the `master` branch. Review semantic-release's documentation for commit message format. PRs whose messages do not meet semantic-release's format will _not_ generate a new release. Release notes are generated based on git commit messages. Release notes will appear in `CHANGELOG.md`. # Contributing Contributions are welcomed! Read the [Contributing Guide](CONTRIBUTING.md) for more information. # Licensing This project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for more information.