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

valentine-agent

v0.1.0

Published

Know before you walk in. The open-source agent that remembers every founder your fund has talked to. Read-only.

Downloads

134

Readme

✦ Valentine

Know before you walk in. The open-source agent that remembers every founder your fund has ever talked to — and reads your CRM the moment it matters.

npx github:80x-djh/valentine init        # connect your CRM (read-only token)
npx github:80x-djh/valentine acme.com    # one verdict before the call

Once published to npm this shortens to npx valentine-agent <domain>.

You're about to take a founder call. You run valentine acme.com. Two seconds later: "⚠ Sarah emailed Acme's founder 3 weeks ago — logged 'passed, too early.'" Or a clean ✅. Then you walk in.

Use it inside Claude (or Cursor, or any MCP host)

Valentine ships as an MCP server, so your AI app can check the CRM for you mid-conversation — "anything on acme.com before my call?" Add it to Claude Desktop's config (~/Library/Application Support/Claude/ claude_desktop_config.json):

{
  "mcpServers": {
    "valentine": { "command": "npx", "args": ["-y", "github:80x-djh/valentine", "mcp"] }
  }
}

Restart Claude, set your keys once with valentine init, and ask away. Read-only, on your machine — see AGENTS.md for Cursor, Claude Code, etc.

It reads. It never writes.

Valentine surfaces and warns — it never touches your data, sends a message, or moves a deal. There are no write tools in the codebase, by design.

How it works — three moving parts

  1. A connector (src/connectors/) — read-only CRM access behind a small CRMConnector interface. Attio and Affinity out of the box; HubSpot / Salesforce are one new file away.
  2. An agent (src/agent.ts) — the loop: model thinks → calls a read tool → gets the result → repeats → calls submit_verdict. ~40 lines, hand-rolled on the Anthropic API so you can read every line.
  3. A trigger (src/cli.ts) — CLI today; valentine watch (calendar) and a Slack command on the roadmap.

The rules it runs by live in src/prompt.ts. Full design in SPEC.md.

Hand it to your agent

Valentine is built to be driven by other agents, not just typed by hand.

  • Headless CLI — set the env vars and run npx valentine-agent --json acme.com. It never prompts under --json or a non-TTY, and exit codes encode the verdict (0 clean · 10 prior contact · 20 ambiguous).
  • MCP servervalentine mcp exposes one read-only tool, valentine_verdict(target), for any MCP host (Claude Desktop, Cursor, Hermes, openclaws…).
  • Full instructions for agents live in AGENTS.md.

Your keys, your data

Runs with your CRM token, on your machine. Nothing leaves the fund. Keys are stored locally at ~/.valentine/config.json (or via env: VALENTINE_ATTIO_KEY, VALENTINE_AFFINITY_KEY, ANTHROPIC_API_KEY).

Develop

npm install
npm run dev -- acme.com

License

MIT — clone it, read every line, fork it. No black box between you and your founders.