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

@42a/ael

v0.1.1

Published

42a Agentic Enablement Layer (AEL) core: markdown page variants, llms.txt, a stateless MCP server with .well-known discovery, and the 42a connect client — framework-agnostic fetch handlers.

Readme

@42a/ael

Framework-agnostic core of the 42a Agentic Enablement Layer (AEL) — make any site readable and usable by AI agents:

  • Markdown page variants — every page served as a frontmatter markdown document via ?format=markdown, <path>.md, or Accept: text/markdown negotiation.
  • /llms.txt + /llms-full.txt — spec-conformant agent index of your key pages.
  • MCP server — a stateless Model Context Protocol endpoint (JSON-RPC 2.0 over plain HTTP POST, protocol 2025-06-18) with read-only tools: get_site_info, search_content, get_page, list_recent_posts, list_categories — plus all four /.well-known/mcp* discovery documents.
  • 42a connect — optional pairing with 42a for GEO vitals and agent-traffic analytics.

Every feature is a WHATWG (Request) => Promise<Response> handler, so it runs anywhere fetch-standard requests exist (Node ≥ 18.17, edge runtimes, workers).

Use a framework adapter instead of this package directly when one exists: @42a/ael-next (Next.js App Router), @42a/ael-astro (Astro). For WordPress, use the 42a AEL WordPress plugin.

Direct usage (any fetch-standard server)

import { createAel } from "@42a/ael";

const ael = createAel({ siteUrl: "https://example.com" });

// In your request handling:
const response = await ael.handle(request); // null when not an AEL path

Content model

By default the self-render provider enumerates pages from your sitemap and converts your own rendered HTML to markdown — zero config. For higher fidelity, implement ContentProvider (getSiteInfo, listPages, getPage, search, optional listCollections) against your CMS, or compose with mergeProviders(primary, fallback) / staticProvider(pages).

Config highlights

createAel({
  siteUrl: "https://example.com",       // required, canonical origin
  siteName, description, language,       // metadata (else derived from homepage)
  provider,                              // ContentProvider (default: self-render)
  markdown: { contentSelector: "#main", urlStyle: "query" | "suffix" },
  llms: { maxFullItems: 50, maxFullBytes: 2_000_000 },
  mcp: { endpointPath: "/api/mcp", tools: [/* custom McpToolDefinition */] },
  cache,                                 // KV impl (default: in-memory per instance)
  telemetry: false,                      // opt-in usage reporting to 42a
});

CLI

npx @42a/ael doctor [url]     # probe a site's agent layer: markdown, llms.txt, MCP, robots
npx @42a/ael connect          # connect the site to 42a — mints FORTYTWOA_SITE_TOKEN

connect opens the 42a pairing page, exchanges the code for a site token, and prints the one env var to add (FORTYTWOA_SITE_TOKEN). After the next deploy your adapter serves /.well-known/42a.json and 42a verifies the domain automatically — no meta tags, no layout edits.

Telemetry

Off by default; nothing leaves the site unless connected AND telemetry: true. When enabled, in-memory delta counters (markdown hits, llms.txt hits, MCP requests/tool calls) flush fire-and-forget; counts are approximate lower bounds on serverless.