robo-cli
v1.0.0
Published
A smart CLI tool for user management and data operations
Maintainers
Readme
🤖 Kevan CLI
A smart and powerful CLI tool for user management and data operations with a beautiful interface and interactive mode.
✨ Features
- 🎨 Beautiful Interface - Colorful output with emojis and progress indicators
- 🔄 Interactive Mode - User-friendly interactive prompts
- 👤 User Management - Create, list, search, and manage users
- 📊 Data Operations - Export and import data in multiple formats
- ⚙️ Configuration - Persistent configuration management
- 🚀 Fast & Reliable - Built with modern Node.js and ES modules
- 📱 Cross-Platform - Works on Windows, macOS, and Linux
🚀 Installation
Global Installation (Recommended)
npm install -g robo-cliLocal Installation
npm install robo-cli
npx robo-cliFrom Source
git clone https://github.com/yourusername/robo-cli.git
cd robo-cli
npm install
npm link📖 Usage
Quick Start
# Show help and available commands
robo --help
# Start interactive mode
robo interactive
# Or use the short alias
robo iUser Management
# View user details
robo user detail
# or
robo u d
# Create a new user
robo user create
# or
robo u c
# List all users
robo user list
# or
robo u l
# Search users
robo user search
# or
robo u sData Operations
# Export data
robo data export
# or
robo d e
# Import data
robo data import
# or
robo d iConfiguration
# Show current configuration
robo config show
# Set configuration value
robo config set theme dark
# Get specific configuration
robo config get outputFormat
# Reset to defaults
robo config resetLegacy Commands (Backward Compatibility)
# Legacy commands still work
robo detail
robo fill🎯 Interactive Mode
The interactive mode provides a guided experience:
robo interactiveThis will show you a beautiful banner and present you with menu options:
- 👤 User Management - All user-related operations
- 📊 Data Operations - Export/import functionality
- ❓ Help - Show available commands
- 🚪 Exit - Exit the application
⚙️ Configuration
The CLI automatically creates a configuration file at ~/.robo-cli/config.json with the following options:
{
"theme": "default",
"outputFormat": "table",
"autoSave": true,
"verbose": false,
"apiEndpoint": "https://api.example.com",
"timeout": 30000,
"retries": 3
}Configuration Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| theme | string | "default" | UI theme (default, dark, light, colorful) |
| outputFormat | string | "table" | Output format (table, json, csv, yaml) |
| autoSave | boolean | true | Automatically save data after operations |
| verbose | boolean | false | Enable verbose output |
| apiEndpoint | string | "https://api.example.com" | API endpoint URL |
| timeout | number | 30000 | Request timeout in milliseconds |
| retries | number | 3 | Number of retry attempts |
🛠️ Development
Prerequisites
- Node.js >= 18.0.0
- npm >= 8.0.0
Setup
# Clone the repository
git clone https://github.com/yourusername/robo-cli.git
cd robo-cli
# Install dependencies
npm install
# Link for global access
npm link
# Run tests
npm testProject Structure
robo-cli/
├── index.js # Main CLI entry point
├── lib/
│ ├── utils.js # Utility functions
│ ├── commands.js # Command implementations
│ └── config.js # Configuration management
├── package.json # Package configuration
└── README.md # This fileAdding New Commands
- Add command logic to
lib/commands.js - Register the command in
index.js - Update this README with usage examples
📦 Publishing
Prepare for Publishing
# Update version
npm version patch # or minor, major
# Run tests
npm test
# Build (if needed)
npm run buildPublish to npm
# Login to npm
npm login
# Publish
npm publish🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Commander.js - Command-line interface framework
- Inquirer.js - Interactive command line prompts
- Chalk - Terminal string styling
- Ora - Elegant terminal spinners
- Figlet - ASCII art text
📞 Support
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📧 Email: [email protected]
Made with ❤️ by Your Name
