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

terminalreplay

v1.0.0

Published

Screen recording for developers — but terminal-native.

Readme

terminalreplay

Screen recording for developers — but terminal-native.

terminalreplay records live terminal sessions, preserves timing and ANSI output, replays them interactively, and exports polished artifacts for tutorials, onboarding, demos, bug reports, and README storytelling.

npx terminalreplay record
npx terminalreplay replay session.tr --cinematic
npx terminalreplay export session.tr --html
npx terminalreplay export session.tr --gif
npx terminalreplay export session.tr --video

Why it exists

Most screen recorders capture pixels. terminalreplay captures the actual terminal story: commands, output, timing, and terminal behavior. That makes recordings lighter, easier to edit, and much better suited to developer education.

Features

| Capability | What you get | | --- | --- | | Native recording | Interactive shell capture via PTY with timing, ANSI colors, and resize events | | Replay engine | Pause/play, speed control, seeking, cinematic playback | | Export pipeline | Standalone HTML, animated GIF, MP4 via ffmpeg, and frame sequences | | Editing tools | Trim, merge, convert to asciinema cast | | Themes | cyberpunk, dracula, nord, matrix, github dark, hacker green | | Developer polish | Commander CLI, spinners, branded terminal UX, modular TypeScript architecture |

Install

npm install -g terminalreplay

or run ad hoc:

npx terminalreplay record

Usage

Record

terminalreplay record --output deploy.tr --title "Deploy walkthrough"

Exit the spawned shell when you are done. The .tr file is plain JSON and easy to version, inspect, or transform.

Replay

terminalreplay replay deploy.tr --speed 1.25 --cinematic

Controls:

  • space pause/play
  • / seek
  • + / - adjust speed
  • q quit

Export

terminalreplay export deploy.tr --html --output replay.html
terminalreplay export deploy.tr --gif --output replay.gif --fps 18 --theme dracula
terminalreplay export deploy.tr --video --output replay.mp4 --music ambient.mp3

MP4 export requires ffmpeg on your system path.

Editing and conversion

terminalreplay trim deploy.tr --from 1500 --to 12000 --output clip.tr
terminalreplay merge intro.tr deploy.tr --output story.tr
terminalreplay convert story.tr --output story.cast
terminalreplay themes

Demo placeholders

  • docs/screenshots/player.png
  • docs/screenshots/themes.png
  • exports/demo.gif
  • exports/demo.mp4

Architecture

flowchart LR
  A["Recorder (node-pty)"] --> B[".tr JSON recording"]
  B --> C["Replay engine"]
  B --> D["HTML exporter"]
  B --> E["Frame renderer"]
  E --> F["GIF exporter"]
  E --> G["MP4 exporter (ffmpeg)"]
  B --> H["Trim / merge / cast conversion"]

The codebase is intentionally modular:

  • src/recorder.ts captures sessions
  • src/replay.ts handles interactive playback
  • src/render/* generates visual frames
  • src/export/* turns recordings into distributable artifacts
  • src/transform.ts provides editing primitives

Roadmap

  • xterm.js-powered browser playback with richer ANSI styling
  • Chapter markers and annotations
  • Theme authoring CLI
  • Cloud share links
  • Narration tracks and subtitle export

Contributing

Issues and pull requests are welcome. If you are changing the export pipeline, please include one sample .tr file and verify HTML + GIF output before submitting.

License

MIT