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

infinite-realms

v2.0.4

Published

AI-Powered Solo D&D 5e — full campaign engine with combat, spells, dice, and multiple AI providers

Readme

Infinite Realms

[!CAUTION] Early Access / Alpha Release: This project is in very early development. Expect bugs, breaking changes, and evolving features. We welcome feedback and bug reports!

AI-powered solo Dungeons & Dragons 5th Edition experience.

Features

  • AI Dungeon Master - GPT-4 powered DM with tool-calling for game mechanics
  • Character Management - Create and manage D&D 5e characters
  • D&D Beyond Sync - Import and sync characters from D&D Beyond
  • Combat System - Initiative tracking, HP management, turn order
  • Quest & NPC Tracking - Automatic tracking of encountered NPCs and quests
  • Scene Image Generation - DALL-E 3 generated scene images
  • Text-to-Speech - Browser-based voice narration for DM responses
  • Rules Enforcement - Configurable RAW enforcement levels

Tech Stack

  • Framework: Next.js 15 (App Router)
  • Frontend: React 19, Tailwind CSS, Radix UI
  • AI: OpenAI GPT-4o, DALL-E 3 (via Vercel AI SDK)
  • Database: PGlite (WASM-based embedded PostgreSQL)
  • Language: TypeScript

Getting Started

Prerequisites

  • Node.js 18+
  • OpenAI API key (or other supported LLM provider)

Installation (Instant DM)

The easiest way to play is to install Infinite Realms globally. This includes an embedded PostgreSQL database (PGlite), so you don't need to install or configure any external services.

# Install globally
npm install -g infinite-realms

Then start the application from anywhere:

infinite-realms

The CLI will automatically set up your local data directory at ~/.infinite-realms/ and start the server.

Manual Installation (Development)

  1. Clone and install dependencies:

    git clone https://github.com/tftda23/infiniterealms.git
    cd infinite-realms
    npm install
  2. Start the development server:

    npm run dev

PGlite will automatically initialize a local database in the project directory.

  1. Open http://localhost:3000

How to Play

1. Initial Setup (LLM Token)

Once you access the web application, you must first configure your AI provider.

  • Go to the Settings page.
  • Enter your API token for your preferred provider (OpenAI, Anthropic, etc.).
  • Click Save Settings.

2. Create a Campaign

  • From the Home page, click Create New Campaign.
  • Define your world setting, DM personality, and rules enforcement level.

3. Add Characters

  • Within your campaign, add your player characters.
  • You can create them manually or import them directly from D&D Beyond.

4. Begin Adventure

  • Once your party is ready, click Begin Adventure.
  • Start chatting with the DM to begin your story!

Security & Token Usage

Security Measures

  • Local Storage: Your API tokens are encrypted and stored in your local embedded PostgreSQL database (PGlite), located in ~/.infinite-realms/pgdata.
  • Encryption: We use AES-256 encryption to protect your tokens at rest.
  • Server-Side Only: Tokens are never sent to the client browser after they are saved; they are only used server-side to communicate with the LLM providers.

Liability & Risk

  • User Responsibility: Usage of your token is entirely at your own choice.
  • Cost Disclaimer: Infinite Realms accepts no liability for costs incurred due to the usage of the application with your own LLM token. AI usage can be expensive; monitor your usage dashboards on your provider's website.
  • Risk Acceptance: By using this application, the user accepts all risks associated with API token usage and security.
  • Recommendation: We strongly advise using short-lived tokens or setting usage limits on your AI provider's dashboard to prevent unexpected costs.

License

Infinite Realms is licensed under a custom agreement. It is free to use and we welcome contributions. However, modification for redistribution and direct redistribution of the software are not permitted. Infinite Realms reserves the exclusive right to provide hosted versions of the software.

See the LICENSE file for the full terms.

Contributing

We love contributions! Since this is an early-stage project, the best ways to help are:

  1. Bug Reports: Open an issue if something doesn't work.
  2. Feature Ideas: Suggest new tools or DM personalities.
  3. Pull Requests: Submit improvements to the DM engine or UI.

Note: By contributing, you agree to license your work under the terms of the Infinite Realms License.