npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@capuchoo/cli

v0.15.2

Published

Builds and publishes OTA and native releases for Capacitor applications through Capucho.

Readme

@capuchoo/cli

Capuchoo CLI bundles and uploads your application to the cloud. It packages builds as native artifacts or ZIP files, then publishes them using user-defined parameters such as channels and custom release options. Built for simple, repeatable deployments, it integrates cleanly into local workflows and CI pipelines to ship updates quickly and reliably.

For team release operations, version ownership, GitHub Actions integration, and ecosystem boundaries, see CI releases.

oclif Version Downloads/week

Usage

$ npm install -g @capuchoo/cli
$ capuchoo COMMAND
running command...
$ capuchoo (--version)
@capuchoo/cli/0.12.0 win32-x64 node-v24.20.0
$ capuchoo --help [COMMAND]
USAGE
  $ capuchoo COMMAND
...

Commands

capuchoo app delete [APPID]

Delete an app, its channels and its bundles

USAGE
  $ capuchoo app delete [APPID] [-y]

ARGUMENTS
  [APPID]  Bundle identifier of the app to delete

FLAGS
  -y, --yes  Skip the confirmation (scripts and CI)

DESCRIPTION
  Delete an app, its channels and its bundles

EXAMPLES
  $ capuchoo app delete com.company.app

See code: src/commands/app/delete.ts

capuchoo app grant EMAIL ROLE

Give someone a role on this app

USAGE
  $ capuchoo app grant EMAIL ROLE

ARGUMENTS
  EMAIL  Account to grant
  ROLE   (admin|developer|tester|viewer) One of admin, developer, tester, viewer

DESCRIPTION
  Give someone a role on this app

EXAMPLES
  $ capuchoo app grant [email protected] developer

  $ capuchoo app grant [email protected] tester

See code: src/commands/app/grant.ts

capuchoo app identifiers [ACTION] [BUNDLEID]

List, add or remove the bundle identifiers this app ships under

USAGE
  $ capuchoo app identifiers [ACTION] [BUNDLEID] [--flavour prod|staging|dev] [--platform android|ios|all] [-y]

ARGUMENTS
  [ACTION]    (list|add|remove) [default: list] list, add or remove
  [BUNDLEID]  Bundle identifier, for add and remove

FLAGS
  -y, --yes                Skip the confirmation
      --flavour=<option>   Which flavour ships under it. Omit when every flavour does, which turns the gate off.
                           <options: prod|staging|dev>
      --platform=<option>  android, ios, or all
                           <options: android|ios|all>

DESCRIPTION
  List, add or remove the bundle identifiers this app ships under

EXAMPLES
  $ capuchoo app identifiers

  $ capuchoo app identifiers add com.acme.app.dev --flavour dev

  $ capuchoo app identifiers remove com.acme.app.dev

See code: src/commands/app/identifiers.ts

capuchoo app list

List the apps this account can reach

USAGE
  $ capuchoo app list [--json]

FLAGS
  --json  Machine-readable output

DESCRIPTION
  List the apps this account can reach

See code: src/commands/app/list.ts

capuchoo app revoke EMAIL

Remove someone's role on this app

USAGE
  $ capuchoo app revoke EMAIL [-y]

ARGUMENTS
  EMAIL  Account to revoke

FLAGS
  -y, --yes  Skip the confirmation

DESCRIPTION
  Remove someone's role on this app

EXAMPLES
  $ capuchoo app revoke [email protected]

See code: src/commands/app/revoke.ts

capuchoo app roles

Show who can do what on this app

USAGE
  $ capuchoo app roles

DESCRIPTION
  Show who can do what on this app

EXAMPLES
  $ capuchoo app roles

See code: src/commands/app/roles.ts

capuchoo auth issue

Create an API key, optionally limited to one app and one role

USAGE
  $ capuchoo auth issue [--name <value>] [--role viewer|tester|developer|admin] [--this-app]

FLAGS
  --name=<value>   Label shown in capuchoo auth keys
  --role=<option>  Ceiling on what the key may do: viewer, tester, developer, admin
                   <options: viewer|tester|developer|admin>
  --this-app       Restrict the key to the app this directory is linked to

DESCRIPTION
  Create an API key, optionally limited to one app and one role

EXAMPLES
  $ capuchoo auth issue --name ci --role developer --this-app

  $ capuchoo auth issue --name readonly --role viewer

See code: src/commands/auth/issue.ts

capuchoo auth keys

List the API keys on this account

USAGE
  $ capuchoo auth keys

DESCRIPTION
  List the API keys on this account

EXAMPLES
  $ capuchoo auth keys

See code: src/commands/auth/keys.ts

capuchoo auth login

Sign in to a Capuchoo backend

USAGE
  $ capuchoo auth login [-k <value>] [-e <value>]

FLAGS
  -e, --endpoint=<value>  Backend base URL
  -k, --api-key=<value>   API key from Settings > API Keys in the dashboard

DESCRIPTION
  Sign in to a Capuchoo backend

EXAMPLES
  $ capuchoo auth login

  $ capuchoo auth login --endpoint https://capucho.internal --api-key cap_...

See code: src/commands/auth/login.ts

capuchoo auth logout

Remove the stored API key

USAGE
  $ capuchoo auth logout

DESCRIPTION
  Remove the stored API key

See code: src/commands/auth/logout.ts

capuchoo auth revoke ID

Revoke an API key

USAGE
  $ capuchoo auth revoke ID [-y]

ARGUMENTS
  ID  Key id, from capuchoo auth keys

FLAGS
  -y, --yes  Skip the confirmation

DESCRIPTION
  Revoke an API key

EXAMPLES
  $ capuchoo auth revoke <id>

See code: src/commands/auth/revoke.ts

capuchoo auth whoami

Show the signed-in account, and the organizations and apps it can reach

USAGE
  $ capuchoo auth whoami [--json]

FLAGS
  --json  Machine-readable output

DESCRIPTION
  Show the signed-in account, and the organizations and apps it can reach

See code: src/commands/auth/whoami.ts

capuchoo channel create [NAME]

Create a channel for this app

USAGE
  $ capuchoo channel create [NAME] [-e dev|staging|prod] [-y] [--json]

ARGUMENTS
  [NAME]  Name of the channel, e.g. staging

FLAGS
  -e, --environment=<option>  Which build flavour this channel serves
                              <options: dev|staging|prod>
  -y, --yes                   Accept the environment even when it disagrees with the name
      --json                  Machine-readable output

DESCRIPTION
  Create a channel for this app

EXAMPLES
  $ capuchoo channel create staging

  $ capuchoo channel create beta --environment staging

  $ capuchoo channel create prod --environment prod --yes

See code: src/commands/channel/create.ts

capuchoo channel delete [NAME]

Delete one of this app's channels

USAGE
  $ capuchoo channel delete [NAME] [-y]

ARGUMENTS
  [NAME]  Name of the channel to delete

FLAGS
  -y, --yes  Skip the confirmation

DESCRIPTION
  Delete one of this app's channels

EXAMPLES
  $ capuchoo channel delete beta

  $ capuchoo channel delete beta --yes

See code: src/commands/channel/delete.ts

capuchoo channel list

List this app's channels and what they serve

USAGE
  $ capuchoo channel list [--json]

FLAGS
  --json  Machine-readable output

DESCRIPTION
  List this app's channels and what they serve

See code: src/commands/channel/list.ts

capuchoo config list

Show the resolved configuration, and which build tools were found

USAGE
  $ capuchoo config list [--json]

FLAGS
  --json  Machine-readable output

DESCRIPTION
  Show the resolved configuration, and which build tools were found

See code: src/commands/config/list.ts

capuchoo config set KEY VALUE

Set a user preference in ~/.capuchoo/config.json

USAGE
  $ capuchoo config set KEY VALUE

ARGUMENTS
  KEY    (endpoint|defaultChannel) Preference to set
  VALUE  New value

DESCRIPTION
  Set a user preference in ~/.capuchoo/config.json

EXAMPLES
  $ capuchoo config set endpoint https://capucho.internal

  $ capuchoo config set defaultChannel staging

See code: src/commands/config/set.ts

capuchoo deploy native

Build and publish a native binary (APK). Users install it through the OS.

USAGE
  $ capuchoo deploy native [-c <value>] [-n <value>] [-v major|minor|patch] [-a] [-r] [--skip-assets]
    [--skip-build] [--dry-run] [--json] [--verbose] [-y] [-p android|ios] [-t debug|release] [--flavor <value>]
    [--allow-unsigned]

FLAGS
  -a, --[no-]active        Serve this release immediately
  -c, --channel=<value>    Channel to publish to. Its environment selects the flavour.
  -n, --note=<value>       Release notes shown to users
  -p, --platform=<option>  [default: android] Target platform
                           <options: android|ios>
  -r, --[no-]required      Users cannot postpone this release
  -t, --type=<option>      [default: release] Gradle variant to assemble
                           <options: debug|release>
  -v, --version=<option>   Bump the app version before publishing
                           <options: major|minor|patch>
  -y, --yes                Accept every prompt - required in CI
      --allow-unsigned     Publish a release build with no signature. Android will refuse to install it.
      --dry-run            Build and package, but upload nothing
      --flavor=<value>     Gradle product flavour to build, when the project has more than one
      --json               Emit a machine-readable result on stdout
      --skip-assets        Do not regenerate launcher icons
      --skip-build         Publish the existing build output as-is
      --verbose            Stream build output to the terminal

DESCRIPTION
  Build and publish a native binary (APK). Users install it through the OS.

EXAMPLES
  $ capuchoo deploy native --channel staging

  $ capuchoo deploy native -c production -v minor --type release

  $ capuchoo deploy native -c staging --type debug -y

See code: src/commands/deploy/native.ts

capuchoo deploy ota

Publish a web bundle over the air. Does not change the installed binary.

USAGE
  $ capuchoo deploy ota [-c <value>] [-n <value>] [-v major|minor|patch] [-a] [-r] [--skip-assets]
    [--skip-build] [--dry-run] [--json] [--verbose] [-y]

FLAGS
  -a, --[no-]active       Serve this release immediately
  -c, --channel=<value>   Channel to publish to. Its environment selects the flavour.
  -n, --note=<value>      Release notes shown to users
  -r, --[no-]required     Users cannot postpone this release
  -v, --version=<option>  Bump the app version before publishing
                          <options: major|minor|patch>
  -y, --yes               Accept every prompt - required in CI
      --dry-run           Build and package, but upload nothing
      --json              Emit a machine-readable result on stdout
      --skip-assets       Do not regenerate launcher icons
      --skip-build        Publish the existing build output as-is
      --verbose           Stream build output to the terminal

DESCRIPTION
  Publish a web bundle over the air. Does not change the installed binary.

EXAMPLES
  $ capuchoo deploy ota --channel staging

  $ capuchoo deploy ota -c production -v patch -n 'Fixes the invoice total'

  $ capuchoo deploy ota -c staging --dry-run

See code: src/commands/deploy/ota.ts

capuchoo doctor

Check that this app, its credentials and its channels are usable

USAGE
  $ capuchoo doctor

DESCRIPTION
  Check that this app, its credentials and its channels are usable

EXAMPLES
  $ capuchoo doctor

See code: src/commands/doctor.ts

capuchoo help [COMMAND]

Display help for capuchoo.

USAGE
  $ capuchoo help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for capuchoo.

See code: @oclif/plugin-help

capuchoo init

Set this app up to receive updates, from nothing to verified

USAGE
  $ capuchoo init [-l | -c] [--name <value> ] [--app-id <value>] [--org <value> ] [--channel <value>] [-f]
    [-y] [--dry-run] [--native] [--skip-telemetry] [--skip-sync] [--skip <value>...] [--only <value>...] [--prove]

FLAGS
  -c, --create           Create a new app instead of asking
  -f, --force            Overwrite an existing project.json
  -l, --link             Link an existing app instead of asking
  -y, --yes              Apply every change without asking
      --app-id=<value>   Bundle identifier of the app, e.g. com.company.app
      --channel=<value>  Create this channel after linking, e.g. staging
      --dry-run          Report the wiring changes without writing (needs a linked directory)
      --name=<value>     Name of the app to create (default: this directory's name)
      --native           Also install what downloading and installing an APK needs
      --only=<value>...  Run only these steps (verify always runs unless skipped)
      --org=<value>      Organization to create the app in, by name or id
      --prove            Publish a release and wait for a device to take it
      --skip=<value>...  Steps to leave out: credentials, link, identifiers, channels, packages, env, code, verify,
                         publish, confirm
      --skip-sync        Do not run cap sync after installing
      --skip-telemetry   Do not install @capacitor/device

DESCRIPTION
  Set this app up to receive updates, from nothing to verified

ALIASES
  $ capuchoo setup

EXAMPLES
  $ capuchoo init

  $ capuchoo init --yes

  $ capuchoo init --dry-run

  $ capuchoo init --only env --only code

  $ capuchoo init --create --name "My App" --app-id com.acme.app

See code: src/commands/init.ts

capuchoo menu

Browse and run commands interactively

USAGE
  $ capuchoo menu

DESCRIPTION
  Browse and run commands interactively

EXAMPLES
  $ capuchoo

  $ capuchoo menu

See code: src/commands/menu.ts

capuchoo org create [NAME]

Create an organization

USAGE
  $ capuchoo org create [NAME] [--json]

ARGUMENTS
  [NAME]  Display name of the organization

FLAGS
  --json  Machine-readable output

DESCRIPTION
  Create an organization

EXAMPLES
  $ capuchoo org create "SIG Service"

  $ capuchoo org create Acme --json

See code: src/commands/org/create.ts

capuchoo org invite EMAIL ROLE

Add an existing account to an organization

USAGE
  $ capuchoo org invite EMAIL ROLE [--org <value>]

ARGUMENTS
  EMAIL  Account to add
  ROLE   (owner|admin|member) One of owner, admin, member

FLAGS
  --org=<value>  Organization by name or id

DESCRIPTION
  Add an existing account to an organization

EXAMPLES
  $ capuchoo org invite [email protected] member

See code: src/commands/org/invite.ts

capuchoo org list

List the organizations this account belongs to

USAGE
  $ capuchoo org list [--json]

FLAGS
  --json  Machine-readable output

DESCRIPTION
  List the organizations this account belongs to

See code: src/commands/org/list.ts

capuchoo org members

List the people in an organization

USAGE
  $ capuchoo org members [--org <value>]

FLAGS
  --org=<value>  Organization by name or id

DESCRIPTION
  List the people in an organization

EXAMPLES
  $ capuchoo org members

See code: src/commands/org/members.ts

capuchoo setup

Set this app up to receive updates, from nothing to verified

USAGE
  $ capuchoo setup [-l | -c] [--name <value> ] [--app-id <value>] [--org <value> ] [--channel <value>] [-f]
    [-y] [--dry-run] [--native] [--skip-telemetry] [--skip-sync] [--skip <value>...] [--only <value>...] [--prove]

FLAGS
  -c, --create           Create a new app instead of asking
  -f, --force            Overwrite an existing project.json
  -l, --link             Link an existing app instead of asking
  -y, --yes              Apply every change without asking
      --app-id=<value>   Bundle identifier of the app, e.g. com.company.app
      --channel=<value>  Create this channel after linking, e.g. staging
      --dry-run          Report the wiring changes without writing (needs a linked directory)
      --name=<value>     Name of the app to create (default: this directory's name)
      --native           Also install what downloading and installing an APK needs
      --only=<value>...  Run only these steps (verify always runs unless skipped)
      --org=<value>      Organization to create the app in, by name or id
      --prove            Publish a release and wait for a device to take it
      --skip=<value>...  Steps to leave out: credentials, link, identifiers, channels, packages, env, code, verify,
                         publish, confirm
      --skip-sync        Do not run cap sync after installing
      --skip-telemetry   Do not install @capacitor/device

DESCRIPTION
  Set this app up to receive updates, from nothing to verified

ALIASES
  $ capuchoo setup

EXAMPLES
  $ capuchoo init

  $ capuchoo init --yes

  $ capuchoo init --dry-run

  $ capuchoo init --only env --only code

  $ capuchoo init --create --name "My App" --app-id com.acme.app

See code: src/commands/setup.ts

capuchoo version bump TYPE

Raise the app's semantic version, and optionally an environment's build number

USAGE
  $ capuchoo version bump TYPE [-e dev|staging|prod]

ARGUMENTS
  TYPE  (major|minor|patch) Which part of the version to raise

FLAGS
  -e, --environment=<option>  Also increment this environment's native build number
                              <options: dev|staging|prod>

DESCRIPTION
  Raise the app's semantic version, and optionally an environment's build number

EXAMPLES
  $ capuchoo version bump patch

  $ capuchoo version bump minor --environment staging

See code: src/commands/version/bump.ts

capuchoo version sync

Show, or advance, the version and build number used for each flavour

USAGE
  $ capuchoo version sync [-b] [-e dev|staging|prod] [--json]

FLAGS
  -b, --bump                  Increment the build number for the selected environments
  -e, --environment=<option>  Limit to one environment
                              <options: dev|staging|prod>
      --json                  Machine-readable output

DESCRIPTION
  Show, or advance, the version and build number used for each flavour

EXAMPLES
  $ capuchoo version sync

  $ capuchoo version sync --bump --environment staging

See code: src/commands/version/sync.ts