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

@moonhighway/timesplitter

v0.0.7

Published

⏰ A web application that helps presenters run great courses that stay on track and cover everything.

Downloads

5

Readme

Timesplitter ⏰

timesplitter helps presenters run excellent course agendas. This tool is a web application that displays a presenter's entire course plan one topic at a time with timing tools to help the presenter stay on track.

npm install @moonhighway/timesplitter

Create a timesplitter.json file

The course runner reads the timesplitter.json file from the root of the installed project. Here is an example of a minimal timesplitter.json file:

{
  "title": "Example Course",
  "agenda": [
    {
      "title": "Chapter One",
      "agenda": [{ "title": "first topic" }, { "title": "second topic" }]
    },
    {
      "title": "last topic"
    }
  ]
}

Timesplitter Markdown and Folders

The timesplitter.json file is a manifest for the presentation that includes agendas, nested agendas, and topics. Each agenda and nested agenda requires a corresponding folder with a lowercase name that is hyphenated. Each topic needs to associate a Markdown file with a matching name. For example, the above Example Course would require the following files, including the timesplitter.json file.

  • 📁 example-course
    • 📁 chapter-one
      • 📄 first-topic.md
      • 📄 second-topic.md
    • 📄 last-topic.md
    • {} timesplitter.json
    • 📄 README.md

The README.MD document is required and shows up in the course as the course overview.

Running timesplitter

@moonhighway/timesplitter is a CLI that can be run globally:

npm install -g @moonhighway/timesplitter
timesplitter

Once installed, you can run timesplitter command from the folder that contains the timesplitter.json file.

Additionally, you can install timesplitter locally to your repository and run it using an npm script:

"scripts": {
    "start": "timesplitter"
},

Developing Courses

timesplitter treats your course materials like software. Your materials exist as a package in their own repository, which gives you the benefit of using tools like Git and GitHub to track changes and keep your course up to date. Manually managing Markdown files that are orchestrated from a JSON file that works with a matching file folder structure isn't what we want to be doing as presenters. We have created tools to assist with the task of creating timesplitter courses:

  • @moonhighway/timesplitter-dev is a companion package to help presenters create captivating presentations that can be run by timesplitter without having to manage a complicated manifest or folders structure on their own.
  • @moonhighway/create-timesplitter-course is a CLI that can be used to create the boilerplate for a timesplitter course including both timesplitter and timesplitter-dev along with all of the necessary configuration to easily run either of these applications.

Under Construction 🚧

This project is currently under construction. Please send your questions to [email protected]