cmg
v0.1.0
Published
Modern CLI tool for image conversion and optimization
Maintainers
Readme
CMG (Convert My Graphics)
A modern CLI tool for batch image conversion and optimization. Easily convert and optimize multiple images at once while maintaining your directory structure.
Features
- 🖼️ Convert between multiple image formats (JPEG, PNG, WebP, GIF, TIFF, BMP)
- ⚡ Optimize images for web and storage
- 📏 Resize images with web-friendly presets
- 📁 Process entire directories recursively
- 🎯 Smart output directory handling
- 🔒 Windows Defender compatibility
- 🌐 Cross-platform support (Windows, macOS, Linux)
Installation
Global Installation (Recommended)
npm install -g .Using npx (No installation required)
npx cmgUsage
Basic usage:
cmgThis will start an interactive prompt asking for:
- Output format (JPEG, PNG, WebP)
- Image quality with presets:
- Maximum (100) - Lossless
- High (90) - Photos
- Medium (80) - Web optimal
- Low (60) - Small file size
- Custom quality...
- Image width with common web sizes:
- Original size
- Large (1920px) - Desktop
- Medium (1280px) - Tablet
- Small (768px) - Mobile
- Thumbnail (320px)
- Custom size...
- Output directory
- Whether to process subdirectories
Command Line Options
cmg [options]
Options:
-f, --format <type> output format (jpeg, png, webp) (default: "webp")
-q, --quality <number> output quality (1-100) (default: "80")
-w, --width <pixels> resize image width maintaining aspect ratio
-o, --output <dir> output directory for converted images
-r, --recursive process images in subdirectories
-h, --help display help for commandExamples
Convert all images in current directory to WebP with interactive options:
cmgConvert to JPEG with 90% quality:
cmg -f jpeg -q 90Convert and resize images to desktop size (1920px):
cmg -w 1920Process all images including subdirectories:
cmg -rSpecify output directory:
cmg -o ./convertedSupported Image Formats
- JPEG/JPG
- PNG
- WebP (recommended for web)
- GIF
- TIFF
- BMP
Default Directories
Windows
Default output directory: C:\CMGOutput
macOS/Linux
Default output directory: ~/CMGOutput
Windows Security Note
If you're using Windows with Controlled Folder Access enabled (Windows Defender), the tool will:
- Detect protected folders automatically
- Suggest safe alternative directories
- Guide you through the permission process if needed
Error Handling
The tool provides clear error messages for common issues:
- Permission denied
- Invalid directories
- Conversion failures
- Unsupported formats
Requirements
- Node.js 14.0 or higher
- NPM or yarn package manager
Dependencies
- sharp: Image processing
- commander: CLI interface
- inquirer: Interactive prompts
- cli-progress: Progress bars
- chalk: Colored output
License
MIT
Project Structure
imagino/
├── lib/
│ ├── converter.js # Image conversion logic
│ └── prompts.js # Interactive prompts
├── index.js # CLI entry point
├── package.json # Project configuration
└── README.md # DocumentationDevelopment
If you want to develop or modify the tool:
# Install dependencies
npm install
# Run locally
npm start#� �c�m�g� � �
