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

kiwi-wiki

v0.10.1

Published

a flat file personal wiki.

Readme

Kiwi

A wiki under early development.

Kiwi is an extensible content management system. Main features:

  • Scripting ability in both backend and frontend side
  • Plugins for content generating and rendering
  • Friendly API
  • Multiple storage options (single-file, multi-file, database)

Installation

Docker

docker run -it --user $(id -u):$(id -g) -p 8080:8080 -v /path/to/data:/data sineliu/kiwi

Visit http://localhost:8080 !

User data are put under /path/to/data in a human-readable manner as markdown files, making them usable even outside Kiwi.

NPM

Install version 14.14.0 or later at NodeJS.

npm install kiwi-wiki --global
kiwi serve /path/to/data --port 8080

Visit http://localhost:8080 !

Origin

I have been using Tiddlywiki for a long time, despite appreciating its unique single-file-design and highly extensible architecture, there are things that make me unhappy. Here is an uncomplete list:

  • no support for table of contents
  • highly affined to its own markup language (wikitext)
  • the native single-file-design caused some limitation under server mode
    • all the tiddlers are stored under the same folder
    • have to download the whole wiki at each browsing
    • only has a naive login method and have no permission management
    • cannot reflect real-time filesystem change
  • all the tiddlers are under the same space, which could cause conflict between different areas
  • plugins don't have a way to persist their data (except writing to a tiddler)

Thus, I plan to develop a wiki with similar conceptual design to Tiddlywiki, but focus more on the server side. The features I plan to preserve from Tiddlywiki include:

  • the ability to be usable for a long time
  • display several tiddlers in the same page
  • the ability to generate static pages for everything

And the planned improvements are:

  • support for table of contents
  • built-in monaco editor
  • use namespace to divide the area of knowledge
  • a client-server mode plugin mechanism
  • native support for all kinds of markup language (markdown, rst, wikitext)
  • custom url mapping rules
  • better server functions
    • multi-level folder structure
    • support for server-side rendering and client-side rendering
    • enhanced user management
    • item-level permission management
    • real-time two-way sync between file system and browser
  • version control of single item
  • more precise reference ability (locate to line)
  • better support of external documents (reference info pdf files, caching external web pages)
  • more open scripting ability to end user