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

@cleepi/sdd

v0.3.2

Published

Spec-Driven Development workflow for pi: skill, prompts, and templates for specs, journals, changelogs, and optional constitution. v0.2.0+ replaces ADRs with spec Decision sections.

Readme

@cleepi/sdd

Spec-Driven Development as a pi package. Install in any repo where you want Spec + Journal + Changelog (and optional Constitution) discipline. Your pi sessions will know the workflow.

What's in the box

  • Skill (skills/sdd/SKILL.md) — the canonical SDD workflow. Loaded automatically when you ask about specs / journals / changelogs / constitution, or explicitly with /skill:sdd.
  • Prompts — slash commands:
    • /spec <title> — scaffold a new spec in a ticket-keyed folder.
    • /journal <text> — append an entry to the current ticket's journal; update Current state.
    • /changelog <type> <text> — add an entry to the [Unreleased] section of the current scope's CHANGELOG.md.
  • Templates (templates/) — markdown skeletons the prompts fill in.

"Current scope" = the nearest package (packages/<name>/) you're working in, or the repo root.

The 30-second version

Three artifacts + one optional declarative file. Each answers one question:

| Artifact | Question | Lifecycle | |---|---|---| | Spec | What are we building, and why this approach? | draftacceptedshipped / superseded | | Journal | What's been tried? Where are we now? | Append-only; per-ticket | | Changelog | What shipped in version N? | Append-only by SemVer / date | | Constitution (optional) | What invariants must always be true? | Living document |

ADRs are not a separate artifact type in v0.2.0. Their "X over Y" function lives in a required ## Decision section inside specs. Durable invariants live in the optional CONSTITUTION.md.

For the full discipline (discriminator test, voice/length rules, invariant-vs-rule distinction, folder layout, status lifecycles), see skills/sdd/SKILL.md. It's the source of truth.

Folder layout (in your repo)

<repo>/
  CHANGELOG.md                   ← repo-level releases
  CONSTITUTION.md                ← optional, when project has invariants
  docs/
    AC-101-pricing-page/         ← ticket-keyed; AC-NNN, LIN-NNN, gh-NN, DRAFT-NNN
      spec.md
      journal.md
  packages/<name>/
    SPEC.md                      ← purpose-and-scope (singular)
    CHANGELOG.md                 ← per-package SemVer
    docs/AC-NNN-slug/
      spec.md
      journal.md

The folder name is the cross-link to the tracker — no jira: or ticket-id: frontmatter to forget.

Install

Global (every pi session anywhere gets the workflow):

pi install git:github.com/cleevio/cleepi/packages/sdd

Project-local (recommended for repos that adopt SDD as their process):

cd <repo>
pi install -l git:github.com/cleevio/cleepi/packages/sdd

Migration from v0.1.x

v0.2.0 is a breaking change. If you have an existing project on v0.1.x:

  • /adr is gone. Move ADR content into the relevant spec's ## Decision section. Mark old ADRs status: superseded by spec <id> (preserve bodies as historical record).
  • Existing docs/specs/NNNN-*.md and docs/adr/NNNN-*.md files don't have to move. They stay in place as archive. New specs go in ticket-keyed folders (docs/<ticket-id>-slug/spec.md).
  • Start writing journals for active work (docs/<ticket-id>-slug/journal.md). Skip retroactive journals for already-shipped specs.
  • Add CONSTITUTION.md at repo root only if your project has real invariants worth codifying (e.g., "we use Postgres", "all auth is server-side"). Most projects don't need one.

No automated migration tooling. The transition is intentional and unhurried.

Related