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

@docyrus/docyrus

v0.0.19

Published

Docyrus API CLI

Readme

@docyrus/docyrus

Docyrus API CLI.

CLI state files are stored under the active .docyrus/ scope.

  • Local default: ./.docyrus/
  • Global override: ~/.docyrus/ via -g / --global

Tenant OpenAPI files are stored under <settings-root>/tenans/<tenantId>/openapi.json. Pi agent state for docyrus agent and docyrus coder is stored under <settings-root>/pi/agent/. docyrus tui requires Bun installed locally.

Installation

npm install -g @docyrus/docyrus

or

pnpm add -g @docyrus/docyrus

Environments

List and switch environments:

docyrus env list
docyrus env use live

Default environments:

  • live -> https://api.docyrus.com
  • beta -> https://beta-api.docyrus.com
  • alpha -> https://alpha-api.docyrus.com
  • dev -> https://localhost:3366

Aliases:

  • prod -> live

Authentication

Login with explicit client ID:

docyrus auth login --clientId "<your-client-id>"

After a successful login, the client ID is saved in ~/.docyrus/config.json and reused by default.

Logout active account:

docyrus auth logout

Help

docyrus
docyrus --help
docyrus env --help
docyrus auth --help
docyrus discover --help
docyrus ds --help
docyrus apps --help
docyrus studio --help
docyrus agent --help
docyrus coder --help
docyrus tui --help

Example Usages

Get current environment and active user/tenant context:

docyrus --json

Switch environment:

docyrus env use beta
docyrus env list --json

Login and inspect current identity:

docyrus auth login --clientId "83a8df32-3738-4b5a-a0c7-87976adb1631"
docyrus auth who --json

List apps:

docyrus apps list --json

Download current tenant OpenAPI spec:

docyrus discover api --json

Discover from downloaded tenant OpenAPI spec:

docyrus discover namespaces --json
docyrus discover path /v1/users --json
docyrus discover endpoint /v1/users/me --json
docyrus discover endpoint [PUT]/v1/users/me/photo --json
docyrus discover entity UserEntity --json
docyrus discover search users,UserEntity --json

Work with accounts and tenants:

docyrus auth accounts list --json
docyrus auth accounts use --userId "<user-id>" --json
docyrus auth tenants list --userId "<user-id>" --json
docyrus auth tenants use "<tenant-id-uuid-or-tenant-no>" --userId "<user-id>" --json

Query data source items:

docyrus ds list base task --columns "id,name,status" --limit 10 --orderBy "created_on desc" --json

Create, update, delete data source items:

docyrus ds create base task --data '{"name":"My Task","status":"open"}' --json
docyrus ds update base task "<record-id>" --data '{"status":"done"}' --json
docyrus ds delete base task "<record-id>" --json

Batch create/update (max 50 items) and file input (--from-file supports .json and .csv):

docyrus ds create base task --data '[{"name":"Task 1"},{"name":"Task 2"}]' --json
docyrus ds update base task --data '[{"id":"1","status":"done"},{"id":"2","status":"open"}]' --json
docyrus ds create base task --from-file ./tasks.csv --json
docyrus ds update base task --from-file ./tasks-update.json --json

Call raw API endpoints via curl command:

docyrus curl /users/me -i --json
docyrus curl /dev/apps --json

Manage dev studio data sources, fields, and enums:

docyrus studio list-data-sources --appSlug base --expand fields --json
docyrus studio get-data-source --appSlug base --dataSourceSlug task --json
docyrus studio create-data-source --appSlug base --title "Tasks" --name "task" --slug "task" --json
docyrus studio update-data-source --appId "<app-id>" --dataSourceId "<data-source-id>" --data '{"title":"Tasks v2"}' --json
docyrus studio delete-data-source --appId "<app-id>" --dataSourceSlug "task" --json
docyrus studio bulk-create-data-sources --appId "<app-id>" --from-file ./data-sources.json --json
docyrus studio list-fields --appSlug base --dataSourceSlug task --json
docyrus studio get-field --appSlug base --dataSourceSlug task --fieldSlug status --json
docyrus studio create-field --appId "<app-id>" --dataSourceId "<data-source-id>" --name "Status" --slug "status" --type "text" --json
docyrus studio update-field --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldId "<field-id>" --data '{"name":"Stage"}' --json
docyrus studio delete-field --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldSlug "status" --json
docyrus studio create-fields-batch --appId "<app-id>" --dataSourceId "<data-source-id>" --data '[{"name":"Priority","slug":"priority","type":"text"}]' --json
docyrus studio update-fields-batch --appId "<app-id>" --dataSourceId "<data-source-id>" --from-file ./fields-update.json --json
docyrus studio delete-fields-batch --appId "<app-id>" --dataSourceId "<data-source-id>" --data '["field-1","field-2"]' --json
docyrus studio list-enums --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldId "<field-id>" --json
docyrus studio create-enums --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldId "<field-id>" --data '[{"name":"Open","sortOrder":1}]' --json
docyrus studio update-enums --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldId "<field-id>" --from-file ./enums-update.json --json
docyrus studio delete-enums --appId "<app-id>" --dataSourceId "<data-source-id>" --fieldId "<field-id>" --data '["enum-1","enum-2"]' --json

Launch the OpenTUI terminal UI (requires Bun):

docyrus tui

Launch the scoped pi assistant and coding agent:

# Interactive TUI
# First interactive launch opens the DOCYRUS onboarding wizard if no provider is configured yet.
docyrus agent
docyrus coder

# Interactive TUI with an initial prompt
docyrus agent "Inspect the active tenant and list apps"
docyrus coder "Add a command to list my team dashboards"

# One-shot mode
docyrus agent --print "Which tenant am I using?"
docyrus coder --print --mode json "Summarize the CLI command surface in this repo"

Inside the interactive agent TUI:

/login   # browser or API-key provider chooser
/logout  # remove saved provider configuration