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

@contextual-io/cli

v0.6.0

Published

Contextual CLI

Readme

@contextual-io/cli

Contextual CLI

oclif Version Downloads/week

Usage

$ npm install -g @contextual-io/cli
$ ctxl COMMAND
running command...
$ ctxl (--version)
@contextual-io/cli/0.6.0 linux-x64 node-v25.2.1
$ ctxl --help [COMMAND]
USAGE
  $ ctxl COMMAND
...

Commands

ctxl autocomplete [SHELL]

Display autocomplete installation instructions.

USAGE
  $ ctxl autocomplete [SHELL] [-r]

ARGUMENTS
  [SHELL]  (zsh|bash|powershell) Shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  Display autocomplete installation instructions.

EXAMPLES
  $ ctxl autocomplete

  $ ctxl autocomplete bash

  $ ctxl autocomplete zsh

  $ ctxl autocomplete powershell

  $ ctxl autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

ctxl config <COMMAND>

Manage configs.

USAGE
  $ ctxl config <COMMAND>

DESCRIPTION
  Manage configs.

ctxl config add CONFIG-ID

Add a new config.

USAGE
  $ ctxl config add CONFIG-ID [-t <value>]

ARGUMENTS
  CONFIG-ID  id of config

FLAGS
  -t, --tenant-id=<value>  tenant id (if different from config id)

DESCRIPTION
  Add a new config.

EXAMPLES
  $ ctxl config add some-config-id --tenant-id my-tenant

ctxl config current

Get the current config.

USAGE
  $ ctxl config current [--json]

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Get the current config.

EXAMPLES
  $ ctxl config current

ctxl config delete CONFIG-ID

Delete a config.

USAGE
  $ ctxl config delete CONFIG-ID

ARGUMENTS
  CONFIG-ID  id of config

DESCRIPTION
  Delete a config.

EXAMPLES
  $ ctxl config delete some-config-id

ctxl config get [CONFIG-ID]

Get a specific config.

USAGE
  $ ctxl config get [CONFIG-ID] [--json]

ARGUMENTS
  [CONFIG-ID]  id of config

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Get a specific config.

EXAMPLES
  $ ctxl config get

  $ ctxl config get some-config-id

ctxl config list

List all available configs.

USAGE
  $ ctxl config list [--json]

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List all available configs.

EXAMPLES
  $ ctxl config list

ctxl config login

Login using the current config.

USAGE
  $ ctxl config login

DESCRIPTION
  Login using the current config.

EXAMPLES
  $ ctxl config login

ctxl config use CONFIG-ID

Use a config.

USAGE
  $ ctxl config use CONFIG-ID

ARGUMENTS
  CONFIG-ID  id of config

DESCRIPTION
  Use a config.

EXAMPLES
  $ ctxl config use some-config-id

ctxl help [COMMAND]

Display help for ctxl.

USAGE
  $ ctxl 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 ctxl.

See code: @oclif/plugin-help

ctxl records <COMMAND>

Manage records.

USAGE
  $ ctxl records <COMMAND>

DESCRIPTION
  Manage records.

ctxl records add [URI]

Create record(s).

USAGE
  $ ctxl records add [URI] [-C <value>] [-i <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>        type
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create record(s).

ALIASES
  $ ctxl records create
  $ ctxl records import

EXAMPLES
  $ ctxl records add native-object:my-type

  $ ctxl records add --type my-type --input-file records.json

ctxl records create [URI]

Create record(s).

USAGE
  $ ctxl records create [URI] [-C <value>] [-i <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>        type
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create record(s).

ALIASES
  $ ctxl records create
  $ ctxl records import

EXAMPLES
  $ ctxl records create native-object:my-type

  $ ctxl records create --type my-type --input-file records.json

ctxl records delete [URI]

Delete record(s).

USAGE
  $ ctxl records delete [URI] [-C <value>] [-I <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>...  id(s)
  -T, --type=<value>   type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete record(s).

ALIASES
  $ ctxl records rm
  $ ctxl records remove

EXAMPLES
  $ ctxl records delete native-object:my-type/instance-1

  $ ctxl records delete native-object:my-type --id instance-1

  $ ctxl records delete native-object:my-type --id instance-1 --id instance-2

  $ ctxl records delete --type my-type --id instance-1

  $ ctxl records delete --type my-type --id instance-1 --id instance-2

ctxl records get [URI]

Get a record.

USAGE
  $ ctxl records get [URI] [-C <value>] [-I <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>...  id(s)
  -T, --type=<value>   type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Get a record.

EXAMPLES
  $ ctxl records get native-object:my-type/instance-1

  $ ctxl records get native-object:my-type --id instance-1

  $ ctxl records get native-object:my-type --id instance-1 --id instance-2

  $ ctxl records get --type my-type --id instance-1

  $ ctxl records get --type my-type --id instance-1 --id instance-2

ctxl records import [URI]

Create record(s).

USAGE
  $ ctxl records import [URI] [-C <value>] [-i <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>        type
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create record(s).

ALIASES
  $ ctxl records create
  $ ctxl records import

EXAMPLES
  $ ctxl records import native-object:my-type

  $ ctxl records import --type my-type --input-file records.json

ctxl records list [URI]

List records.

USAGE
  $ ctxl records list [URI] [-C <value>] [-S <value>...] [-e] [-f <value>...] [--include-total] [-o <value>...]
    [--page-size <value>] [--page-token <value>] [-p] [-s <value>...] [-t <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -S, --exact-search=<value>...  search fields exactly
  -T, --type=<value>             type
  -e, --export                   export data as JSONL
  -f, --from=<value>...          search from
  -o, --order-by=<value>...      order fields
  -p, --progress                 show progress during export
  -s, --search=<value>...        search fields
  -t, --to=<value>...            search to
      --include-total            include total count
      --page-size=<value>        number of records per page
      --page-token=<value>       page token to fetch

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  List records.

ALIASES
  $ ctxl records search

EXAMPLES
  $ ctxl records list native-object:my-type

  $ ctxl records list --type my-type

  $ ctxl records list --type my-type --order-by field1:desc

  $ ctxl records list --type my-type -s field1=value1 -s field2=value2 --include-total

ctxl records patch [URI]

Patch a record.

USAGE
  $ ctxl records patch [URI] [-C <value>] [-a <value>...] [-I <value>] [-i <value>...] [-d <value>...] [-r
    <value>...] [-s <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>            id
  -T, --type=<value>          type
  -a, --add=<value>...        add field
  -d, --remove=<value>...     remove field
  -i, --increment=<value>...  increment field
  -r, --replace=<value>...    replace field
  -s, --set=<value>...        set field

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Patch a record.

EXAMPLES
  $ ctxl records patch native-object:my-type/instance-1 --set field1=value1

  $ ctxl records patch native-object:my-type --id instance-1 --remove field2

  $ ctxl records patch --type my-type --id instance-1 --increment field3=2

ctxl records query [URI]

Query records.

USAGE
  $ ctxl records query [URI] [-C <value>] [-e] [--include-total] [-o <value>...] [--page-size <value>]
    [--page-token <value>] [-p] [-q <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>         type
  -e, --export               export data as JSONL
  -o, --order-by=<value>...  order fields
  -p, --progress             show progress during export
  -q, --query-file=<value>   [default: -] file to read. can read stdin if value is '-'
      --include-total        include total count
      --page-size=<value>    number of records per page
      --page-token=<value>   page token to fetch

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Query records.

EXAMPLES
  $ ctxl records query native-object:my-type

  $ ctxl records query --type my-type --query-file query.json

  $ ctxl records query --type my-type --order-by field1:desc --query-file query.json

  $ ctxl records query --type my-type --include-total --query-file query.json

ctxl records remove [URI]

Delete record(s).

USAGE
  $ ctxl records remove [URI] [-C <value>] [-I <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>...  id(s)
  -T, --type=<value>   type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete record(s).

ALIASES
  $ ctxl records rm
  $ ctxl records remove

EXAMPLES
  $ ctxl records remove native-object:my-type/instance-1

  $ ctxl records remove native-object:my-type --id instance-1

  $ ctxl records remove native-object:my-type --id instance-1 --id instance-2

  $ ctxl records remove --type my-type --id instance-1

  $ ctxl records remove --type my-type --id instance-1 --id instance-2

ctxl records replace [URI]

Replace a record.

USAGE
  $ ctxl records replace [URI] [-C <value>] [-I <value>] [-i <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>          id
  -T, --type=<value>        type
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Replace a record.

EXAMPLES
  $ ctxl records replace native-object:my-type/instance-1 --input-file record.json

  $ ctxl records replace native-object:my-type --id instance-1 --input-file record.json

  $ ctxl records replace --type my-type --id instance-1 --input-file record.json

ctxl records rm [URI]

Delete record(s).

USAGE
  $ ctxl records rm [URI] [-C <value>] [-I <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>...  id(s)
  -T, --type=<value>   type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete record(s).

ALIASES
  $ ctxl records rm
  $ ctxl records remove

EXAMPLES
  $ ctxl records rm native-object:my-type/instance-1

  $ ctxl records rm native-object:my-type --id instance-1

  $ ctxl records rm native-object:my-type --id instance-1 --id instance-2

  $ ctxl records rm --type my-type --id instance-1

  $ ctxl records rm --type my-type --id instance-1 --id instance-2

ctxl records search [URI]

List records.

USAGE
  $ ctxl records search [URI] [-C <value>] [-S <value>...] [-e] [-f <value>...] [--include-total] [-o <value>...]
    [--page-size <value>] [--page-token <value>] [-p] [-s <value>...] [-t <value>...] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -S, --exact-search=<value>...  search fields exactly
  -T, --type=<value>             type
  -e, --export                   export data as JSONL
  -f, --from=<value>...          search from
  -o, --order-by=<value>...      order fields
  -p, --progress                 show progress during export
  -s, --search=<value>...        search fields
  -t, --to=<value>...            search to
      --include-total            include total count
      --page-size=<value>        number of records per page
      --page-token=<value>       page token to fetch

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  List records.

ALIASES
  $ ctxl records search

EXAMPLES
  $ ctxl records search native-object:my-type

  $ ctxl records search --type my-type

  $ ctxl records search --type my-type --order-by field1:desc

  $ ctxl records search --type my-type -s field1=value1 -s field2=value2 --include-total

ctxl records stats [URI]

Get the stats of a record.

USAGE
  $ ctxl records stats [URI] [-C <value>] [-I <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of record

FLAGS
  -I, --id=<value>    id
  -T, --type=<value>  type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Get the stats of a record.

EXAMPLES
  $ ctxl records stats native-object:my-type/instance-1

  $ ctxl records stats native-object:my-type --id instance-1

  $ ctxl records stats --type my-type --id instance-1

ctxl types <COMMAND>

Manage types.

USAGE
  $ ctxl types <COMMAND>

DESCRIPTION
  Manage types.

ctxl types add

Create type(s).

USAGE
  $ ctxl types add [-C <value>] [-i <value>]

FLAGS
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create type(s).

ALIASES
  $ ctxl types create
  $ ctxl types import

EXAMPLES
  $ ctxl types add

  $ ctxl types add --input-file types.json

ctxl types create

Create type(s).

USAGE
  $ ctxl types create [-C <value>] [-i <value>]

FLAGS
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create type(s).

ALIASES
  $ ctxl types create
  $ ctxl types import

EXAMPLES
  $ ctxl types create

  $ ctxl types create --input-file types.json

ctxl types delete [URI]

Delete a type.

USAGE
  $ ctxl types delete [URI] [-C <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>  type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete a type.

ALIASES
  $ ctxl types rm
  $ ctxl types remove

EXAMPLES
  $ ctxl types delete native-object:my-type

  $ ctxl types delete --type my-type

ctxl types get [URI]

Get a type.

USAGE
  $ ctxl types get [URI] [-C <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>  type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Get a type.

EXAMPLES
  $ ctxl types get native-object:my-type

  $ ctxl types get --type my-type

ctxl types import

Create type(s).

USAGE
  $ ctxl types import [-C <value>] [-i <value>]

FLAGS
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Create type(s).

ALIASES
  $ ctxl types create
  $ ctxl types import

EXAMPLES
  $ ctxl types import

  $ ctxl types import --input-file types.json

ctxl types list

List types.

USAGE
  $ ctxl types list [-C <value>] [-S <value>...] [-e] [-f <value>...] [--include-total] [-o <value>...]
    [--page-size <value>] [--page-token <value>] [-p] [-s <value>...] [-t <value>...]

FLAGS
  -S, --exact-search=<value>...  search fields exactly
  -e, --export                   export data as JSONL
  -f, --from=<value>...          search from
  -o, --order-by=<value>...      order fields
  -p, --progress                 show progress during export
  -s, --search=<value>...        search fields
  -t, --to=<value>...            search to
      --include-total            include total count
      --page-size=<value>        number of types per page
      --page-token=<value>       page token to fetch

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  List types.

ALIASES
  $ ctxl types search

EXAMPLES
  $ ctxl types list

  $ ctxl types list --order-by field1:desc

  $ ctxl types list -s field1=value1 -s field2=value2 --include-total

ctxl types remove [URI]

Delete a type.

USAGE
  $ ctxl types remove [URI] [-C <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>  type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete a type.

ALIASES
  $ ctxl types rm
  $ ctxl types remove

EXAMPLES
  $ ctxl types remove native-object:my-type

  $ ctxl types remove --type my-type

ctxl types replace [URI]

Replace a type.

USAGE
  $ ctxl types replace [URI] [-C <value>] [-i <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>        type
  -i, --input-file=<value>  [default: -] file to read. can read stdin if value is '-'

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Replace a type.

EXAMPLES
  $ ctxl types replace native-object:my-type --input-file record.json

  $ ctxl types replace --type my-type  --input-file record.json

ctxl types rm [URI]

Delete a type.

USAGE
  $ ctxl types rm [URI] [-C <value>] [-T <value>]

ARGUMENTS
  [URI]  uri of type

FLAGS
  -T, --type=<value>  type

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  Delete a type.

ALIASES
  $ ctxl types rm
  $ ctxl types remove

EXAMPLES
  $ ctxl types rm native-object:my-type

  $ ctxl types rm --type my-type

ctxl types search

List types.

USAGE
  $ ctxl types search [-C <value>] [-S <value>...] [-e] [-f <value>...] [--include-total] [-o <value>...]
    [--page-size <value>] [--page-token <value>] [-p] [-s <value>...] [-t <value>...]

FLAGS
  -S, --exact-search=<value>...  search fields exactly
  -e, --export                   export data as JSONL
  -f, --from=<value>...          search from
  -o, --order-by=<value>...      order fields
  -p, --progress                 show progress during export
  -s, --search=<value>...        search fields
  -t, --to=<value>...            search to
      --include-total            include total count
      --page-size=<value>        number of types per page
      --page-token=<value>       page token to fetch

GLOBAL FLAGS
  -C, --config-id=<value>  Specify config id to use for call.

DESCRIPTION
  List types.

ALIASES
  $ ctxl types search

EXAMPLES
  $ ctxl types search

  $ ctxl types search --order-by field1:desc

  $ ctxl types search -s field1=value1 -s field2=value2 --include-total