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

@termiq/cli

v3.16.0

Published

Run Claude Code, Gemini CLI, or any shell over SSH/CI and control it from your phone — push on done/waiting/error, answer Y/n from the notification. End-to-end encrypted.

Readme

@termiq/cli

Run Claude Code, Gemini CLI, Cursor, or any shell over SSH or in CI — then walk away. TermIQ streams the session to your phone at termiq.io, pushes you the moment it finishes or stops to ask, and lets you answer Y/n right from the notification. Your machine does the work; your phone keeps you in control.

End-to-end encrypted — the TermIQ server is a blind relay that streams your output, never stores it.

Why the CLI

The headless half of a long-running task is exactly where you can't sit and watch — a remote box over SSH, a CI runner, an unattended host. Start the work, leave, and let TermIQ tell you when it needs you:

  • Push the moment it matters — get notified when a task completes, is waiting for a confirmation, or hits an error, even with your phone in your pocket.
  • Answer from the notification — approve a Y/n prompt without opening anything; the answer goes straight to the terminal.
  • Reliable input — what you type from your phone reaches the terminal in order, even on a flaky mobile connection.
  • Real-time sync — output streams to your phone with sub-second latency and reconnects on its own when the network changes.
  • End-to-end encryption — terminal content is encrypted on your devices (XSalsa20-Poly1305); the server relays encrypted bytes it can't read. Streamed, never stored.

Works with Claude Code, Gemini CLI, Cursor, and any other terminal program — TermIQ mirrors whatever runs in the shell, so there's nothing AI-specific to configure.

Install

Requires Node.js 18+ and a free TermIQ account.

npm i -g @termiq/cli

The installed binary is termiq.

Usage

termiq                    # Start: spawn a shell + connect to termiq.io
termiq login              # Authenticate via browser (Device Code Flow)
termiq login --token KEY  # Authenticate with an API key
termiq logout             # Clear stored credentials
termiq status             # Show current authentication state
termiq --help             # Show help

termiq spawns a new shell in your current terminal and connects it to termiq.io. Open termiq.io on your phone to watch and drive the session live. End the shell with exit or Ctrl+D to disconnect. (Running termiq inside an existing session is blocked so you don't nest by accident — pass --force to override.)

Headless / CI / SSH

For unattended hosts and pipelines, authenticate with an API key. Create one at termiq.io/settings/api-keys (keys are prefixed tiq_), then either log in with it:

termiq login --token tiq_your_api_key

…or provide it through the environment — equivalent to --token, and convenient for CI:

export TERMIQ_TOKEN=tiq_your_api_key
termiq

Check the connection with termiq status; sign out with termiq logout.

Flags

| Flag | Description | |-------------------|---------------------------------------------------------------------| | --server URL | Override the server URL (default: https://termiq.io) | | --token KEY | API key for headless login | | --watch, -w | Enable the file watcher (off by default; respects .gitignore) | | --statusline | Show a tmux-style status bar in the local terminal (off by default) | | --verbose, -v | Verbose logging to stderr | | --log-level L | Log verbosity: silent | error | warn | info | debug | | --log-to-file | Write logs to ~/.termiq/logs/cli.log | | --force | Start even when already inside a TermIQ session (nested run) | | --version, -V | Print version and exit |

On your phone

Open termiq.io in your mobile browser, sign in with the same account, and add it to your home screen to install the PWA and enable push (iOS 16.4+ / Android). Set Quiet Hours to silence notifications overnight. With --watch on, the app also shows which files your session touched (respecting .gitignore), so you can follow along without opening an editor.

Configuration

Configuration and credentials live in ~/.termiq/:

  • config.json — server URL and agent name
  • credentials — authentication tokens (stored with chmod 0600)
  • logs/cli.log — log file (written when --log-to-file is set)

Command-line flags override values from config.json.

Plan

Free forever — 1 agent and 2 terminals, no credit card required.

Links