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

@wiziscool/nevo-cli

v0.3.5

Published

Unofficial TypeScript CLI for Changan Qiyuan (NEVO) vehicle — condition, parking photos, remote control via pure HTTP

Readme

Nevo-CLI

npm version license

Unofficial TypeScript CLI for Changan Qiyuan (NEVO) vehicles. It reads vehicle condition and location, downloads parking photos, and sends explicitly confirmed remote-control commands over HTTP.

Remote control operates a physical vehicle. Nevo-CLI validates controls offline first, requires --yes for execution, and never treats command acceptance as proof of physical state.

Quick start

Requires Node.js 20.19 or newer.

Install from the public npm registry:

npm install --global @wiziscool/nevo-cli
nevo --version

Or build and install from a source checkout:

npm ci
npm run build
cp .env.example .env
# Set NEVO_PHONE and NEVO_PASSWORD in .env.

node dist/index.js auth login --phone <phone> --password-stdin
node dist/index.js --json vehicle condition
node dist/index.js --json vehicle location
npm install --global .

Agent-friendly interface

Use global --json for one stable result object on stdout. Failures produce one error object on stderr and a nonzero exit status.

nevo --json auth status
nevo --json vehicle condition --refresh
nevo --json vehicle parking --no-download

# Real controls: validate without side effects, then execute once confirmed.
nevo --json vehicle control lock --dry-run
nevo --json vehicle control lock --yes
nevo --json vehicle condition --refresh

Sensitive defaults are deliberately redacted: token is a hidden compatibility alias for auth status; vehicle list omits plate/VIN/carId, and vehicle condition --json returns the mapped summary. Raw condition data and vehicle identifiers require explicit --raw or --show-identifiers.

Install the bundled skill without GitHub credentials or network access:

nevo --json skill install --agent codex
# Also supported: claude, copilot, hermes, generic

Main commands

  • auth login [--phone <phone>] [--password-stdin|--password-env <name>|--password-file <path>], auth status, auth logout — local authentication lifecycle
  • vehicle status, vehicle condition, vehicle location, vehicle list — safe vehicle reads
  • vehicle parking — parking duration and four-direction photos
  • vehicle control unlock|lock|ac|window|seekcar — confirmed real-vehicle controls
  • update check, update install --yes — self-update from public GitHub Releases (no token required)
  • skill install (skill sync alias) — offline Agent Skill installation

Run nevo <command> --help for exact options and validation ranges.

Shell completion

Enable tab completion for bash, zsh, or fish (scripts call the CLI at runtime, so they never go stale):

# bash
eval "$(nevo completion bash)"
# zsh
eval "$(nevo completion zsh)"
# fish
nevo completion fish | source

One command installs it permanently into your shell config (idempotent):

nevo completion --install        # auto-detects bash/zsh/fish from $SHELL
# or explicitly: nevo completion --install zsh

Or generate and eval manually:

# bash
eval "$(nevo completion bash)"
# zsh
eval "$(nevo completion zsh)"
# fish
nevo completion fish | source
``` `nevo help <command...>` resolves nested paths (for example `nevo help vehicle list`), including aliases.

## Self-update

The CLI updates itself from public GitHub Releases, so no GitHub or npm token
is needed:

```bash
nevo update check       # compare versions (read-only)
nevo update install --yes  # download, verify digest, replace the global package

Releases are published to the public npm registry (@wiziscool/nevo-cli) by GitHub Actions using npm Trusted Publishing (OIDC) with build provenance.

Quality and documentation

npm run check          # lint + strict typecheck + coverage gates + build
npm audit

Credentials and local sessions are never committed. Public/static application protocol constants are documented separately from user secrets.

License

MIT