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

tasknotes-spec

v0.2.0

Published

Specification and conformance fixtures for TaskNotes-compatible markdown task files.

Readme

tasknotes-spec

A standalone specification for representing and operating on task data stored in markdown files with YAML frontmatter.

Version: 0.2.0-draft Status: Draft Canonical Source of Truth: This specification

Purpose

tasknotes-spec defines behavior for tools that read and write task notes in a shared vault. The goal is interoperable behavior across implementations, including full-featured applications and lighter clients.

The specification focuses on:

  • Task data model and field semantics
  • Date, datetime, and timezone rules
  • Time tracking entry and session-management semantics
  • Recurrence, per-instance completion semantics, and optional materialized occurrence notes
  • Link parsing and resolution semantics
  • Dependencies and reminders semantics
  • Optional create-time templating semantics
  • Operation semantics and write side-effects
  • Validation and conformance expectations

The specification does not define UI design or plugin-internal architecture.

Why this spec exists

Task data in markdown files is useful because it remains readable and editable with standard tools. However, multiple tools operating on the same files can diverge in behavior unless they share explicit rules. Divergence is most costly in recurring tasks, timezone handling, and completion state transitions.

This specification provides a precise contract so independent tools can make compatible reads and writes.

Document structure

| Section | File | Content | |---|---|---| | §0 | 00-overview.md | Motivation, scope, governance, and principles | | §1 | 01-terminology.md | Normative definitions | | §2 | 02-model-and-mapping.md | Task model, canonical semantic roles, field mapping | | §3 | 03-temporal-semantics.md | Date/datetime/timezone semantics and serialization | | §4 | 04-recurrence.md | RRULE semantics, per-instance state, and optional occurrence materialization | | §5 | 05-operations.md | Create/update/complete/skip/delete/rename behaviors | | §6 | 06-validation.md | Validation rules and issue model | | §7 | 07-conformance.md | Conformance profiles and claims | | §8 | 08-compatibility-and-migrations.md | Migration and compatibility policy | | §9 | 09-configuration.md | effective configuration schema and provider model (tasknotes.yaml, TaskNotes data.json, etc.) | | §10 | 10-dependencies-and-reminders.md | Dependency and reminder semantics | | §11 | 11-links.md | Link syntax, parsing, resolution, and rename update behavior | | Changelog | CHANGELOG.md | Spec release history |

Conformance model

Implementations claim conformance to one or more profiles defined in §7. A conformance claim MUST include:

  • specification version
  • profile name(s)
  • known deviations

Executable conformance

This repository ships a reusable fixture-based conformance suite in conformance/.

  • generate fixtures: npm run conformance:generate
  • run suite: TASKNOTES_ADAPTER=<adapter-path> npm run conformance:test
  • run against ../mdbase-tasknotes: npm run conformance:test:mdbase-tasknotes

Versioning

The specification uses semantic versioning.

  • Patch: clarifications and non-breaking fixes
  • Minor: additive behavior and optional features
  • Major: breaking semantic changes

License

MIT