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

@neilsarjal09/design-decision-recorder

v0.2.0

Published

Record design decisions on any Figma element. Capture role (Designer/Dev/QA/PM/BA), status, and rationale. Auto-maintains a Design Decisions page in the file with click-to-navigate rows.

Readme

Design Decision Recorder

A Figma plugin that lets your team capture why a design looks the way it does — pinned to the actual element on the canvas. Designers, developers, QA, PMs, and BAs can all add their reasoning, and the file becomes its own source of truth.

What it does

  • Capture decisions on any selected element — role, status, title, and the rationale (with built-in writing templates so nobody stares at a blank box).
  • Browse and search every decision in the file. Click a row to jump straight to the element on the canvas.
  • Link decisions to each other and view the whole network at a glance in the Graph tab.
  • Auto-maintained “🗂 Design Decisions” page inside your file, kept up to date without polluting version history.
  • Travels with the file. No external server, no API key, no account.

Why this and not a Notion doc

A Notion link rots. A Slack thread gets buried. A Figma comment is hard to find six weeks later. Decisions belong on the element they describe, in the same tool the team is already in.

Install (5 minutes, no coding needed)

You'll do this once on your computer. After that, the plugin lives in Figma — you just open it and use it like any other plugin.

Step 1 — Make sure Node.js is installed

Node.js is a free piece of software that lets your computer run the install command. Most people don't have it by default, so let's check first.

  1. Open a terminal:
    • Mac: Press Cmd + Space, type Terminal, hit Enter.
    • Windows: Press the Win key, type PowerShell, hit Enter.
  2. Type the following and press Enter:
    node --version
  3. If you see something like v20.10.0 — you're good. Skip to Step 2.
  4. If you see "command not found" or "not recognized" — go to nodejs.org, click the big LTS download button for your operating system, run the installer, and accept all the defaults. Then close and re-open the terminal and try node --version again.

Step 2 — Run the install command

In the same terminal window, copy-paste this and hit Enter:

npx @neilsarjal09/design-decision-recorder install

The very first time you may see a prompt like "Ok to proceed? (y)" — type y and hit Enter.

When it finishes, you'll see a message like:

Open Figma → Plugins → Development → Import plugin from manifest…
Pick this file:

  /Users/yourname/Documents/DesignDecisionRecorder/manifest.json

Copy that file path — you'll need it in the next step. Leave the terminal open.

Step 3 — Import the plugin into Figma

Important: You need the Figma desktop app, not the browser version. The browser doesn't have the "Import from manifest" option. Download Figma desktop if you don't have it.

  1. Open the Figma desktop app and open any file.
  2. In the top menu, click Plugins → Development → Import plugin from manifest…
  3. A file picker opens. Navigate to the path you copied (or paste the path into the picker's address bar) and select manifest.json. Click Open.

You'll see a small confirmation. The plugin is now permanently saved on this computer.

Step 4 — Run it

In Figma, go to Plugins → Development → Design Decision Recorder. A panel opens. Select any element on your canvas, switch to the Capture tab, and start recording decisions.

Updating to a newer version

When a new version is released, run the same command with --force so it overwrites the old files:

npx @neilsarjal09/design-decision-recorder install --force

You don't need to re-import in Figma. Next time you open the plugin, the new version is already there.

Putting the files somewhere else

If you'd rather not use ~/Documents/DesignDecisionRecorder/, point it at a folder of your choice:

npx @neilsarjal09/design-decision-recorder install --path ~/figma-plugins/ddr

Day-to-day usage

  1. Capture a decision. Select an element on the canvas, open the plugin, switch to the Capture tab, fill out the form, hit Save. The decision is now bound to that element.
  2. Find a decision. Browse tab — type into the search box or use the role / status / paradigm filters. Click a row to jump straight to the element on the canvas.
  3. See the full log. A page called 🗂 Design Decisions is automatically maintained in your file with every decision listed.
  4. Visualise the network. Graph tab shows every decision as a node and every link between them as a line — click a node to jump to it.
  5. Recover a deleted log page. Settings → Rebuild decisions page.

What you can record

  • Roles — Designer, Developer, QA, PM, BA, Other.
  • Statuses — Proposed, Approved, Rejected, Revisited, Superseded.
  • Paradigms — Component, Layout, Interaction, Accessibility, Information Architecture, Motion, Visual style, Content. Each comes with a writing template based on real design-system decision docs. You can also create your own custom paradigms in Settings, and they'll be available to everyone working in the file.
  • Jira ticket (optional) — link the decision to a Jira ID for cross-referencing.
  • Linked decisions — connect this decision to other decisions in the file, Obsidian-style.
  • Walkthrough recording (optional) — attach a Loom / Drive / YouTube link explaining the decision.

Every role and status has its own colour, so the on-canvas log stays scannable at a glance.

For developers building from source

npm install
npm run build

Then in Figma desktop, Plugins → Development → Import plugin from manifest… and pick the manifest.json in this project's root. For a hot-reloading dev loop:

npm run watch

Roadmap

  • Transcript ingestion — paste a meeting transcript, get extracted candidate decisions to confirm.
  • Semantic search — find decisions by meaning, not just keywords.
  • MCP / Claude Skill companion — read exported JSON across files for cross-project decision reporting.

License

MIT