@island-pitch/nextwave-cli
v0.1.0
Published
NextWave Platform CLI (nwp) — manage members, tiers, benefits, redemptions, NFC cards, and the live Emcee Controller from your terminal or an agent loop, over the nwp/v1 REST API.
Maintainers
Readme
@island-pitch/nextwave-cli (nwp)
Manage the NextWave Platform WordPress plugin from your
terminal or an agent loop — members, tiers, benefits, redemptions, NFC cards,
venues, and the live Emcee Controller — over the nwp/v1 REST API. Every command
supports --output json for machine consumption.
Install
# one-off / CI
npx @island-pitch/nextwave-cli <command>
# or install globally
npm i -g @island-pitch/nextwave-cliRequires Node ≥ 18 (uses native fetch).
Prerequisite: an Application Password
NextWave is self-hosted — you connect to your own WordPress site. Create a
WordPress Application Password at WP Admin → Users → Profile → Application
Passwords. Every action is gated by that user's nwp_* capabilities.
Get connected
nwp configure # interactive: saves a profile to ~/.nextwave/config.json
nwp doctor # diagnose site, REST API, plugin, auth, capabilities
nwp whoami --output jsonFor agents/CI, set environment variables instead:
export WORDPRESS_SITE_URL=https://members.example.com
export [email protected]
export WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx"Config precedence: flags → env vars → ~/.nextwave/config.json profile
(selected by --profile, NWP_PROFILE, or the file's default).
| Variable | Purpose |
| --- | --- |
| WORDPRESS_SITE_URL | Site base URL; the CLI appends /wp-json/nwp/v1 |
| WORDPRESS_USERNAME | The user the Application Password belongs to |
| WORDPRESS_APP_PASSWORD | The Application Password (keep the spaces; quote it) |
| NWP_PROFILE | Named profile to use |
| NODE_TLS_REJECT_UNAUTHORIZED=0 | Local self-signed certs only (--insecure) |
Commands
nwp <resource> <action> [args] [--flags] [--output json]Resource groups: members, tiers, benefits, venues, redemptions,
nfc-cards, campaigns, event-signups, signup-lists, landing-pages,
renewal-config, renewal-logs, emcee, wyr, caption-clash, ask-speaker,
settings, feature-flags, license, system, cron, provision. Run
nwp <resource> --help for actions.
Typical agent flow
nwp members create --first-name Grace --last-name Hopper \
--email [email protected] --tier-id 2 --output json
nwp nfc-cards assign 12 --member-id 42 --output json
nwp redemptions create --member-id 42 --benefit-id 7 --venue-id 3 --output jsonExit codes
| Exit | Meaning |
| --- | --- |
| 0 | Success |
| 1 | Unexpected error (crash, usage, transport/network, 5xx) |
| 2 | Not found (404) |
| 3 | Structured domain failure (403 forbidden, validation, feature disabled) |
| 4 | Authentication failure (401 — bad/missing Application Password) |
Machine-readable errors
With --output json, failures print to stdout as:
{ "ok": false, "error": { "code": "rest_forbidden", "message": "…", "status": 403, "exit": 3 } }Full reference & troubleshooting: https://nextwave.ing/docs
License
UNLICENSED — proprietary to Island Pitch, LLC. See LICENSE.
