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

authmate-cli

v1.2.0

Published

A beautiful CLI tool for automatic login management with browser automation

Readme

🔐 AuthMate CLI

A beautiful CLI tool for automatic login management with backup & restore capabilities. Store your credentials securely and login to your favorite platforms with just a few keystrokes!

✨ Features

  • 🎨 Beautiful CLI Interface - Colorful and intuitive command-line experience
  • 🔒 Secure Storage - SQLite database to store credentials locally
  • 🚀 Automatic Login - Browser automation with ultra-fast login mode
  • 📋 Credential Management - Add, edit, delete, and list your saved credentials
  • 💾 Backup & Restore - Export and import your credentials safely
  • 🧭 Navigation Controls - Cancel/back options in all interactive operations
  • 🌐 Universal Support - Works with most login forms on the web
  • Speed Optimized - Fast typing, reduced delays, and optimized timing
  • 🌍 Global Access - Install globally via npm for system-wide access

🚀 Installation

Option 1: Install from NPM (Recommended)

# Install globally from npm
npm install -g authmate-cli

# Use anywhere in your system
authmate

Option 2: Local Development Setup

  1. Clone the repository:

    git clone <your-repo-url>
    cd AuthMate
  2. Install dependencies:

    npm install
  3. Make it globally accessible:

    npm install -g .

📖 Usage

Interactive Mode (Recommended)

Simply run the application to enter interactive mode:

authmate

Command Line Interface

You can also use specific commands:

# Start interactive mode
authmate start

# Add a new credential
authmate add

# List all credentials
authmate list

# Login to a specific platform
authmate login "Platform Name"

# Backup credentials
authmate backup [filename]

# Restore credentials
authmate restore <filename>

💾 Backup & Restore Features

📤 Backup Your Credentials

Interactive Mode:

  • Select "💾 Backup Credentials" from the main menu

Command Line:

# Create backup with auto-generated filename
authmate backup

# Create backup with custom filename
authmate backup my-credentials.json

# Example output: authmate-backup-2024-01-15.json

📥 Restore Your Credentials

Interactive Mode:

  • Select "📥 Restore Credentials" from the main menu

Command Line:

# Restore from backup file
authmate restore my-credentials.json

Backup Features:

  • JSON Format - Human-readable backup files
  • Auto-naming - Automatic date-based filenames
  • Conflict Resolution - Smart handling of duplicate credentials
  • Validation - File format verification before restore
  • Progress Feedback - Detailed import/skip statistics

🔄 Cross-Device Sync

# On Device A - Create backup
authmate backup my-setup

# Transfer file to Device B
# On Device B - Restore backup
authmate restore my-setup.json

🎯 How It Works

  1. Add Credentials: Store your login information securely

    • Platform name (e.g., Gmail, GitHub, Facebook)
    • Login URL
    • Username/Email
    • Password
  2. Select & Login: Choose a platform from your saved list

    • Browser opens automatically
    • Navigates to the login page
    • Fills in your credentials with optimized speed
    • Attempts multiple submission strategies
    • Ultra-fast mode for instant login
  3. Manual Verification: Browser stays open for you to verify and continue

🔧 Features Overview

🔐 Add New Credential

  • Input validation for all fields
  • URL formatting and validation
  • Duplicate detection with overwrite option
  • Secure password input (masked)

🚀 Login to Platform

  • Interactive platform selection
  • Automatic browser launch
  • Smart form field detection
  • Multiple login button detection strategies
  • Ultra-fast login mode (10ms typing speed)
  • Optimized auto-submit with multiple fallback methods
  • Graceful error handling with detailed logging

📋 List All Credentials

  • Beautiful formatted display
  • Shows platform name, URL, and username
  • Organized and easy to read

✏️ Edit Credential

  • Select any saved credential
  • Update any field
  • Keep existing password option
  • Input validation

🗑️ Delete Credential

  • Safe deletion with confirmation
  • Select from list interface
  • Prevents accidental deletions

💾 Backup Management

  • Export: Create JSON backups of all credentials
  • Import: Restore credentials from backup files
  • Auto-naming: Automatic date-based backup filenames
  • Conflict Resolution: Handle duplicate credentials intelligently
  • Validation: Verify backup file integrity before restore

🧭 Navigation & User Experience

  • Cancel/Back Options: Exit any operation and return to main menu
  • Interactive Prompts: User-friendly navigation throughout all features
  • Graceful Exit: Cancel operations at any point without losing data
  • Consistent Interface: Uniform navigation experience across all functions

Available Cancel Options:

  • Backup Process: Cancel during file path selection
  • Restore Process: Cancel during file selection or credential conflicts
  • Add Credential: Cancel before entering credential details
  • Edit Credential: Cancel during credential selection
  • Delete Credential: Cancel during credential selection
  • Login Selection: Cancel during platform selection (both regular and fast login)

⚡ Speed Optimizations

  • Ultra-Fast Typing: 10ms delay between keystrokes
  • Optimized Timing: Reduced auto-submit delay (1.5s)
  • Smart Navigation: Faster page loading with domcontentloaded
  • Multiple Submission Methods: Fallback strategies for reliable form submission
  • Field Clearing: Proper field clearing before input
  • Event Triggering: Proper input and change events

🛡️ Security

  • Local Storage: All data is stored locally in SQLite database
  • No Cloud Sync: Your credentials never leave your machine (unless you backup)
  • Private Repo Safe: Database file can be safely stored in private repositories
  • Masked Input: Passwords are hidden during input
  • Secure Backups: JSON backups can be encrypted or stored securely

📁 Project Structure

AuthMate/
├── index.js          # Main CLI application with backup/restore
├── database.js       # SQLite database operations
├── browser.js        # Browser automation with speed optimizations
├── fast-login.js     # Ultra-fast login mode implementation
├── utils.js          # Utility functions and styling
├── package.json      # Project dependencies and npm config
├── .npmignore        # NPM publish exclusions
├── data/             # Database storage directory
│   └── authmate.db   # SQLite database file
└── README.md         # This file

🎨 CLI Features

  • Colorful Interface: Uses Chalk for beautiful colored output
  • ASCII Art Banner: Figlet-powered application title
  • Loading Spinners: Ora spinners for better user experience
  • Boxed Content: Boxen for organized information display
  • Interactive Menus: Inquirer for smooth user interactions
  • Progress Indicators: Real-time feedback for all operations

🔧 Dependencies

  • commander: CLI framework
  • inquirer: Interactive command line prompts
  • sqlite3: SQLite database driver
  • puppeteer: Browser automation
  • chalk: Terminal string styling
  • figlet: ASCII art text
  • ora: Loading spinners
  • boxen: Create boxes in terminal

🚨 Troubleshooting

Browser Issues

  • Make sure you have Chrome/Chromium installed
  • Some sites may have anti-automation measures
  • Manual intervention might be needed for complex login forms
  • Check browser console for detailed error logs

Database Issues

  • Database file is created automatically in data/ directory
  • If database gets corrupted, delete data/authmate.db to reset
  • Use backup/restore to recover data

Login Detection Issues

  • The tool uses multiple strategies to find and submit login forms
  • Enhanced logging shows which submission methods are being tried
  • Some sites may use unusual form structures
  • You can always complete login manually in the opened browser

Backup/Restore Issues

  • Ensure backup files are valid JSON format
  • Check file permissions for read/write access
  • Backup files include metadata for validation

🌟 Usage Examples

# Quick start
authmate

# Add a credential
authmate add

# Login to GitHub
authmate login github

# Create a backup before cleanup
authmate backup before-cleanup

# Weekly backup routine
authmate backup weekly-$(date +%Y-%m-%d)

# Restore from backup
authmate restore weekly-2024-01-15.json

# List all saved platforms
authmate list

🤝 Contributing

Feel free to contribute to this project! Some ideas:

  • Add support for 2FA
  • Implement credential encryption
  • Add more platform-specific login strategies
  • Create browser extension integration
  • Add configuration options
  • Improve backup encryption

📦 Publishing

This package is available on npm as authmate-cli. To publish updates:

npm version patch  # or minor/major
npm publish

📝 License

MIT License - feel free to use this project for personal or commercial purposes.

🎉 Enjoy!

Happy automated logging in with backup peace of mind! 🚀


Made with ❤️ for developers who love beautiful CLIs and secure credential management