snapcoder
v1.2.1
Published
Command-line interface for taking website screenshots - AI agent friendly version of SnapCoder
Maintainers
Readme
SnapCoder
Command-line interface for taking website screenshots - AI agent friendly
Installation
# Global installation (recommended)
npm install -g snapcoder
# Or locally in your project
npm install snapcoderUsage
Taking a single screenshot
Screenshots are saved by default in the ./snapcoder/ subdirectory of your current working directory.
# Full page screenshot (saved in ./snapcoder/)
snapcoder capture https://example.com
# Visible area screenshot
snapcoder capture https://example.com --mode visible
# Custom output path
snapcoder capture https://example.com --output my-screenshot.png
# Custom browser size
snapcoder capture https://example.com --width 1280 --height 720
# Selection area screenshot
snapcoder capture https://example.com --mode selection --selection "100,100,800,600"Batch screenshots
# Create urls.txt with one URL per line
echo "https://example.com" > urls.txt
echo "https://google.com" >> urls.txt
# Run batch capture (defaults to ./snapcoder/)
snapcoder batch urls.txt
# Or with custom directory
snapcoder batch urls.txt --output-dir ./my-screenshotsOptions
--mode <mode>: Screenshot mode (visible,fullpage,selection) - default:fullpage--output <path>: Output file path - default: auto-generated--width <width>: Browser width - default:1920--height <height>: Browser height - default:1080--wait <ms>: Wait time after page load - default:2000--headless <mode>: Headless mode (true,false,new) - default:true--selection <coords>: Selection coordinates for selection mode (x,y,width,height)--proxy <url>: Proxy server URL (e.g.,http://proxy.company.com:8080)--ignore-ssl: Ignore SSL certificate errors (useful for corporate networks)
Version & Help
# Show version
snapcoder -v
snapcoder --version
# Show changelog
snapcoder changelog
# Show help
snapcoder --help
snapcoder capture --helpFor AI Agents
This tool is specifically designed for use by AI agents:
# Simple usage
snapcoder capture https://example.com
# JSON output for parsing (future feature)
snapcoder capture https://example.com --format json
# Batch processing
snapcoder batch urls.txt --output-dir ./outputFeatures
- ✅ Full page screenshots with optimized height detection (no white borders)
- ✅ Visible area screenshots
- ✅ Selection area screenshots
- ✅ Batch processing
- ✅ Auto-generated filenames with timestamp
- ✅ Customizable browser viewport
- ✅ Headless and non-headless modes
- ✅ Automatic image compression for Claude Code compatibility (< 5 MB)
- ✅ Corporate network support (proxy + SSL certificate handling)
- ✅ File:// URL support for local HTML files
- ✅ AI agent friendly CLI interface
Technical Details
The CLI tool uses:
- Puppeteer for browser automation
- Commander.js for CLI interface
- Chalk for colored output
- Sharp for image compression and optimization
File Naming
Screenshots are automatically named as:
snapcoder_{domain}_{YYYY-MM-DD_HH-MM-SS}.png
For example: snapcoder_example_2024-06-15_14-30-25.png
