ayushdhiman
v1.1.0
Published
Ayush Dhiman's CLI Portfolio
Maintainers
Readme
Ayush Dhiman CLI Portfolio
A super cool, interactive CLI tool to get to know Ayush Dhiman with animated ASCII art, system information, and secure messaging functionality! 🚀✨
🎯 Features
- 🚀 Zero Setup: Install and use immediately - no configuration needed
- 💬 Secure Messaging: Send messages with built-in JWT authentication
- 🎮 Interactive Games: Play games and compete on global leaderboards
- 🎨 Beautiful UI: Rainbow ASCII art with smooth animations
- 📊 Real-time System Info: Live system monitoring and display
- 🌍 Cross-Platform: Works on Windows, macOS, and Linux
- ⚡ Fast & Responsive: Optimized for quick loading and smooth experience
- 📱 Mobile Friendly: QR codes for easy mobile access
🚀 Quick Start
No setup required! Just install and start using immediately:
# Install globally
npm install -g ayushdhiman
# Or run directly with npx
npx ayushdhiman📋 Available Commands
Core Commands
ayushdhiman # Interactive portfolio with system info
ayushdhiman help # Show all available commands
ayushdhiman website # Show website URL
ayushdhiman email # Show contact email
ayushdhiman skills # Display comprehensive tech stack
ayushdhiman qr # Generate QR code for website
ayushdhiman sysinfo # Detailed system informationInteractive Features
ayushdhiman message # Send a secure message
ayushdhiman games # Play interactive games
ayushdhiman leaderboard # View global game leaderboardDeveloper Commands
ayushdhiman host setup-keys # Generate authentication keys (maintainers only)
ayushdhiman host help # Show host-specific commands🎮 Games & Leaderboard
The CLI includes several interactive games with a global leaderboard:
| Game | Description | |------|-------------| | 🧩 Maze Solver | Navigate through procedurally generated mazes | | 🧠 Memory Game | Remember and repeat sequences | | 🔢 Math Challenge | Quick arithmetic problems | | ⌨️ Typing Speed Test | Test your WPM and accuracy |
All scores are automatically submitted to the global leaderboard!
🛠️ Technical Stack
- Runtime: Node.js 16+
- Backend: Cloudflare Workers (serverless)
- Authentication: RSA JWT tokens
- Storage: Cloudflare KV (key-value store)
- CLI Libraries: Commander.js, Inquirer.js, Chalk, Boxen
- System Info: systeminformation
🔧 Requirements
- Node.js 12 or higher
- Terminal with color support (for best experience)
- Internet connection (for messaging and leaderboard features)
📦 Installation
Global Installation
npm install -g ayushdhimanDirect Usage (No Installation)
npx ayushdhimanDevelopment Setup
# Clone the repository
git clone https://github.com/AyushDhimann/ayushdhiman-cli.git
# Install dependencies
cd ayushdhiman-cli
npm install
# Test locally
node bin/ayushdhiman.js🏗️ Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ CLI Package │───▶│ Cloudflare │───▶│ Message │
│ │ │ Worker │ │ Channel │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Private Key │ │ Public Key │ │ Secrets │
│ (bundled) │ │ (hardcoded) │ │ (env vars) │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘🔐 Security
This CLI uses RSA JWT authentication with the following security model:
- Private Key: Bundled with the npm package for token generation
- Public Key: Hard-coded in the Cloudflare Worker for verification
- JWT Tokens: Short-lived (1 minute TTL) for API requests
- Environment Variables: Sensitive data stored as Worker secrets
Note: The private key is public (visible in npm package) which is acceptable for this use case as it only protects non-sensitive portfolio interactions.
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
npm test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Development Guidelines
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Keep commits atomic and well-described
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 Author
Ayush Dhiman
- 🌐 Website: ayushdhiman.dev
- 📧 Email: [email protected]
- 💼 LinkedIn: linkedin.com/in/ayushdhiman
- 🐙 GitHub: github.com/AyushDhimann
- 🐦 Twitter: twitter.com/ayushdhiman
📈 Stats
- ⭐ GitHub Stars: Star this repo
- 📦 NPM Downloads: View on NPM
- 🎮 Games Played: View with
ayushdhiman leaderboard
🙏 Acknowledgments
- Thanks to all contributors and users
- Inspired by various CLI tools in the Node.js ecosystem
- Special thanks to the open-source community
