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

@vecteur/cli

v0.7.1

Published

The Vecteur command line — one login, the same product as the web app, from any directory.

Readme

Vecteur CLI

One command line for Vecteur's public API. Sign in through your browser, then use the same Projects and run records as the web app. The client stores your credential locally; it never calls the OPE, engine or database directly.

npm install -g @vecteur/cli
vecteur login
vecteur whoami
vecteur project list
vecteur project create 'Transfer study'
vecteur project use 'Transfer study'
vecteur project get PROJECT_ID --json
vecteur run submit --ask 'GTO to GEO transfer'
vecteur run get RUN_ID --json
vecteur run events RUN_ID --json
vecteur artifact get sha256:ARTIFACT_DIGEST --output report.docx
vecteur logout

Use vecteur login --origin URL for another deployment. For automation, supply a Project PAT through VECTEUR_TOKEN and its origin through VECTEUR_BASE_URL; never pass a token on argv. --help and --version work without signing in.

project list shows authorized Projects and the server's Organization-wide active Project allowance. project create NAME --workspace NAME_OR_ID chooses among multiple Workspaces; one Workspace is implicit. Names must match exactly and uniquely, or use an id. Quota refusals show the server's reason and recovery links.

project use NAME_OR_ID saves the selected id beside the login for that origin. run submit checks this selection against the live authorized list each time; --project ID overrides it. With VECTEUR_TOKEN, runs require --project ID and project use requires a persistent login. Project PATs retain their server-defined scope; listing and creating Projects require an account login. project list --json preserves {projects, active_projects, selected_project_id}.

run submit continues the Project's conversation: it reads the Project's current head (the newest Run's state_hash) and submits the next turn on it, so two submits in a row are two turns of one study, exactly as in the web app. A new Project's first turn has no head. --parent STATE_HASH skips the read and admits the turn only if that hash is still the head. The CLI never forks a Project and never retries: a moved head exits state_fork naming the current head, and a Project whose Run is still open exits state_busy naming that Run (and, when it waits on a question, the web address where it can be answered). Nothing is admitted in either case. Once a turn is admitted, any later failure names the Run: check it with vecteur run get RUN_ID instead of submitting again, which would start another turn. Start a fresh study with vecteur project create.

run events validates dense SSE sequence and returns the canonical direct record only when its embedded events match the stream. Redirects, secret-shaped responses, malformed responses and timeouts fail nonzero. --json sorts object keys for deterministic machine output.

Human run output shows the sealed synthesis, input origins, artifact download commands, the typed terminal cause/recovery, and—after run submit—the selected Project's UTC-month customer cost using the server's display strings. Machine run output remains the unchanged canonical record. Artifact downloads use the Project-scoped admitted CAS route, verify the declared length, media type and SHA-256, and refuse to overwrite a local path. Use --project ID when no Project is selected.

vecteur mcp serves MCP over stdio using the same credentials and public client. It exposes vecteur_project_get, vecteur_run_submit, vecteur_run_get and vecteur_run_events. An MCP host supplies tool arguments; stdout carries only MCP protocol.