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 🙏

© 2025 – Pkg Stats / Ryan Hefner

ttrpg

v0.0.1-init

Published

A TypeScript utilities package for creating tabletop rpg data assets.

Downloads

7

Readme

Tabletop Role-playing Games

A node package for those who enjoy sitting around tables, crawling dungeons, and otherwise causing mayhem in fictional worlds.

Why make an npm package for a tabletop game?

This package will provide semi-configurable utilities that generate common ttrpg data structures, such as a character, weapon, character sheet, inventory, abilities, etc. The reason I say semi-configurable is because, while things like Character.race and Character.role can vary from game system to game system, typically we adopt norms, such as the 9 various alignments.

What this package doesn't concern itself with is what you do with those items thereafter! You can send them off to be stored in a database somewhere as a part of a bespoke platform you and your friends use to play D&D, or just build an item comparison tool show off your skills.

How will we achieve this?

Objectively, the character and closely-related elements are the most important, as everyone at the table can utilize a character sheet, whether it's the players themselves tracking in-game changes or the DM checking a player's DEX modifier, there's use for all. That said, the following considerations have been made for the initial release:

v1.0.0

By this release, a user of this library will be able to:

  • Create a Character with input validation
  • See and track character stats and changes in-game through Character.sheet
  • See and track equipped/stored items using Character.inventory
  • Create a custom Item with input validation (weapon, armor, etc.)
  • An effect can be applied to a Character when an Item interacts
  • ...and more!

Obviously, to get to this ambitious v1 goal, a strong mvp would help. Feel free to join in on our discussion here!

v0.7.0-beta

#mvp #in-progress

In this initial release, the ttrpg npm package will be installable, and configurable with character classes and races. It will be able to generate type-safe characters and weapons using Builder classes.

More on the characters, this release will make available a static character sheet. In the first full release, this sheet will become interactive so you can track progress in-game. Beyond this, even, the character sheet will become configurable with unique sills and more.

Similarly, a character will have an established inventory that add and remove items. In later releases, the system will be expanded to include optional tracking of weight carried, and an equip/remove system for wearables.