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

kye-parser-ascii

v0.1.0

Published

The purpose of this package is to facilitate the deserialization of .kye files into potato-engine Campagin and Level instances.

Readme

Kye Parser ASCII

The purpose of this package is to facilitate the deserialization of .kye files into potato-engine Campagin and Level instances.

The file format

A .kye (or .KYE) file is mostly a series of lines. The lines may be separated with any platform's line separators. There should be no blank lines, and no spaces at the beginnings or ends of lines. If a byte order mark is present, it will be ignored.

The first line of a .kye file is the number of levels in the campagin. This is the only metadata about the campaign aside from the file name, which should be considered the campaign's name.

Levels follow. A level has a 3 line header, followed by a board. The header consists of these lines:

  1. The level code, case insensitive but traditionally specified in uppercase
  2. A short hint, which will be displayed alongside the game board during play
  3. A completion message, to be shown when the level is beaten

The board, which is a series of lines. The board must, at minimum:

  • Have every line the same length
  • Be surrounded by walls
  • Include at least one player
  • Include at least one diamond

Thus, the simplest board would be:

555
5K5
5*5
555

Note that walls are specified with 5, the diamond is a * and the player is a K. These are the symbols which are used in original kye level files to describe those entities, however kye-parser-ascii itself does not perscribe any particular mapping of characters to entities. Instead entities themselves choose which symbols should represent them in an ascii file.