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

interviewer-cue

v0.2.1

Published

Terminal interview cue assistant with Granola transcript integration.

Readme

Interviewer Cue

Interviewer Cue is a terminal assistant for live interviews. It watches a transcript source, keeps an interview session in local config, and helps generate targeted follow-up questions while the interview is running.

Install

npm install -g interviewer-cue
interviewer-cue

Requirements:

  • Node.js 20 or newer
  • Granola installed and signed in when using the Granola transcript source
  • API keys configured in the app for the model providers you use

Commands

interviewer-cue
interviewer-cue --no-update-check
interviewer-cue update
interviewer-cue granola decrypt-cache
interviewer-cue granola watch-cache
interviewer-cue simulate-transcript

interviewer-cue launches the Ink app. Granola-specific cache tools live under the granola provider namespace because they inspect or watch Granola local cache files directly. interviewer-cue simulate-transcript decrypts the local Granola cache, lets you choose a recent transcript, and replays it in transcript-time steps for fast AI response testing.

Updates

On launch, Interviewer Cue checks https://registry.npmjs.org/interviewer-cue/latest before entering the full-screen terminal UI. If a newer npm version is available, it prompts before updating with the package manager that installed the active CLI:

npm install -g interviewer-cue@latest
pnpm add -g interviewer-cue@latest
yarn global add interviewer-cue@latest

After a successful update, restart interviewer-cue.

Skip the launch-time check with either escape hatch:

interviewer-cue --no-update-check
INTERVIEWER_CUE_SKIP_UPDATE=1 interviewer-cue

Run a manual check any time:

interviewer-cue update

Granola Setup

The default Granola cache directory is:

~/Library/Application Support/Granola

Use the cache commands when troubleshooting transcript access:

interviewer-cue granola decrypt-cache --summary
interviewer-cue granola decrypt-cache --json
interviewer-cue granola decrypt-cache --transcript <documentId>
interviewer-cue granola watch-cache --changes-only

Both commands accept:

--granola-dir <path>
--keychain-service <name>
--keychain-account <name>

Config Paths

Interviewer Cue stores user-facing settings under interviewer-cue.

macOS:

~/Library/Application Support/interviewer-cue/app-settings.json
~/Library/Application Support/interviewer-cue/interview-types.json
~/Library/Application Support/interviewer-cue/interview-sessions.json

Linux and other non-macOS platforms:

$XDG_CONFIG_HOME/interviewer-cue/app-settings.json
$XDG_CONFIG_HOME/interviewer-cue/interview-types.json
$XDG_CONFIG_HOME/interviewer-cue/interview-sessions.json

If XDG_CONFIG_HOME is not set, Interviewer Cue uses ~/.config/interviewer-cue for settings.

Runtime logs are append-only JSONL entries saved in this repository under logs/. Entries with an interview sessionId are written to logs/interviews/<session-id>.log.jsonl; non-session entries use logs/interviewer-cue.log.jsonl. Logs include transcript watch lifecycle, live-generation scheduling, AI API call start/success/failure, status, model, duration, request id, and count metadata. They intentionally omit raw API keys, prompts, resume text, and transcript text.

Troubleshooting

  • If launch hangs before the UI appears, run with --no-update-check and try interviewer-cue update separately.
  • If Granola transcripts are missing, run interviewer-cue granola decrypt-cache --summary to confirm the local cache can be read.
  • If model calls fail, open the app settings and confirm the relevant provider API key is configured.
  • If the app stalls midway through an interview, inspect that interview's file under logs/interviews/ and follow a shared requestId across live_generation.* and ai.api_call.* events.

Release Checklist

The release script publishes to npm from the local machine. It bumps package.json, refreshes the lockfile, runs the release checks, commits the version bump, creates an annotated vX.Y.Z tag, and runs npm publish.

One-time setup:

  1. Confirm the local npm account has publish access to interviewer-cue.
  2. Run npm login if the local machine is not already authenticated.

Preview the release plan:

pnpm release:dry-run

Cut and deploy a patch release:

pnpm release:patch

If npm requires a one-time password for publishing, pass the current authenticator code through to npm publish:

pnpm release:patch -- --otp 123456

Use pnpm release:minor or pnpm release:major for larger bumps. For an exact version, run:

pnpm release -- 1.2.3

To push the release commit and tag after publishing, pass --push:

pnpm release:patch -- --push

Before publishing to npm, the script runs:

pnpm test
pnpm typecheck
pnpm build
pnpm pack:dry-run

The dry-run pack output should include dist, README.md, LICENSE, and package.json.

If the release fails at npm publish, the version commit and annotated tag have already been created locally. Do not rerun the full release command for the same version; fix npm authentication, then publish from the existing release commit:

npm publish --otp 123456