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

presskit-diy

v0.99.1

Published

presskit.diy by Saturno.Software, based on presskit.html and the original presskit() workflow

Readme

presskit.diy

npm version npm downloads License: MIT Code Style: Standard Tests: CI verified

Generate beautiful press kits in minutes. Static HTML, zero server required.

presskit.diy is a modern Node.js CLI tool for creating professional press kits. It supports both XML (for backward compatibility with the original presskit) and JSON/JSONC (for modern projects). Deploy anywhere—it's just static files.

Maintained by Saturno.Software, based on the legendary presskit.html by Pixelnest Studio.


Quick Start

For CLI Users

npm install -g presskit-diy

# Create a new project
presskit-diy new company mycompany
cd mycompany/

# Build your press kit
presskit-diy build

# Open build/index.html in your browser

For Library Users

npm install presskit-diy
const { runBuildCommand } = require('presskit-diy');

runBuildCommand({
  entryPoint: './data',
  output: './build',
  watch: false
});

Features

  • Dual Format Support — Write in XML (legacy) or JSON/JSONC (modern)
  • Image Optimization — Auto-generated thumbnails, ZIP archives
  • Watch Mode — Live reload with BrowserSync
  • Markdown Support — Rich text fields in JSON files
  • Product Relations — DLC, sequel, and expansion links
  • Customizable — Use your own CSS, override templates
  • Cross-Platform — macOS, Linux, Windows support
  • Secure — 100% static HTML, no server required
  • Scaffolding — Generate templates instantly
  • ** Zero Dependencies** — Deploy anywhere (just HTML/CSS/JS)

Installation

Global (CLI Tool)

npm install -g presskit-diy
presskit-diy --help

Local (As a Library)

npm install presskit-diy

Requirements


Verification And Saturno Build Contract

presskit.diy now keeps one Saturno-standard build/package surface alongside the existing npm commands.

Current repo-level entrypoints:

pwsh -File Scripts/build.ps1 -ProjectRoot .
pwsh -File Scripts/package.ps1 -ProjectRoot . -BuildNumber 0

What they do:

  • Scripts/build.ps1 runs the canonical verification path: npm test -- --runInBand and npm run build
  • Scripts/package.ps1 stages the npm tarball produced by npm pack
  • canonical Saturno outputs live under __BUILD/<release-name>/ and __DIST/<release-name>/

The existing npm commands remain the underlying repo commands:

npm test -- --runInBand
npm run build
npm pack --dry-run

Common Tasks

Create a New Press Kit from Template

presskit-diy new company mycompany
presskit-diy new product myproduct

# Then edit the generated files
cd mycompany/
# Edit data.json, description.md, and images/

Build from Existing Data

# Build from XML (legacy format)
presskit-diy build

# Build from JSON (modern format)
# (automatic if data.json exists)

# Output: ./build/index.html

Enable Watch Mode (Auto-rebuild on changes)

presskit-diy build --watch

# Optional: use dev mode (also watches CSS/templates)
presskit-diy build --watch --dev

Use Custom CSS

presskit-diy build --css ./my-custom-theme.css

Other Options

# Specify input and output directories
presskit-diy build ./data --output ./public

# Pretty URLs (remove .html extensions)
presskit-diy build --pretty-links

# Ignore missing images (don't warn)
presskit-diy build --ignore-missing-images

# Disable thumbnail generation (faster builds)
presskit-diy build --ignore-thumbnails

# See all options
presskit-diy --help

Data Formats

JSON Format (Recommended for New Projects)

presskit-diy new company mycompany
cd mycompany/

Your project structure:

mycompany/
├── data.json           # Your company/product data
├── description.md      # Markdown description
└── images/
    ├── logo.png
    ├── screenshot1.png
    └── ...

data.json example:

{
  "type": "company",
  "title": "My Company",
  "website": "https://example.com",
  "description": "We make awesome stuff.",
  "socials": [
    { "name": "Twitter", "url": "https://twitter.com/..." }
  ],
  "features": [
    { "title": "Feature 1", "description": "Does something cool" }
  ]
}

XML Format (Legacy, Still Supported)

<?xml version="1.0" encoding="utf-8"?>
<company>
  <title>My Company</title>
  <website>https://example.com</website>
  <description>We make awesome stuff.</description>
  <social>
    <name>Twitter</name>
    <url>https://twitter.com/...</url>
  </social>
</company>

Documentation

Full Guides

Architecture

  • Technical architecture details available in the repository source code

Contributing

Contributions welcome! See CONTRIBUTING.md for:

  • Development setup
  • Code style guidelines
  • Testing requirements
  • Pull request process

License

MIT — See LICENSE for details.

Maintained by Saturno.Software
Based on presskit.html by Pixelnest Studio
Inspired by the original presskit() by Rami Ismail


FAQ

Q: Can I use presskit.diy with my existing presskit() data?
A: Yes! Your data.xml and images/ folder will work. See the Migration Guide.

Q: Do I need a web server?
A: No. It generates static HTML files. Upload them anywhere (GitHub Pages, Netlify, your own host).

Q: Can I customize the design?
A: Yes. Provide your own CSS file with --css option. Or extend the templates.

Q: Does it support JSON and XML at the same time?
A: No, but you can have one per directory. If both exist, JSON takes priority.

Q: How do I deploy my press kit?
A: Upload the build/ folder to any web host. It's just static files.

Q: Is there a GUI/web interface?
A: Not yet. presskit.diy is command-line based. CLI simplifies deployment.


Links


Made with ❤️ by Saturno.Software