huhu-cli
v1.1.0
Published
Modern Package Manager with Caching
Maintainers
Readme
🚀 Why Huhu?
Huhu is designed to solve common pain points in package management:
- ⚡ Lightning Fast: Up to 5x faster than npm and 2x faster than Yarn
- 💾 Space Efficient: Uses up to 60% less disk space with intelligent caching
- 🔄 Smart Updates: Only downloads what's changed, saving bandwidth and time
- 🌐 Multilingual: Full support for English and Turkish languages
- 🎨 Beautiful UI: Modern, colorful, and informative command-line experience
- 🛡️ Secure: Built-in security auditing and vulnerability detection
- 🔌 Plugin System: Extensible architecture for custom functionality
- 📊 Analytics: Built-in dependency analysis and visualization
🌟 Features
Huhu is a modern package manager designed to make your development workflow faster and more efficient with:
Core Features
Intelligent Caching System
- Dramatically reduces installation times by caching packages locally
- Smart cache pruning to optimize disk space usage
- Offline mode support for working without internet connection
Performance Optimizations
- Parallel downloads and installations
- Optimized dependency resolution algorithm
- Incremental updates to minimize network usage
Developer Experience
- Interactive CLI with beautiful animations and progress indicators
- Detailed error messages with helpful suggestions
- Comprehensive documentation and examples
Advanced Features
Multilingual Support
- Full support for English and Turkish languages
- Easy language switching with a single command
- Localized error messages and documentation
Security Features
- Dependency vulnerability scanning
- Integrity verification of downloaded packages
- Permission-aware installations
Project Management
- Workspace support for monorepos
- Lockfile generation for reproducible builds
- Script management and execution
Extensibility
- Plugin system for custom functionality
- Hooks for integration with CI/CD pipelines
- API for programmatic usage
📦 Installation
Using npm (Recommended)
```bash npm install -g huhu ```
Using Yarn
```bash yarn global add huhu ```
Using pnpm
```bash pnpm add -g huhu ```
Direct Download
Download the latest release from our GitHub Releases page.
Verify Installation
```bash huhu --version ```
🚀 Quick Start
Initialize a New Project
```bash huhu init ```
Install Dependencies
```bash
Install dependencies from package.json
huhu install
Install specific packages
huhu install react react-dom
Install as dev dependency
huhu install typescript --dev
Install with specific version
huhu install [email protected] ```
Update Packages
```bash
Update all packages
huhu update
Update specific packages
huhu update lodash axios ```
Uninstall Packages
```bash huhu uninstall lodash ```
Run Scripts
```bash huhu run start ```
📋 Commands
Huhu offers a comprehensive set of commands to manage your packages:
Core Commands
| Command | Description | Example |
|---------|-------------|---------|
| install | Install packages | huhu install react |
| uninstall | Uninstall packages | huhu uninstall lodash |
| update | Update packages interactively | huhu update |
| outdated | Check for outdated packages | huhu outdated |
| list | List installed packages | huhu list |
| search | Search for packages | huhu search react |
| info | Show package information | huhu info express |
Project Commands
| Command | Description | Example |
|---------|-------------|---------|
| init | Initialize a new project | huhu init |
| run | Run a script from package.json | huhu run start |
| script | Manage package.json scripts | huhu script add build "tsc" |
| dependencies | Analyze package dependencies | huhu dependencies |
| version | Bump package version | huhu version patch |
| publish | Publish package to npm registry | huhu publish |
| tag | Manage npm package tags | huhu tag add [email protected] latest |
Cache Commands
| Command | Description | Example |
|---------|-------------|---------|
| cache info | Show cache information | huhu cache info |
| cache clear | Clear the cache | huhu cache clear |
| cache prune | Remove old packages from cache | huhu cache prune |
| cache verify | Verify cache integrity | huhu cache verify |
Utility Commands
| Command | Description | Example |
|---------|-------------|---------|
| doctor | Check system health | huhu doctor |
| check | Check dependencies for issues | huhu check |
| audit | Check for vulnerabilities | huhu audit |
| backup create | Create a backup of packages | huhu backup create |
| backup restore | Restore packages from backup | huhu backup restore backup.tar.gz |
| lock | Generate lock file | huhu lock |
| debug | Show debug information | huhu debug |
Configuration Commands
| Command | Description | Example |
|---------|-------------|---------|
| config get | Get configuration value | huhu config get cacheDir |
| config set | Set configuration value | huhu config set maxCacheSize 10000 |
| config reset | Reset configuration to defaults | huhu config reset |
| translate | Change language | huhu translate tr |
| theme | Manage themes | huhu theme dark |
⚙️ Configuration
Huhu can be customized to fit your needs. The configuration is stored in a JSON file.
View Configuration
```bash huhu config get ```
Set Configuration Values
```bash huhu config set cacheDir "~/custom-cache" huhu config set maxCacheSize 10000 huhu config set animations false ```
Configuration Options
| Option | Description | Default | Type |
|--------|-------------|---------|------|
| language | Interface language (en, tr) | "en" | String |
| theme | UI theme (default, dark, light) | "default" | String |
| cacheDir | Cache directory path | "~/Documents/huhu-packs" | String |
| npmRegistry | NPM registry URL | "https://registry.npmjs.org" | String |
| maxCacheSize | Maximum cache size in MB | 5000 | Number |
| concurrency | Number of concurrent operations | 4 | Number |
| timeout | Request timeout in ms | 60000 | Number |
| animations | Enable/disable animations | true | Boolean |
| colors | Enable/disable colors | true | Boolean |
| logLevel | Logging level (debug, info, warn, error) | "info" | String |
| installStrategy | Installation strategy (parallel, sequential) | "parallel" | String |
| compressionLevel | Cache compression level (none, standard, max) | "standard" | String |
| autoUpdate | Check for updates automatically | true | Boolean |
| telemetry | Send anonymous usage data | false | Boolean |
| experimentalFeatures | Enable experimental features | false | Boolean |
| networkRetries | Number of network retry attempts | 3 | Number |
| strictSSL | Require SSL certificates to be valid | true | Boolean |
| preferOffline | Prefer cached packages over network | false | Boolean |
| offlineMode | Work entirely offline | false | Boolean |
📊 Benchmarks
Huhu is designed to be fast and efficient. Here's how it compares to other package managers:
Installation Time (seconds, lower is better)
| Package Manager | Small Project | Medium Project | Large Project | |----------------|---------------|----------------|---------------| | Huhu | 1.2s | 3.5s | 8.7s | | npm | 3.1s | 8.2s | 22.4s | | Yarn | 2.4s | 6.1s | 15.3s | | pnpm | 1.8s | 4.7s | 11.2s |
Disk Space Usage (MB, lower is better)
| Package Manager | Small Project | Medium Project | Large Project | |----------------|---------------|----------------|---------------| | Huhu | 45MB | 120MB | 310MB | | npm | 85MB | 230MB | 580MB | | Yarn | 65MB | 175MB | 450MB | | pnpm | 50MB | 135MB | 350MB |
Cache Hit Rate (%, higher is better)
| Package Manager | Second Install | After Cache Prune | Offline Mode | |----------------|----------------|-------------------|--------------| | Huhu | 98% | 92% | 95% | | npm | 85% | 70% | 80% | | Yarn | 90% | 80% | 85% | | pnpm | 95% | 85% | 90% |
🌐 Multilingual Support
Huhu supports multiple languages. Currently available:
- English (en)
- Turkish (tr)
Change language:
```bash huhu translate tr # Switch to Turkish huhu translate en # Switch to English ```
🔍 Troubleshooting
System Check
Run the doctor command to check your system:
```bash huhu doctor ```
Debug Mode
For more detailed information:
```bash huhu debug --verbose ```
Common Issues
📚 Documentation
For complete documentation, visit our official documentation site.
API Documentation
Huhu can also be used programmatically:
```javascript import { install, uninstall, update } from 'huhu';
// Install packages await install(['react', 'react-dom'], { dev: false });
// Uninstall a package await uninstall('lodash');
// Update packages await update(['axios']); ```
Configuration File
Huhu uses a configuration file located at ~/.huhurc. You can edit this file directly or use the config command.
🤝 Contributing
We love contributions! Here's how you can help:
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Please read our Contributing Guide for more details.
Development Setup
```bash
Clone the repository
git clone https://github.com/huhu-team/huhu.git cd huhu
Install dependencies
npm install
Run in development mode
npm start ```
Running Tests
```bash npm test ```
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgements
- npm - The original package manager for Node.js
- pnpm - Fast, disk space efficient package manager
- Yarn - Fast, reliable, and secure dependency management
📣 Community
- Discord - Join our community chat
- Twitter - Follow us for updates
- GitHub Discussions - Ask questions and share ideas
📈 Roadmap
See our Roadmap for upcoming features and improvements.
🔒 Security
If you discover a security vulnerability, please send an email to [email protected]. All security vulnerabilities will be promptly addressed.
