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

ebdonato

v9.4.2

Published

Eduardo Batista Donato - CLI Card & Resume

Readme

Eduardo DONATO's card business

A CLI business card and resume viewer - share your professional profile directly in the terminal.

Preview

The Problem

Sharing professional information typically requires sending links, PDFs, or directing people to websites. For developers and tech professionals, there's a more elegant solution: a terminal-based business card.

This package allows anyone to view your professional profile instantly with a single command - no browser, no downloads, no friction. It's memorable, developer-friendly, and showcases your technical skills in the process.

Quick Start

Run directly with npx (no installation required):

npx ebdonato

Multi-Language Support

The CLI supports English, Portuguese, and Spanish. It automatically detects your system language, or you can:

Change language from the menu:

Select "Change language" from the interactive menu to switch languages on the fly.

Force a specific language via CLI flag:

npx ebdonato --lang=en   # English
npx ebdonato --lang=pt   # Portuguese (Portugues)
npx ebdonato --lang=es   # Spanish (Espanol)

That's it! You'll see an interactive menu with options to:

  • View CV - Read the full resume directly in the terminal (Markdown rendered beautifully)
  • Download CV - Save a PDF copy to your current directory
  • Show QR Code - Display a scannable QR code for mobile access
  • Send Email - Open your default email client to get in touch
  • Change Language - Switch between English, Portuguese, and Spanish
  • Exit - Close the application

Features

  • Zero Installation - Works instantly via npx
  • Multi-Language - Supports English, Portuguese, and Spanish (auto-detects system locale or switch from menu)
  • Interactive Menu - Easy navigation with arrow keys
  • Terminal-Rendered Resume - Markdown displayed with colors and formatting
  • PDF Download - Get a professionally styled PDF resume
  • QR Code - Quick mobile access to online profile
  • Cross-Platform - Works on macOS, Linux, and Windows

Create Your Own Business Card

Want to make your own CLI business card? Fork this project and customize it!

Step 1: Fork and Clone

# Fork this repository on GitHub, then:
git clone https://github.com/YOUR_USERNAME/card-tui.git
cd card-tui
npm install

Step 2: Customize Your Information

  1. Update package.json:

    • Change "name" to your npm username (e.g., "name": "johndoe")
    • Update "description", "author", and other metadata
  2. Edit bin/index.js:

    • Update the data object with your personal information:

      const data = {
          name: chalk.bold.green('Your Name'),
          handle: chalk.white('@yourhandle'),
          work: chalk.white('Your Title at Your Company'),
          twitter: chalk.cyan('https://x.com/yourhandle'),
          github: chalk.cyan('https://github.com/yourusername'),
          linkedin: chalk.cyan('https://linkedin.com/in/yourprofile'),
          web: chalk.cyan('https://yourwebsite.com'),
          // ... update labels and bio
      }
    • Update the email address in the sendEmail() function

  3. Replace data/resume-{lang}.md:

    • Write your resume in Markdown format for each language
    • Files: resume-en.md, resume-pt.md, resume-es.md
    • This content is displayed in the terminal and converted to PDF
  4. Update locales/*.json:

    • Edit locales/en.json, locales/pt.json, locales/es.json
    • Translate UI strings (menu labels, messages, header text)
  5. Customize PDF styling (optional):

    • Edit assets/resume.css to change the PDF appearance

Step 3: Build and Test

# Generate the PDF resume
npm run build

# Test locally
npm start

# Check for linting errors
npm run lint

Step 4: Publish to npm

# Login to npm (create account at npmjs.com if needed)
npm login

# Publish your package
npm publish

Now anyone can run npx yourusername to see your business card!

Tips for Customization

  • Colors: Use chalk for terminal colors (chalk.green(), chalk.cyan(), chalk.bold(), etc.)
  • Box Style: Modify boxen options in showHeader() for different border styles
  • Menu Options: Add or remove choices in the inquirer.prompt() call in main()
  • QR Code: Update the URL in showQRCode() to point to your profile

Development

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm

Commands

| Command | Description | | ---------------------- | ------------------------------- | | npm start | Run the CLI locally | | npm run build | Generate PDFs for all languages | | npm run lint | Check for code style issues | | npm run lint:fix | Auto-fix linting errors | | npm run format | Format code with Prettier | | npm run format:check | Check code formatting |

Project Structure

card-tui/
├── bin/
│   └── index.js          # Main CLI application
├── lib/
│   └── i18n.js           # Internationalization module
├── locales/
│   ├── en.json           # English UI strings
│   ├── pt.json           # Portuguese UI strings
│   └── es.json           # Spanish UI strings
├── data/
│   ├── resume-en.md      # English resume
│   ├── resume-pt.md      # Portuguese resume
│   └── resume-es.md      # Spanish resume
├── assets/
│   ├── resume.css        # PDF styling
│   ├── resume-en.pdf     # Generated English PDF
│   ├── resume-pt.pdf     # Generated Portuguese PDF
│   └── resume-es.pdf     # Generated Spanish PDF
├── build-cv.js           # PDF generation script (all languages)
├── package.json          # Package configuration
└── AGENTS.md             # Guidelines for AI coding agents

Tech Stack

Inspiration

This project is a complete rewrite and evolution of ebdonato/npx_card, rebuilt with modern ES Modules, updated dependencies, and an improved interactive experience.

Originally inspired by anmol098/npx_card - a brilliant idea for developer business cards in the terminal.

License

MIT License - See LICENSE for details.

Author

Eduardo Batista Donato