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

@pingvinen/donna-assistant

v0.10.0

Published

Donna - your AI powered personal assistant

Readme

Donna

Your personal, digital version of Harvey Specter's amazing secretary.

Donna is an AI-powered personal assistant that manages the work that falls through the cracks — the 1:1 follow-ups, recurring process tasks, stakeholder requests, and self-initiated work that never makes it into Jira or Linear.

She lives inside your terminal. She knows your role, surfaces what needs attention each day, pulls data from your CLI tools, and captures tasks in seconds — all backed by plain markdown and git.

Donna is designed to be AI-agnostic, but currently only tested with Claude Code. She works from any session, in any project — your tasks follow you wherever you work.

Install

npx @pingvinen/donna-assistant

The installer copies skill files into ~/.claude/commands/donna/ and shared runtime into ~/.donna/. Run it again to upgrade.

Requirements: Node.js 18+, an AI coding assistant (tested with Claude Code)

Setup

/donna:setup

Donna will ask you for a storage repo — a git repository (local or remote) where all your tasks and daily files live. Everything is plain markdown, committed to git automatically. If you use Obsidian, you can open this repo as a vault for a free UI.

Then define your role so Donna can suggest recurring tasks relevant to your job:

/donna:set-role

Daily workflow

Start the day

/donna:begin-the-day

This is your morning ritual. Donna will:

  • Carry forward open tasks from your last working day (handles weekends)
  • Surface recurring tasks that are due today based on your role
  • Pull fresh data from configured tools (GitHub PRs, Jira tickets, etc.)
  • Deduplicate across all sources and give you a brief

Capture tasks throughout the day

/donna:add-task Review Sarah's design doc before Thursday

One command, zero prompts, committed to git in seconds. Can also be called without arguments for a more conversational capture.

Mark tasks done

/donna:done design doc

Fuzzy-matches by name. Run without arguments to pick from a list.

Refresh tool data mid-day

/donna:run-tools

Re-pulls data from all configured tools. New items appear, resolved items get closed automatically. Your manually-marked tasks always win.

External tools

Donna can pull tasks and status from external tools you already use. She supports four tool types:

  • CLI tools — shell commands like gh, jira, kubectl
  • REST APIs — HTTP endpoints like GitHub API, Slack API
  • GraphQL APIs — GraphQL endpoints like Linear, GitHub GraphQL
  • MCP servers — Claude Code MCP tools like linear, postgres

Register a tool with:

/donna:add-tool gh

Or call it without arguments — Donna will check your role and suggest tools typically associated with your job.

For CLI tools, Donna verifies installation and authentication, learns capabilities, and asks what scope to query. For REST and GraphQL APIs, Donna sets up secure secret management (via a gitignored secrets.md file) and validates API connectivity. MCP servers are configured through Claude Code settings.

When multiple tools are registered, Donna runs them in parallel — one agent per tool — so your morning brief stays fast regardless of how many tools you have.

Edit a tool's configuration (scope, capabilities, auth, command) at any time:

/donna:adjust-tool

If a CLI tool version is newer than what the AI model knows, Donna will re-learn its capabilities:

/donna:relearn-tools

How state is stored

<your-storage-repo>/
  donna/
    role.md          # your job role definition
    recurring.md     # recurring task schedule
    tools.md         # registered tool configurations
  daily/
    2026-03-16.md    # today's tasks, tool data, notes
    2026-03-15.md
    ...

Every change is committed to git. Files are plain markdown with YAML frontmatter — human-readable, hand-editable, and version-controlled.

The storage repo is yours. Donna only writes to the donna/ and daily/ directories, so you're free to keep any other notes, files, or folder structures alongside it — great if you're already using the repo as an Obsidian vault or similar.

Idempotent by design

Most commands are safe to run again. Want to update your role? Run /donna:set-role again. Added a new tool mid-day? Run /donna:begin-the-day again to pull its data in. Re-running a command updates state rather than duplicating it.

Why not automate tool pulls?

Donna intentionally does not support automated periodic invocations of /donna:run-tools (e.g., via cron or background timers). Each tool pull runs inside an AI coding assistant session, which means:

  • Cost -- every invocation consumes API tokens. A cron job running hourly would burn tokens even when you are not working.
  • Context -- tool data is most useful when you are actively looking at it. Pulling data while you are away produces stale results by the time you return.
  • Conflicts -- background runs could write to your daily file while you are editing it, causing git merge conflicts in your storage repo.

Instead, run /donna:run-tools on demand when you want fresh data, or let /donna:begin-the-day handle it as part of your morning routine.

All commands

Setup and configuration

| Command | What it does | |---------|-------------| | /donna:setup | First-time configuration (storage repo, directories) | | /donna:set-role | Define your job role, get recurring task suggestions |

Daily workflow

| Command | What it does | |---------|-------------| | /donna:begin-the-day | Morning brief with carry-forward, recurring tasks, tool data | | /donna:add-task | Capture a task instantly | | /donna:done | Mark a task complete | | /donna:focus | Distill today's tasks into a short prioritized focus list |

Tool management

| Command | What it does | |---------|-------------| | /donna:add-tool | Register an external tool (CLI, REST API, GraphQL API, MCP server) | | /donna:adjust-tool | Edit a tool's configuration (scope, capabilities, auth, command) | | /donna:remove-tool | Remove a registered tool from tools.md | | /donna:run-tools | Refresh tool data mid-day | | /donna:relearn-tools | Update CLI tool knowledge after upgrades |

Help and feedback

| Command | What it does | |---------|-------------| | /donna:help | Conversational troubleshooting for config, storage, or skill issues | | /donna:contribute-idea | Submit a feature idea or bug report via GitHub Issues |

License

MIT