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

@proticom/paperboy-cli

v0.2.6

Published

Command-line edition of Paperboy: convert files and crawl entire sites to clean Markdown — offline, deterministic, scriptable (PDF, DOCX, EPUB, HTML, OCR, and more).

Readme

Paperboy CLI

@proticom/paperboy-cli converts files to Markdown from the command line.

It supports deterministic conversion for documents/spreadsheets and local OCR for images, with optional AI image description when configured.

Install

npm install -g @proticom/paperboy-cli

Quick Start

# 1) Configure once
paperboy-cli setup

# 2) Convert a file
paperboy-cli convert "./input.pdf"

# 3) Check environment health
paperboy-cli doctor

Commands

paperboy-cli setup

Interactive setup for AI mode and credential storage.

Modes:

  • Deterministic only (no AI)
  • Local Ollama model (optional ollama pull during setup)
  • Existing local endpoint (OpenAI-compatible API)
  • OpenRouter (cloud API key + model selection)

paperboy-cli convert <inputPath>

Convert a supported file into Markdown.

Options:

  • -o, --output <path>: write to a specific markdown path
  • --stdout: print markdown directly to stdout
  • --describe-image: include optional AI image description section
  • --no-layout-table: skip OCR text-position table
  • --json: emit JSON metadata

Examples:

# Basic conversion (writes next to source file)
paperboy-cli convert "./book.epub"

# Write to a specific file
paperboy-cli convert "./scan.png" -o "./out/scan.md"

# Stream to stdout for pipelines
paperboy-cli convert "./report.docx" --stdout

# JSON metadata (good for scripts)
paperboy-cli convert "./table.xlsx" --json

paperboy-cli config show

Print the current config JSON.

paperboy-cli doctor

Runs diagnostics and prints what is healthy/missing.

What it checks:

  • Node version compatibility
  • Config and dotenv locations
  • Active AI mode and required dependencies
  • Ollama/local endpoint connectivity (when enabled)
  • OpenRouter key presence/connectivity (when enabled)
  • Keychain/secret-tool availability on your platform

Use JSON output for automation:

paperboy-cli doctor --json

Supported Input Formats

  • Markdown/text: md, markdown, mdx, txt
  • HTML: html, htm
  • Rich text: rtf
  • Word: docx
  • PDF: pdf
  • Data: csv, xlsx
  • Ebook: epub
  • Image OCR: png, jpg, jpeg, gif, bmp, webp, tif, tiff

OCR Output Shape (Images)

Image conversion can produce:

  • ## OCR Text
  • ## Text Positioning table with:
    • Text
    • Confidence
    • Left
    • Top
    • Width
    • Height

If AI description is enabled and available, output includes:

  • ## Image Description (prepended before OCR sections)

Config and Credentials

Config location:

  • ~/.config/paperboy-cli/config.json

Dotenv fallback:

  • ~/.config/paperboy-cli/.env

OpenRouter key env var:

  • PAPERBOY_OPENROUTER_API_KEY

Credential storage options during setup:

  • macOS Keychain (recommended on macOS)
  • GNOME Keyring via secret-tool (recommended on Linux when available)
  • dotenv file fallback

Exit Behavior

  • convert: exits non-zero on hard failures; warnings are reported in output.
  • doctor: exits with code 1 if any failing checks are found.

Development

npm install
npm test
npm run test:coverage
npm run build
node dist/cli.js --help

Coverage reports are written to coverage/:

  • terminal summary
  • coverage/index.html for browser view
  • coverage/coverage-summary.json for CI tooling