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

@inkly-org/cli

v0.11.0

Published

Personalize your Inkly demo agent for the people you send it to — one prospect, or a whole lead list.

Readme

@inkly-org/cli

Send every prospect a demo that already knows who they are.

Inkly is a demo agent: an AI that shows people your product and answers their questions, live. This CLI personalizes that agent for the people you send it to — one prospect, or a whole lead list — and hands you back a link per person.

npm install -g @inkly-org/cli
inkly login
inkly profile create --name "Ada Lovelace" --email [email protected] \
  --context "Evaluating us against Segment. Cares about audit logs."

That prints a URL. When Ada opens it, the agent greets her by name, skips the email form it already has an answer to, and runs the session knowing what she's evaluating and why.


Why bother personalizing

A cold outbound link gets one shot at being relevant. The generic version opens on a welcome screen that asks a stranger for their email before showing them anything, and then demos the same thing it demos for everyone.

The personalized version starts a step ahead:

  • The greeting is hers. Name on the welcome screen, no email gate — you already have it.
  • The agent knows your note. Your private context ("evaluating us against Segment, cares about audit logs") goes into the agent's instructions server-side. It shows her the parts that matter and answers her questions with that in mind.
  • Your note never reaches the browser. The token is re-resolved on the server on every turn. Nothing you write about a prospect is in the page they can view-source.
  • One profile, every demo. A profile is a person, not a demo — the same ?i=<token> works against any demo agent on your account, and re-publishing reaches every link you've already sent.

Personalize a whole lead list

Point it at an export — Apollo, Clay, a sheet somebody kept by hand — and get one link per row:

inkly profile import leads.csv --out leads-with-links.csv
  • Column names are matched loosely. name, or first name + last name, plus email, company, title and notes under their usual aliases. Columns it doesn't recognize ride through to the output file untouched — your lead list is your schema, not ours.
  • --out writes the sheet back with inkly_token and inkly_link columns appended, ready to drop into a sequencer.
  • Re-running is safe. Addresses that already have a profile are skipped, so importing an updated export only creates the new rows.
  • Start with --dry-run. It parses and reports without creating anything, needs no login, and spends nothing.

The sheet is the grounding, so a list with no notes column is refused by default — those links would greet someone by name and then say exactly what an anonymous visitor hears. --allow-thin imports one anyway.


Commands

Run inkly help <command> (or inkly <command> --help) for the full options.

| Command | What it does | |---|---| | inkly login | Connect this machine to your Inkly account. | | inkly logout | Remove saved credentials. | | inkly status [--json] | Show who this machine is signed in as. | | inkly demos [--json] | List your demo agents and where each is live. | | inkly profile create --name <name> | Personalize a demo agent for one prospect. | | inkly profile import <file.csv> | Personalize it for a whole lead list. | | inkly profile list [--json] | List the profiles you've created. | | inkly doctor [--json] | Run local diagnostics. | | inkly version | Print the CLI version. | | inkly update [--dry-run] | Update the global CLI install. |

Every command prints --json on request, so this composes with whatever runs your outbound.


Where demo agents come from

You build them in the app, not here. Sign in at inklyai.dev, point Inkly at your product, and it captures your real screens into a safe, clickable sandbox — no live login, no exposed customer data, no setup. You write the knowledge docs it answers from; it runs the session.

Then it reaches people three ways: a <script> tag on your site, a shareable URL, or — what this CLI is for — a personalized link per contact, with opens tracked back to you.

inkly demos lists what you've built and the slug for each, which is what you pass to --world-slug when a profile should point at a specific one instead of your default.


What Inkly is

Most visitors aren't ready to book a call, and the ones who are arrive at the first call needing the basics explained. A demo agent takes both problems: it engages the moment someone is curious, at any hour, shows them the product, answers the one blocking question a landing page can't hear, and hands you what they asked and explored before the call exists.

It's used for pre-sales, customer onboarding, inbound website conversion, and outbound — the same agent over the same material.

  • A real, clickable product — captured HTML of your actual screens, not screenshots. Visitors can go off-script and it still works.
  • Personalized live — it runs discovery, then builds the session around the answers and around what each person clicks and asks.
  • It answers questions — from knowledge docs you write. If a fact isn't in them, it says so instead of inventing one.
  • Every visit is buyer intelligence — what they asked, what they lingered on, where they hesitated. The questions people ask are the most useful thing in the product.

Free plan, and a 15-day trial with 200 agent credits, no card. Details at inklyai.dev.


Requirements

  • Node.js ≥ 20
  • An Inkly account — sign up

Notes on this release

0.11.0 narrows this package to signing in and personalizing. The demo-authoring commands that used to live here — init, capture, capture-html, dev, validate, publish, merge, relink, lock, sync — have moved into the app, which is where that work happens now. Running one prints where it went. inkly worlds still works as an alias for inkly demos.

The upside is that this is now a single 150 KB file with no dependencies, so a global install resolves nothing and finishes immediately.


Made by Inkly · Support