FREE · OPEN SOURCE · APACHE-2.0

Author Amplitude Projects From Your Terminal

The official command-line tool to manage your Amplitude projects. Create a project, author its assets, validate and build it, all in plain commands you can run by hand or from a script.

INSTALL IN ONE COMMAND
$ curl -fsSL https://cli.amplitudeaudiosdk.com/install.sh | bash
Read the script before you run it: install.sh · install.ps1

Early development: commands and output may change between releases.

TERMINAL AM 0.1.0
# Create a project and move in
$ am project init my_game
$ cd my_game

# Author a looping footstep
$ am asset sound create footstep \
    --file audio/step.wav --bus sfx --gain 0.8 --loop

# Check every asset, then build for runtime
$ am project validate
$ am project build --output dist/
WORKFLOW

From Empty Folder To Runtime Assets

Amplitude is data-driven: the SDK reads JSON. The CLI writes, checks and packages that JSON for you.

01 · CREATE

Start A Project

Scaffold the project folders from a template. The project is registered with the CLI unless you say otherwise.

am project init my_game
02 · AUTHOR

Create Assets

Sounds, collections, effects, switches, events, soundbanks, attenuations, RTPCs, pipelines and buses, with prompts when you leave a value out.

am asset sound create explosion --file audio/explosion.wav --bus sfx
03 · VALIDATE

Catch Mistakes

Check every asset, bus file and engine config against the SDK schemas, references included, or one type at a time while you iterate.

am project validate --sounds-only
04 · BUILD

Ship To The Engine

Validate, then write runtime-ready assets to a build folder. Clean it first, or stop at the first error.

am project build --output dist/ --clean
COMMANDS

What You Can Run Today

Run am --help for the full list, or append --help to any command for detailed instructions

Create and manage projects, then validate and build them.
am project init [name] --template --no-register

Create a new project from a registered template.

am project register [path]

Register an existing project.

am project unregister <name> --delete-files

Unregister a project, and optionally delete its files.

am project list --favorite --no-favorite

List all registered projects.

am project favorite <name> --set --unset

Mark or unmark a project as favorite.

am project info [name]

Show details of a project. Uses the current directory when no name is given.

am project validate --sounds-only --rtpc-only --buses-only …

Validate every asset, bus file and engine config in a project, or only one type.

am project build --output --clean --fail-fast

Build project assets for runtime consumption.

GLOBAL FLAGS --json--non-interactive-q, --quiet-v, --verbose
SCRIPTING

Friendly By Hand, Predictable In A Script

Leave a value out and the CLI asks for it. Pass --non-interactive and it fails instead of prompting.

  • Machine-readable output with --json on any command
  • Distinct error codes for validation, assets, projects, SDK and build failures
  • References are strict: a missing asset is an error, and delete refuses an asset that is still in use
  • Shell completions for bash, zsh and fish
IN A SCRIPT OR PIPELINE
# Parse results with your own tools
$ am project list --json
$ am asset sound list --json
$ am project validate --json

# Never wait for a prompt
$ am --non-interactive asset event delete play_music --yes
ROADMAP

Early Today, Growing In The Open

The CLI is at version 0.1 and changes quickly. A terminal UI is planned next, for browsing and editing a project without leaving the terminal.

Project Management

AVAILABLE
  • Project lifecycle: init, register, list, favorite, info
  • Assets lifecycle: create, list, update, delete, with reference checks
  • Project validation and build
  • Project templates, including your own
  • JSON output and non-interactive mode

Terminal UI

PLANNED

An interactive view of a project, driven by the keyboard, on top of the same commands. This sketch only shows the idea and will change.

INSTALL

Get The am Binary

Run the install script, download a release, or build from source.

Install Script

FASTEST WAY

One command installs the CLI. You can read the script first there: install.sh · install.ps1

LINUX · MACOS
$ curl -fsSL https://cli.amplitudeaudiosdk.com/install.sh | bash
WINDOWS · POWERSHELL
PS> powershell -NoProfile -Command "iex (irm 'https://cli.amplitudeaudiosdk.com/install.ps1')"

Pre-Built Binaries

Releases are published on GitHub for five targets.

  • Linux · x86_64, aarch64
  • macOS · Intel, Apple Silicon
  • Windows · x86_64

Each archive holds am, shell completions, the README and the license, with a SHA-256 checksum and a build provenance attestation you can verify with gh attestation verify.

BUILD FROM SOURCE · RUST 1.85+
# The SDK is needed at build time
git clone https://github.com/AmplitudeAudio/cli.git
git clone https://github.com/AmplitudeAudio/sdk.git
export AM_SDK_PATH="$(pwd)/sdk"
cd cli && cargo build

# Check the CLI can find the SDK
$ am sdk check

# Tab completion
$ am completions zsh > ~/.zfunc/_am
PART OF AMPLITUDE

Two Ways To Author, One Engine

enfrjazh