bensberry
v1.2.0
Published
✨ Bensberry's terminal splash card — run with npx bensberry
Maintainers
Readme
🌟 Bensberry Terminal Card
A professional, interactive CLI business card built with Node.js.
🚀 Usage
Anyone can view your card by running:
npx bensberry🛠️ Features
- Live Updates: Fetches data from a Secret GitHub Gist, allowing content changes without system updates.
- Interactive REPL: A custom command-line interface inside the card (
/help,/message,/top,/response,/ask). - Secure Messaging: Integrates with Formspree to allow users to send you messages directly from their terminal.
- Rich Design: Uses
boxenfor layout andchalkfor vibrant terminal colors.
📖 Technical Architecture
1. Dynamic Content Fetching
We use fetch with a ?t=${Date.now()} cache-buster. This ensures that every time someone runs your card, they get the latest message from your Gist, even if GitHub tries to cache the raw file.
2. Custom REPL (Read-Eval-Print Loop)
Instead of a simple "Press any key to exit," we implemented a readline interface. This keeps the terminal "alive" and allows you to process slash commands like /message.
3. Side-by-Side Rendering
To create the "Split UI" (ASCII art on the left, card on the right), we split the strings into arrays of lines and joined them line-by-line using padEnd() to ensure exact alignment.
📈 Learning from this project
- Async/Await: Used for non-blocking network calls.
- Process Streams: Interacting with
process.stdinandprocess.stdout. - NPM Publishing: Configuring
binandtype: modulefor global execution.
