Moana CLI
Self-service command-line interface for Media Moana — manage media, folders, and AI processing from the terminal.
Installation
npm install -g moana-cli
Requires Node.js 20+. Run without installing via npx moana-cli.
Quick Start
moana login
moana folder list
moana media upload ./photo.jpg
Run moana --help to see all commands, or moana <command> --help for command-specific options.
Configuration
Config is stored at ~/.moana/config.yml.
Output Formats
Most commands accept --output json|yaml|table (table is the default for list commands). All formats are syntax-highlighted.
Development
git clone https://github.com/mediamoana/moana-cli.git
cd moana-cli
npm install
npm link
When you're done, unlink it to restore the published moana (or remove it entirely):
npm unlink -g moana-cli
Useful scripts:
npm start -- folder list
npm run lint
npm run lint:fix
npm run format
Publishing
Maintainer notes — for releasing new versions of moana-cli to npm.
First time only: run npm login for the browser auth flow.
Releasing a new version
npm version patch
npm version minor
npm version major
npm publish --dry-run
npm publish
git push && git push --tags
npm view moana-cli version
npx moana-cli@latest --help
To release a pre-release without claiming latest:
npm version prerelease --preid=beta
npm publish
git push && git push --tags
npm dist-tag add moana-cli@1.1.1-beta.0 beta
Unpublishing and deprecating
You cannot republish over an existing version. npm publish against a version that already exists fails with 403, and unpublishing does not free the version number — it stays permanently reserved. Always bump the version instead.
Unpublish — only works within 72 hours of publishing. After that, npm only allows it under strict conditions (no dependents, low download count, sole maintainer) and usually requires contacting npm support.
npm unpublish moana-cli@1.0.1
npm unpublish moana-cli --force
Deprecate — the recommended way to retire a bad version. It doesn't remove the package, but anyone installing it sees your warning. Reversible by passing an empty string.
npm deprecate moana-cli@1.0.1 "Has a bug, upgrade to 1.0.2"
npm deprecate moana-cli@1.0.1 ""
Typical recovery flow when a release is broken: publish a fixed version, then deprecate the bad one.
License
MIT