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

@frequencyads/adstudio-cli

v0.1.3

Published

Adstudio command-line interface, built on @frequencyads/cli-library

Readme

adstudio-cli

Adstudio command-line interface, built on @frequencyads/cli-library.

Install

npm install -g @frequencyads/adstudio-cli
# or
pnpm add -g @frequencyads/adstudio-cli

Requires Node >=18.

Verify

which adstudio
adstudio --help

Upgrade

npm update -g @frequencyads/adstudio-cli

Local development

If you're hacking on the CLI itself:

git clone https://github.com/FrequencyAds/adstudio-cli.git
cd adstudio-cli
pnpm install
pnpm build
sudo npm link        # global symlink to your working copy

Usage

# Landing page (no args, shows status + hints)
adstudio

# See every command + subcommand
adstudio --help
adstudio <group> --help          # e.g. adstudio production --help

Session

adstudio login                                                   # interactive
adstudio login --email [email protected] --api-url http://localhost:3333
adstudio --json login --email [email protected] --password '...'          # non-interactive
adstudio whoami
adstudio logout

Tenant

adstudio tenant list                # tenants you can access
adstudio tenant current             # active tenant on the server
adstudio tenant use <id>            # switch active tenant

Campaign / flight / brand / user

adstudio campaign list                  # auto-uses hasSuperAdmin if you're admin
adstudio campaign list --mine-only      # force the user_role-joined query
adstudio campaign list --search foo --per-page 50
adstudio campaign get <id>
adstudio campaign delete <id>

adstudio flight list --campaign <id>    # --campaign or --show required
adstudio flight list --show <id>
adstudio flight get <id>

adstudio brand list
adstudio brand get <id>
adstudio brand create --name "Acme" --website https://acme.com

adstudio user me
adstudio user list

Applications (ad units)

adstudio application list --campaign <id>
adstudio application list --flight <id>
adstudio application get <id>
adstudio application drafts <id>           # list drafts
adstudio application release <id>          # current release
adstudio application delete <id>

Production requests

adstudio production list                       # all in active tenant
adstudio production list --campaign <id>
adstudio production list --flight <id>
adstudio production get <id>
adstudio production timeline <id>              # comments + events
adstudio production comment <id> --text "lgtm"
adstudio production set-due-date <id> --date 2026-06-01

adstudio production-schedule get <projectId>

Vetting

adstudio vetting list                          # all in active tenant
adstudio vetting get <id>
adstudio vetting by-show <showId>              # brand-vetting requests for a show
adstudio vetting by-brand <brandId>            # last request for a brand

Distribution

adstudio distribution list
adstudio distribution get <id>
adstudio distribution delete <id>
adstudio distribution ips                      # all IP allocations
adstudio distribution ips --campaign <id>      # scoped to a campaign

Concepts

adstudio concept list
adstudio concept get <id>
adstudio concept products
adstudio concept verticals

Networks

adstudio network get <id>
adstudio network by-type <type>                # e.g. 'podcast', 'streaming'

Playlists

adstudio playlist for-app <appId>              # playlists on an application
adstudio playlist tracks <playlistId>          # tracks in a playlist
adstudio playlist vendor                       # vendor-supplied playlists

Multimedia

adstudio multimedia upload-url <kind>          # kind = video|video-v2|audio|image|document|private-document|text
adstudio multimedia video <key>                # video metadata by key
adstudio multimedia transcoding-job <id> <draftId> [--campaign]
adstudio multimedia fonts                      # list available fonts

Asset library

adstudio asset files                           # all asset files in tenant
adstudio asset files --campaign <id>           # files for a campaign
adstudio asset file <id>
adstudio asset delete-file <id>
adstudio asset projects                        # list asset projects
adstudio asset project <id>
adstudio asset project-count

Templates

adstudio template list
adstudio template get <id>
adstudio template categories
adstudio template category <id>

Dynamic audio

adstudio dynamic-audio rules <appId>                       # rules for an application
adstudio dynamic-audio draft-rules <draftId>               # rules for a draft
adstudio dynamic-audio signals                             # all signals
adstudio dynamic-audio draft-signals <draftId>             # signals on a draft
adstudio dynamic-audio segments <appId> <draftId>          # mixer segments

Config

adstudio config show
adstudio config set-api-url http://localhost:3333
adstudio config use <profile>                  # switch profile

JSON mode (for scripts / AI agents)

Global --json flag suppresses the spinner, chalk colors, and logger output. Every command emits the raw API response as JSON to stdout; errors come back as {"error": "..."} on stderr with exit code 1.

adstudio --json whoami | jq '.isAdmin'
adstudio --json campaign list --per-page 50 | jq '.rows[].id'
adstudio --json flight list --campaign 12345 | jq '.[] | {id, name}'
adstudio --json production list --campaign 12345 | jq '.[] | select(.status=="awaiting_approval")'
adstudio --json template list | jq '.[].name'
adstudio --json login --email [email protected] --password '...'   # non-interactive

Coverage

19 of the ~36 backend modules under src/www/modules/ are surfaced. Wired so far:

| Group | Subcommands | |---|---| | login / logout / whoami | session lifecycle | | tenant | list, current, use | | config | show, set-api-url, use | | campaign | list, get, delete | | flight | list, get | | brand | list, get, create | | user | me, list | | application | list, get, drafts, release, delete | | production | list, get, timeline, comment, set-due-date | | production-schedule | get | | vetting | list, get, by-show, by-brand | | distribution | list, get, delete, ips | | concept | list, get, products, verticals | | network | get, by-type | | playlist | for-app, tracks, vendor | | multimedia | upload-url, video, transcoding-job, fonts | | asset (assetlibrary) | files, file, delete-file, projects, project, project-count | | template | list, get, categories, category | | dynamic-audio | rules, draft-rules, signals, draft-signals, segments |

Storage

Config + session cookies live in ~/.adstudio/config.json (mode 0600). Delete the file to fully reset.