amore-cli
GitHub指导用户通过 Amore CLI 进行 macOS 应用分发,涵盖安装、代码签名、公证、DMG 创建、Sparkle 更新及 S3 托管等全流程。
Trigger Scenarios
Install
npx skills add pluk-inc/markdown-preview --skill amore-cli -g -y
SKILL.md
Frontmatter
{
"name": "amore-cli",
"description": "Guide users through the Amore CLI for macOS app distribution — setup, releasing, code signing, notarization, DMG creation, S3 hosting, Sparkle updates, licensing, and configuration. Use this skill whenever the user mentions Amore, amore CLI, macOS app distribution outside the App Store, Sparkle updater setup, appcast.xml, notarization workflows, DMG creation, or self-publishing macOS apps. Also use when the user asks about release automation, S3 bucket hosting for app updates, EdDSA signing keys, or licensing with Stripe for macOS apps."
}
Amore CLI
Amore is a macOS app distribution platform. The amore CLI automates the entire workflow for publishing macOS apps outside the App Store: setup, code signing, notarization, DMG creation, Sparkle appcast generation, and upload — in a single command.
Run amore help or amore <command> --help for the most up-to-date option details.
Installation
The CLI ships inside the Amore macOS app. To use it:
- Download Amore from amore.computer/download
- Install the CLI via terminal:
Or install from within the app: go to Command Line settings and click Install./Applications/Amore.app/Contents/MacOS/AmoreCLI install
This creates a symlink at /usr/local/bin/amore. If you get a permission error, run with sudo.
Important: The CLI currently requires Amore.app to be installed on the machine. It is not available as a standalone binary, so it cannot run on CI runners (like GitHub Actions) that don't have Amore.app. All amore commands are meant to be run on your local Mac.
Quick Start
amore login # Sign in
amore setup MyApp.app # Register app, choose hosting, generate Sparkle keys
amore release --scheme MyApp # Build, sign, notarize, and publish
Commands Overview
| Command | Description |
|---|---|
login |
Sign in to your Amore account |
logout |
Sign out |
register |
Create a new account |
whoami |
Show current user (use --refresh to sync) |
install |
Install CLI to /usr/local/bin/amore |
uninstall |
Remove CLI from /usr/local/bin/amore |
status |
Show CLI setup status |
setup |
Register a new app for distribution |
release |
Build, sign, notarize, and publish a release |
apps |
List or delete apps |
releases |
List, update, or delete releases |
products |
Manage licensing products (create, update, delete) |
config |
View or change per-app configuration |
create-dmg |
Create a DMG without uploading |
sign |
Sign an archive with Ed25519 key |
verify |
Verify an Ed25519 signature |
post-archive |
Xcode archive post-action for automated releases |
Core Workflows
Setting Up a New App
amore setup <path-to-app> walks through:
- Choosing hosting: Amore (managed) or S3 (self-hosted)
- Generating or importing EdDSA Sparkle signing keys
- Configuring S3 credentials (if self-hosted)
For non-interactive setup (CI/agents), pass all options as flags. Read references/commands.md for the full flag list.
Releasing
amore release is the main workhorse. It accepts .app, .dmg, .zip, .xcarchive, .xcodeproj, or .xcworkspace as input and handles the full pipeline:
- Archive/export (if given an Xcode project)
- Code sign with Developer ID
- Create DMG with drag-to-install experience
- Notarize with Apple
- Sign for Sparkle (Ed25519)
- Upload and update appcast.xml
Read references/release-workflow.md for the full release pipeline details, CI/CD automation, and all flags.
Managing Releases
amore releases list --bundle-id com.example.App
amore releases update <id> --bundle-id com.example.App --published true
amore releases delete <id> --bundle-id com.example.App
Releases support flags: --beta, --critical, --phased-rollout, --published, --release-notes.
Configuration
Per-app settings are managed with amore config:
amore config show --bundle-id com.example.App # Show all config
amore config show release --bundle-id com.example.App # Show release config only
amore config set release codesign-identity "Developer ID Application: You" --bundle-id com.example.App
amore config set s3 bucket my-bucket --bundle-id com.example.App
Config sections: release, s3, app. Read references/commands.md for all fields.
When to Consult Reference Files
Read these for deeper guidance on specific topics:
| Topic | Reference File | When to Read |
|---|---|---|
| Full command reference | references/commands.md |
Looking up specific flags, arguments, or subcommands |
| Release pipeline | references/release-workflow.md |
Setting up CI/CD, troubleshooting releases, understanding the pipeline |
| S3 self-hosting | references/s3-hosting.md |
Configuring S3/R2 buckets, credentials, appcast paths |
| Sparkle integration | references/sparkle-setup.md |
Adding Sparkle to a project, key management, sandboxing |
| Licensing & payments | references/licensing.md |
Setting up products, Stripe integration, payment flows |
Common Patterns
Bundle ID is the primary identifier. Most commands that operate on an app require --bundle-id (or -b).
Interactive vs non-interactive. Commands like setup and release are interactive by default. Pass all required values as flags to skip prompts. Note: login and register are always interactive — there are no --email/--password flags.
Local Mac only. The CLI requires Amore.app to be installed and runs on macOS only. It is not available as a standalone binary for CI/CD runners. If a user asks about CI/CD automation, explain this limitation and suggest using the Xcode post-archive action or running amore release locally after building.
S3 credentials. Can be provided via: CLI flags (--s3-access-key-id, --s3-secret-access-key), environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY), or the macOS keychain (configured during amore setup).
Codesigning prerequisites. DMG creation and notarization require a Developer ID Application certificate and a notarization keychain profile. Set these up once with amore config set release.
Back up your Sparkle private key. After amore setup generates your EdDSA signing key, store a copy in your password manager. If you lose it, existing users will not be able to verify future updates — there is no way to recover it.
Version History
- c05314a Current 2026-07-24 16:04


