midday-ai
packrun
TypeScript

npm for agents and humans

Last updated Jul 8, 2026
3.8k
Stars
410
Forks
12
Issues
0
Stars/day
Attention Score
85
Language breakdown
No language data available.
โ–ธ Files click to expand
README

packrun.dev

The npm registry for AI agents

Automated package comparisons. Real-time scoring. 50+ categories. MCP server for Cursor & Claude.

Features

  • Automated Comparisons - 50+ categories with formula-based scoring
  • Real-time Metrics - Downloads, bundle size, maintenance, all live
  • Alternative Discovery - Find what to use instead of any package
  • MCP Server - Native integration with AI coding assistants
  • Sub-50ms Search - Powered by Typesense Cloud

How Scoring Works

Packages are scored automatically (0-100) based on:

| Factor | Weight | What it measures | |--------|--------|------------------| | Downloads | 20% | Weekly downloads + trend direction | | Bundle Size | 20% | Smaller gzip = higher score | | Freshness | 25% | Recent commits and releases | | Community | 10% | Stars, contributors | | Quality | 25% | TypeScript, ESM, security, tree-shaking |

Project Structure

packrun.dev/
โ”œโ”€โ”€ apps/
โ”‚   โ”œโ”€โ”€ web/          # Next.js frontend
โ”‚   โ”œโ”€โ”€ sync/         # Data sync worker
โ”‚   โ””โ”€โ”€ mcp-server/   # MCP server for AI agents
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ decisions/    # Scoring, categories, comparison engine
โ”‚   โ”œโ”€โ”€ agent-utils/  # Conflict detection
โ”‚   โ””โ”€โ”€ ui/           # Shared components
โ””โ”€โ”€ turbo.json

MCP Server

For AI coding assistants (Cursor, Claude, etc.):

Endpoint: https://mcp.packrun.dev/mcp

Configuration (for Cursor, Claude Desktop, etc.):

{   "mcpServers": {     "packrun": {       "url": "https://mcp.packrun.dev/mcp"     }   } }

Tools:

| Tool | Description | |------|-------------| | search_packages | Search npm packages | | get_package | Get package metadata | | getpackagehealth | Check maintenance status | | compare_packages | Compare packages with scoring | | find_alternatives | Find alternatives to any package | | getcomparisoncategory | Get category comparison (e.g., "date-library") | | listcomparisoncategories | List all 50+ categories | | validate_install | Check compatibility before installing |

API

Compare Packages

# Compare specific packages
GET /api/compare?packages=axios,got,ky

Get category comparison

GET /api/compare?category=date-library

Find alternatives for a package

GET /api/compare?package=moment

List all categories

GET /api/compare?list=categories

Response Example

{
  "category": "date-library",
  "recommendation": "date-fns",
  "smallestBundle": "dayjs",
  "mostPopular": "moment",
  "packages": [
    {
      "name": "date-fns",
      "score": 82,
      "badges": ["TypeScript", "ESM", "Trending Up"],
      "metrics": {
        "weeklyDownloads": 20000000,
        "downloadTrend": "growing",
        "bundleSizeKb": "13.2kb",
        "lastCommitDays": 2,
        "hasTypes": true
      }
    },
    ...
  ]
}

Categories

50+ categories including:

  • HTTP clients: axios, got, ky, node-fetch
  • Date libraries: moment, date-fns, dayjs, luxon
  • Validation: zod, yup, joi, ajv, valibot
  • State management: redux, zustand, jotai, recoil
  • ORM: prisma, drizzle, typeorm, sequelize
  • Testing: vitest, jest, mocha, ava
  • Bundlers: vite, esbuild, webpack, rollup
  • Logging: pino, winston, bunyan
  • And 40+ more...

Getting Started

Prerequisites

Installation

git clone https://github.com/your-org/packrun.dev
cd packrun.dev
bun install

Development

bun run dev:web    # Web app on :3000
bun run dev:sync   # Sync worker

Environment Variables

# Typesense
TYPESENSE_HOST=xxx.typesense.net
TYPESENSE_PORT=443
TYPESENSE_PROTOCOL=https
TYPESENSEAPIKEY=xxx

Optional: GitHub token for higher rate limits

GITHUB_TOKEN=xxx

License

MIT

ยฉ 2026 GitRepoTrend ยท midday-ai/packrun ยท Updated daily from GitHub