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

pakemin

v0.1.2

Published

An AI Engineering Specification for vendor-agnostic project knowledge.

Readme

The name comes from the Javanese idea of pakem: a trusted rule, pattern, or reference point. Pakemin helps a project make its AI-facing knowledge explicit and dependable without tying that knowledge to one vendor.

Why Pakemin Exists

AI coding agents are becoming part of everyday software work, but each tool tends to bring its own instruction format. A project can quickly end up maintaining AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, GitHub Copilot instructions, and other vendor-specific files that all try to describe the same codebase.

That duplication creates drift. One file says how tests should run, another has outdated architecture notes, and a third contains rules that nobody remembers to update. The project slowly loses a single source of truth for the knowledge agents need.

Pakemin solves this by putting durable AI-facing project knowledge in .ai/, owned by the repository itself. Vendor adapters stay thin: they point agents to the portable core instead of becoming separate instruction systems.

The goal is not to wrap LLMs or choose a winning agent. The goal is to make project knowledge portable, reviewable, and stable as teams move between AI coding tools.

Purpose

AI coding tools use different project instruction formats, including AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, GitHub Copilot instructions, and other tool-specific files. When each format becomes its own source of truth, project knowledge is duplicated and eventually diverges.

Pakemin treats project knowledge as project-owned. The portable core describes context, memory, rules, workflows, skills, templates, and overrides in a vendor-independent form. Thin vendor adapters can then point agents toward that shared source or translate it for tools with narrower loading behavior.

Quick Start

Install from npm:

npm install -g pakemin
pakemin --help

Run Pakemin from a checkout:

git clone [email protected]:frachman/pakemin.git
cd pakemin
node ./bin/pakemin.js --help
node . --help

Use it in another project:

cd /path/to/your-project
pakemin init
pakemin adapters generate
pakemin validate --adapters

Run pakemin adapters generate after pakemin init so AI coding tools can discover the shared .ai/README.md portable core through their own instruction files.

For local development, you can link the command:

cd /path/to/pakemin
npm link
cd /path/to/your-project
pakemin init
pakemin adapters generate
pakemin validate --adapters

What It Creates

pakemin init creates a project-owned portable core:

.ai
├── README.md
├── context/
│   ├── project.md
│   ├── architecture.md
│   ├── stack.md
│   └── roles.md
├── memory/
│   ├── active.md
│   └── known-issues.md
├── rules/
│   ├── engineering.md
│   └── ai-agents.md
├── workflows/
│   ├── feature.md
│   ├── bugfix.md
│   └── review.md
├── skills/
├── templates/
│   ├── requirement.md
│   ├── adr.md
│   ├── milestone.md
│   └── task.md
└── overrides/

pakemin adapters generate creates thin adapter files for supported AI coding tools:

  • AGENTS.md
  • CLAUDE.md
  • GEMINI.md
  • .cursor/rules/pakemin.md
  • .github/copilot-instructions.md

Language Presets

Default init is language-neutral. If Pakemin detects common project files, it reports the detected stack and suggests an explicit preset.

pakemin init --preset=go
pakemin init --preset=java
pakemin init --preset=node
pakemin init --preset=python
pakemin init --preset=rust
pakemin init --preset=dotnet
pakemin init --preset=ruby
pakemin init --preset=auto
pakemin init --preset=auto,rust

Use --preset=auto,<id> to combine detected stacks with explicit presets.

Presets write small starter documents into .ai/context and .ai/rules. They do not install dependencies, modify source code, or run build tools.

CLI Commands

pakemin init [path] [--force] [--dry-run] [--preset=go]
pakemin validate [path] [--links-only] [--adapters]
pakemin adapters list [path]
pakemin adapters generate [path] [--force] [--dry-run] [--only=agents,claude]
pakemin doctor [path]

Goals

  • Keep project knowledge independent from any one AI vendor.
  • Store project context, decisions, rules, and workflows in version-controlled files.
  • Support gradual adoption in existing repositories.
  • Keep the system readable and editable by humans.
  • Provide a foundation for future CLI tooling and adapters.

Non-Goals

Pakemin is not an LLM wrapper, chat application, prompt marketplace, hosted memory database, MCP replacement, plugin marketplace, or autonomous development platform.

Those areas may be explored later, but they are outside the current documentation milestone.

Support

If Pakemin helps your project, give it a star, share it, or open an issue or PR.

Bug reports, adapter improvements, documentation fixes, and language preset feedback are especially welcome during the public preview stage.

See CONTRIBUTING.md for how to set up a local checkout and open a pull request.

Repository Guide

Current Status

Pakemin is available on npm as a pre-1.0 public preview.

Completed foundations include documentation, specification drafts, a reference repository, a minimal CLI, adapter support, CI, MIT licensing, and explicit language presets.

Schemas, plugin architecture, shared framework distribution, hosted services, and release automation are intentionally deferred.

Verification

Run the core checks from a checkout:

npm test
npm run validate
node ./bin/pakemin.js validate examples/saas-reference-repository --adapters