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

dilnaka-cli

v0.0.2

Published

Command line interface for Dilnaka Cloud — manage projects and connect to your databases without exposing them to the internet.

Readme

Dilnaka Cloud CLI

Command line interface for Dilnaka Cloud. Manage your projects from a terminal and — once the tunnel ships — reach your databases without ever exposing them to the internet.

npm install -g dilnaka-cli
dilnaka login

Or without installing:

npx dilnaka-cli login

Requires Node.js 18.17 or newer. Zero runtime dependencies.

Commands

| Command | What it does | | --- | --- | | dilnaka login | Authenticate this machine (device flow — approve in your browser) | | dilnaka logout | Remove the stored credential from this machine | | dilnaka whoami | Show the account and token this machine uses | | dilnaka status | Show server, session, and linked project | | dilnaka list | List your projects and their services (--json for scripts) | | dilnaka link [project] | Link the current directory to a project |

How login works

The CLI never asks for your password and never asks you to paste a token.

  1. dilnaka login asks the control plane to open a login request and prints a short code such as ABCD-EFGH.
  2. Your browser opens /dashboard/account/tokens with that code prefilled. You are already signed in there, so approving is one click.
  3. The CLI, which has been polling, receives a personal access token and stores it in ~/.dilnaka/config.json with 0600 permissions.

Approval is the only place your identity enters the flow, and it happens in a signed-in browser session. A code on its own grants nothing.

Revocation is immediate. Every request re-checks the token against the server, so revoking one from the dashboard stops that machine on its next command. dilnaka logout only deletes the local copy — to kill a lost laptop's access, revoke the token in the dashboard.

Linking a directory

dilnaka link writes .dilnaka.json next to your code:

{
  "projectId": "clx…",
  "projectName": "commerce-api"
}

It holds no secret, so commit it — a teammate who clones the repo inherits the link. Commands search parent directories for it, the way git finds .git.

Configuration

| Variable | Purpose | | --- | --- | | DILNAKA_API_URL | Point at a different control plane (self-hosted, local dev) | | DILNAKA_TOKEN | Use this token instead of the stored one — for CI | | NO_COLOR | Disable coloured output |

For CI, create a token from Dashboard → Account → CLI Tokens and expose it as DILNAKA_TOKEN. No dilnaka login step is needed.

Development

npm install
npm run build
DILNAKA_API_URL=http://localhost:5090 node dist/index.js status

npm run typecheck type-checks without emitting. The source is TypeScript compiled to ESM; dist/ is what ships.

Roadmap

Shipped here is the identity layer. Next:

  • dilnaka connect <db> — a local port tunnelled to your database, so database ports can stop being open to the internet
  • dilnaka variables / dilnaka run — read service variables, run a command locally against them
  • dilnaka logs -f, dilnaka redeploy
  • dilnaka shell — an interactive shell in a running container
  • dilnaka up — deploy the current directory