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

@corvio/cli

v0.1.0-beta.45

Published

Official Corvio Workspace CLI for questions, knowledge search, documents, and Agent workflows.

Readme

Corvio Workspace CLI

Official CLI for a user's Corvio Workspace. It supports an existing CORVIO_API_KEY and a browser device-link login. In a connected host, use the accompanying corvio-operate-workspace Skill so every non-trivial task begins with a lightweight Corvio grounding check.

npm install --global @corvio/cli@beta
export CORVIO_API_KEY='cvu_...'
corvio auth status
corvio agents connect --provider codex --project . --json
corvio collaboration status --json --no-input
corvio ask --prompt 'Summarize recurring launch risks' --json
corvio ask --background --prompt 'Reconcile the current launch evidence' --json
corvio questions operation <operation_id> --after-cursor <progress_cursor> --wait-until-terminal --json
corvio questions cancel <operation_id> --yes --json
corvio files upload --file ./research.pdf --json
corvio files get <asset_id> --content --json
corvio files organize <asset_id> --instruction 'Create a reusable decision brief' --yes --wait-until-terminal --timeout-seconds 1200 --json
corvio files operation <operation_id> --wait-until-terminal --timeout-seconds 1200 --json
corvio files resume <operation_id> --yes --wait-until-terminal --timeout-seconds 1200 --json
corvio docs read <workspace_id/document_id> --mode auto --json
corvio docs patch <workspace_id/document_id> --input ./patch.json --operation-id <id> --yes --json
corvio docs table-read <workspace_id/document_id> --limit 25 --json
corvio docs table-mutate <workspace_id/document_id> --input ./table-change.json --change-summary 'Updated owner and due date' --yes --json
corvio sync init --dir ./knowledge --root-node-id <node_id> --json
corvio update check --json

When no environment key is configured, run corvio auth login. Login creates one user-level cvu_ control-plane credential; it does not freeze the browser's current Workspace. Run corvio agents connect --project . from the project you want to expose. The command verifies the selected Codex, Claude Code, or Copilot host before server mutation, then idempotently creates or restores the Agent for that provider/device/project binding, grants current/future Workspace coverage under live membership/role and ACL limits, saves the one-time cvg_ in a 0600 multi-binding registry, and installs that project's listener under the current user's systemd or launchd service manager. auto falls back to a detached listener only when neither manager is available; --listener-mode managed instead fails closed, and --listener-mode detached is an explicit session-scoped compatibility choice. corvio collaboration status then checks local foreground prerequisites and reports package freshness, contract compatibility, installation ownership, exact listener supervision, every discoverable Skill copy, and the fact that host loading is not observable. A local comment listener receives inbound @Agent work; it does not make an unrelated foreground coding session collaborate automatically. Another project gets another Agent. Ordinary data commands prefer the binding whose root contains the current directory, then a locally confirmed selection, the account selection, the personal default, or one authorized candidate. They ask only on real ambiguity. Use corvio workspaces use, --workspace, and --agent as explicit routing/reproducibility controls. Legacy Workspace-bound cvk_, cvg_, and version-1 credential files remain compatible and are never widened. Local sync stores only credential-free handles and revision/hash baselines in .corvio/state.json; Markdown lives below corvio_docs/, and conflicts require explicit resolution. corvio capabilities reads only Corvio API capability and compatibility facts, so discovery remains usable in hosts that deny npm registry access. corvio update check is the explicit registry-backed version check; it never self-installs. See the Corvio CLI guide for the full command and receipt contract.

CLI and Skill updates are independent. corvio update check checks the CLI package only. corvio collaboration status detects a missing, incompatible, compatible-but-not-current, or conflicting local Skill, but never mutates host directories. Non-current receipts include one compact Agent notice and a source-aware action; current copies stay quiet. For standalone Skill refreshes, the command pins the verified installer, selects exactly one provider, preserves project/global scope, and returns a verification command. Use corvio collaboration status --provider workbuddy --json --no-input to inspect WorkBuddy's manual copy at ~/.workbuddy/skills/corvio-operate-workspace/; this does not prove which bytes a running WorkBuddy conversation loaded. The canonical website ZIP is a static local copy and is not update-tracked by npx skills update; reinstall from the same source and scope, then start a fresh host session. Until a reviewed WorkBuddy marketplace listing is live, a WorkBuddy upload is an unmanaged manual install and cannot auto-update from Corvio. Remote MCP changes are server-delivered and normally need only a refreshed host session unless new OAuth scopes require reauthorization.

The CLI rejects unknown/duplicate options and malformed integer bounds before network access. Normal API calls have a bounded timeout (CORVIO_REQUEST_TIMEOUT_MS, maximum ten minutes); only reads, explicit idempotency contracts, revision guards, and other owner-declared safe operations retry automatically. Document commands accept both bare document IDs and canonical workspace_id/document_id handles; a canonical handle that disagrees with the selected Workspace fails before remote access, and successful reads return canonical_id for direct reuse. docs read --mode auto returns a complete small Page or a large-Page overview, then supports exact section, line-range, literal-search, and full projections. docs patch applies 1–20 exact non-overlapping L# replacements at the fetched revision and returns a compact readback instead of replaying untouched content. docs get --output keeps compatibility full-body download but omits the body from stdout; create/update request compact mutation receipts. Document updates preflight only a bounded overview for the current revision when --expected-revision is omitted. docs table-read returns a bounded stable-ID projection; docs table-mutate accepts a JSON payload for at most 50 cell updates or row appends and requires the fetched revision, while formulas, styles, structure, sorting, and semantic transformations remain corvio ask --allow-actions work. When the executing principal is a connected Agent, document and table mutations also require --change-summary, create a visible document-level comment after the guarded update, and return its receipt; a comment failure is reported as a partial effect rather than silent success. When a Corvio document or comment supplied the task, use corvio agent closeout to return the verified outcome, optionally resolve the thread, and read both document and thread back. Downloads, uploads, and Markdown pulls verify SHA-256 receipts before replacing local files; local writes are atomic, remote default filenames cannot escape the current directory, and Sync refuses symbolic-link traversal while checkpointing each successful push.

For corvio ask, keep the user's natural question unchanged, then append the smallest complete decision-relevant context or stable handles as a separate clause. A carried Project handle normally bounds a cross-branch question without enumerating all descendants. Handles are evidence addresses: do not invent a comparison rubric, prescribe reasoning steps, substitute another user objective, or turn current Tree labels into a detailed task plan. Unless the user chose them, do not invent taxonomy, titles, artifact counts, or Corvio's internal plan. In a bounded read-only continuation, use corvio ask --workspace <workspace_id> --prompt "<unchanged question; Context: project handle>" --json --no-input when a trusted current-task or prior receipt already proves this authenticated CLI and exact Workspace. Answer-only is the default: omit --allow-actions; the CLI has no --mode option. Start the command once; do not launch an identical Question concurrently or retry before terminal exit. The command returns the terminal Question without model-visible polling. Transport continuity does not prove a cheaper processing profile; leave profile selection on auto unless the unresolved semantic bottleneck independently justifies another profile. Do not install, probe, or switch to the CLI only for that optimization, and do not extend it to an unbound Workspace. Read the terminal Question receipt and use artifact.url or links.primary_artifact verbatim; reader_output artifacts are deliverables, structure_container artifacts are hierarchy, and node_id is never a document URL.

For a Question that may outlive one host turn, add --background. The command returns one durable operation_id immediately. Continue that same operation with corvio questions operation; --wait-until-terminal keeps the status loop inside the CLI, while --after-cursor returns only later user-visible milestones. A local deadline is not remote cancellation. Use corvio questions cancel <operation_id> --yes to request a stop, and do not report success until the returned state is actually cancelled. Progress is a bounded phase summary, never hidden reasoning or a provisional final answer. To correct the objective, finish or cancel the current operation and start a successor corvio ask --conversation-id <conversation_id> rather than silently replacing it.

Treat files as a value ladder, not one upload event. Upload/finalize preserves the exact original, provenance, hash, policy, and stable Asset ID. A selected Markdown file can become an editable Page through corvio docs create --file; for other formats or a coherent source set, use corvio files organize or corvio ask --allow-actions to produce the reader-facing Page, Spreadsheet, Presentation, Code, HTML Artifact, or reading layer that fits the task. Stable facts/preferences may enter Memory; only an evidence-backed reusable method, configuration, constraint, or quality bar should become a Project Skill.

Use corvio files get <asset_id> --content when the task needs only bounded facts from one retained source. The response preserves the immutable original as authority, reports its source hash and whether the projection is complete or truncated, and does not create a Question or materialize another document. Never infer unseen workbook rows/sheets or document sections.

File organization is asynchronous. A queued organization receipt is progress, not completion. When this authenticated CLI is already the natural transport, --wait-until-terminal keeps deterministic status reads inside one foreground process; --timeout-seconds is a bounded local deadline, and expiry returns the latest non-terminal receipt with transport_wait.status=deadline_reached. Without that flag, corvio files operation <operation_id> remains one immediate read. Blocked operations expose their typed error and can be continued with corvio files resume <operation_id> --yes; queued/running/blocked operations can be stopped with corvio files cancel <operation_id> --yes. Report completion only after the terminal receipt exposes the output document, source reconciliation, Skill evaluation, and durable links. skills_extraction_mode=always requires the evaluation; evaluated_no_qualifying_skill is a valid terminal result and is preferable to a fabricated Skill.

Project Agent collaboration

Connect the current project with the user credential. User and Agent credentials stay deliberately separate, and the secret is never printed, written into the project, or passed to the provider:

corvio agents connect --provider codex --project . --json

Without --display-name, connect derives a provider-aware project name from the authenticated user, such as Ada Codex · billing-service; Settings remains the rename owner. The receipt distinguishes Configured, CLI Ready, Listening, Offline, and Foreground collaboration ready, and includes the stable Agent, opaque project binding, Workspace scope, host permission/trigger policy, Skill status, and Settings link. The default workspace_write profile uses the provider's native sandbox. owner_only is the safe trigger default. Allowing Workspace members to invoke the local project or granting unrestricted host access requires explicit --yes.

The listener first runs a read-only provider planning pass, then asks Corvio Query for exact origin-document and collaboration context. local_project work runs inside the bound project; online document writes remain Query/Writer-owned. The provider consumes the Query result before replying, and completion records exact event/lease/question/comment lineage plus provider, project fingerprint, claimed files/checks, and observed Git working-tree state. A custom handler remains available for advanced adapters:

The Codex adapter requires an existing saved codex login session. It selects Codex's built-in authenticated provider and applies a secret-filtered core shell environment to model-run project commands; it does not forward environment-only custom-provider keys as an unattended fallback. Claude Code and Copilot use their own saved authentication and native permission modes. Provider capability summaries are observable facts, not a claim that all three hosts enforce identical sandboxes.

{"instruction":"Inspect the mentioned section and correct unsupported claims.","reply":"Reviewed and updated the section."}

The Runner renews the mailbox lease, binds Query to the exact event and source document, posts the only visible reply under the explicitly mentioned Agent's own name/provider avatar, and completes only with durable Query/comment/runtime receipts. Inbound comment runs cannot search another Workspace through the owner's account Agent. Neither CORVIO_API_KEY nor CORVIO_AGENT_API_KEY is passed to the provider/handler, and runtime commands never fall back across Agent principals. The project path stays only in the local registry; Corvio stores its opaque fingerprint and capability summary.

Runner replies are causally bound to the claimed event and are idempotent across network retries. Corvio stops repeated Agent routes and enforces bounded hop, chain-event, and per-comment target budgets; a stopped handoff remains visible as “Needs attention” but is not claimable. For a deliberate standalone Agent-to-Agent request, use corvio agent comment ... --start-new-chain. Manual replies may instead pass --source-event-id with --source-event-lease-token; source and new-chain modes must not be mixed.

If a laptop sleeps, loses network, or stops the Runner, events remain pending or become reclaimable after lease expiry. Corvio does not claim to power on an offline device. On Linux and macOS, the default user service restarts a crashed listener and starts it again when that user's service manager returns; Linux also applies bounded restart and memory policy to the listener/provider subtree. It does not bypass login, sleep, shutdown, provider authentication, or an administrator-disabled user service. Re-run agents connect --listener-mode managed to reconcile the same service, or pause/revoke the Agent in Settings when it should stop receiving new mentions. --no-listen is an explicit diagnostic override and returns an honest Offline receipt.

Publish already-authored source bundles

corvio files publish --manifest ./corvio-publication.json --operation-key <stable-operation> --wait-until-terminal --timeout-seconds 600 --json --no-input packages selected relative files, retains one private ZIP, and publishes declared Pages/images through canonical Workspace transactions. The manifest fixes namespace, source keys, regions, hierarchy and carrier; no model retypes source bytes.

Use files publication-contract for the exact schema, files bundle --manifest <path> --output <zip> to package offline, or files publish --source-asset-id <workspace_uuid/asset_uuid> --operation-key <key> for a retained bundle. Read files publication <workspace_uuid/operation_uuid> --detail full for the complete ledger. An interrupted operation resumes with the same key; different source bytes require a new operation. Human edits return region conflicts, and merges require the current Block hashes. Static HTML uses the existing immutable HTML Artifact builder and rejects executable source. New Pages/images default to private.

Compact receipts include caller-declared entry Pages in source order. Use files publication <handle> --page-keys <key,key> --image-keys <key,key> for selected evidence, or --detail full for the entire inventory. Confirmed counts and the source hash prove the closed publication at its recorded revisions; current human edits require current Page reads.