- Migrate Swift code to Swift 6 compatibility
- Rename swift-cli folder to peekaboo-cli for better naming consistency
- Update all references throughout the codebase (build scripts, imports, tests)
- Fix .gitignore to properly track Swift source files
- Update environment variable names to use PEEKABOO_ prefix
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Configure CI to run on macOS-latest
- Test with Node.js 20.x and 22.x
- Run npm build and tests on push/PR
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add humorous dialogue showing the pain of explaining visual bugs to blind AI
- List practical benefits: bug hunting, design reviews, UI testing, etc.
- Position Peekaboo as "supernatural contact lenses" for AI assistants
- Keep the spooky theme while explaining real developer value
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add ghost emojis and supernatural terminology throughout
- Rename sections with mystical themes (Installation → Summoning, etc.)
- Transform technical terms into magical concepts
- Update all LOG_LEVEL references to lowercase format
- Maintain technical accuracy while adding Halloween personality
👻 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Convert to scoped npm package for easier installation
- Simplify installation to use npx (no global install needed)
- Update README to prioritize npm over AppleScript
- Add banner image with absolute GitHub URL
- Configure package for public npm publishing
Added automated tests to verify window capture functionality:
- Window bounds capture verification (checks -R flag usage)
- Window vs fullscreen size comparison
- Multi-window bounds capture testing
- Fallback message format verification
- Window capture with AI analysis
Also fixed fallback message to use Peekaboo prefix when falling back
to fullscreen capture due to inability to get window bounds.
Test additions:
- New "window" test mode for focused testing
- Added to quick and all test suites
- Comprehensive coverage of window capture edge cases
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Previously, window capture was falling back to fullscreen because it couldn't
get window IDs. Now using window bounds (position + size) with screencapture's
-R flag to properly capture only the app window content.
Changes:
- Use System Events to get window position and size
- Build screencapture -R command with x,y,width,height
- Added captureWindowByIndex for multi-window scenarios
- Proper error handling with fallback to fullscreen
This ensures AI analysis and screenshots only show the targeted app,
not the entire desktop.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Removing version references from README makes it more maintainable.
The version is tracked in the script itself and in git tags.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Since Peekaboo hasn't shipped yet, these aren't "new" features - they're
just the features of v1.0. Updated README to reflect this accurately.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
• 🪟 Smart Multi-Window AI: Automatically analyzes ALL windows when app has multiple
• ⏰ Timeout Protection: 90-second timeout prevents hanging on slow AI models
• 🎯 Clean CLI Design: Consistent flags (-o, -f, -w, -m, -a, -q, -v) with logical defaults
• 📝 All Messages Prefixed: "Peekaboo 👀:" for clear AI tool integration
• 🔄 Auto-Detection: Enables multi-window mode automatically for AI analysis
• 🎛️ Override Control: Use -w flag to force single window analysis
Technical changes:
- Changed version to 1.0.0 (initial release)
- Added formatMultiWindowAnalysis for consolidated AI results
- Improved error messages with proper context
- Enhanced test suite with multi-window AI tests
- Updated README with comprehensive documentation
This release provides a production-ready screenshot tool with intelligent
multi-window handling and robust AI integration.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
🚀 Major documentation enhancement for AI tool integration:
📖 New Cloud AI Integration Section:
• Complete setup guide for Claude Code, Windsurf, ChatGPT, and other AI tools
• Simple 3-step process: copy file, tell AI about it, let AI auto-discover features
• Self-documenting design means AI tools instantly understand all capabilities
💡 Practical Integration Examples:
• Example prompts for different AI assistants
• Python integration code for custom AI scripts
• Real-world workflow examples combining cloud + local AI
🎯 Key Benefits Highlighted:
• Zero configuration required - just copy and use
• Smart filenames perfect for AI workflows
• Comprehensive feature auto-discovery by AI tools
• Reliable unattended operation ideal for AI automation
🔗 Enhanced Feature Coverage:
• Added Cloud AI Integration to main feature list
• Updated features table with new capabilities
• Emphasized self-documenting nature for AI consumption
This makes Peekaboo incredibly easy to integrate with any AI development workflow\!
🚀 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✨ Major AI functionality improvements and documentation enhancements:
📏 Smart Image Compression:
• Auto-detects large images (>5MB) and compresses to 2048px for optimal AI processing
• Uses macOS native sips tool for quality resizing while preserving aspect ratio
• Preserves original screenshots untouched while creating temporary compressed versions
• Significantly improves AI analysis speed and reliability
🛠️ Enhanced Ollama Integration:
• Fixed AppleScript file writing to handle large JSON payloads (replaces shell limitations)
• Improved base64 encoding with newline removal for clean API calls
• Added robust JSON response parsing with proper escape handling
• Enhanced error handling for model availability and API connectivity
🎯 Argument Parsing Improvements:
• Fixed flag parsing to properly handle --verbose --ask combinations
• Added fullscreen mode support for --ask without app targeting
• Improved app identifier resolution with fullscreen handling
• Enhanced validation and error reporting
📖 Comprehensive README Enhancements:
• Highlighted smart image resizing feature with technical details
• Added complete step-by-step Ollama setup guide with multiple installation options
• Enhanced model comparison table with sizes, strengths, and use cases
• Added pro usage examples showcasing automatic compression benefits
• Improved formatting with clear sections and visual highlights
🧪 AI Testing Validation:
• All AI tests now passing with reliable Ollama API integration
• Verified one-step and two-step AI analysis workflows
• Confirmed smart compression works seamlessly with various image sizes
🚀 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Enhanced testing section to showcase the robust AI test suite:
New Testing Documentation:
• Highlighted 8 comprehensive AI vision analysis tests
• Added specific test mode examples (ai, advanced, basic, quick)
• Detailed AI test coverage breakdown
• Clear command examples for different testing scenarios
AI Test Coverage Highlights:
• One-step: Screenshot + AI analysis workflow
• Two-step: Analyze existing images separately
• Custom model specification and auto-detection
• Error handling: Invalid models, missing files, malformed commands
• Graceful degradation when Ollama/models unavailable
Testing Commands:
./test_peekaboo.sh ai # AI tests only
./test_peekaboo.sh advanced # Multi-window, discovery, AI
./test_peekaboo.sh all # Comprehensive suite
Perfect for developers wanting to validate AI functionality\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Enhanced test suite with full AI testing capabilities:
Test Coverage:
• One-step workflow: Screenshot + AI analysis in single command
• Two-step workflow: Analyze existing images separately
• Custom model testing with available vision models
• Error handling: Invalid models, missing files, malformed commands
• Smart model auto-detection validation
• Complex questions with special characters
Features:
• Auto-detects available Ollama installation and vision models
• Gracefully skips AI tests if Ollama/models not available
• Provides setup instructions when missing dependencies
• New dedicated 'ai' test mode for focused AI testing
• Integrated into advanced and comprehensive test suites
Examples:
./test_peekaboo.sh ai # AI tests only
./test_peekaboo.sh advanced # Includes AI tests
./test_peekaboo.sh all # Full suite with AI
Perfect for validating AI vision analysis functionality\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major new feature: Local AI vision analysis with Ollama integration
Features:
• One-step: Screenshot + AI analysis in single command
• Two-step: Analyze existing images separately
• Smart model auto-detection with priority ranking
• Simplified ollama run commands (no complex API calls)
• Comprehensive error handling and setup instructions
Priority models: qwen2.5vl:7b > llava:7b > llava-phi3:3.8b > minicpm-v:8b
Examples:
osascript peekaboo.scpt "Safari" --ask "What's on this page?"
osascript peekaboo.scpt analyze "/tmp/shot.png" "Any errors?"
Perfect for automated testing, QA, and visual verification\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Enhanced documentation to highlight new features:
• Added dedicated Smart Filenames section with examples
• Updated feature list with model-friendly naming & speed
• Enhanced examples throughout showing actual output filenames
• Updated "Why Peekaboo Rocks" with performance improvements
• Added specific timing details (0.3s, 0.2s, 0.1s delays)
• Emphasized automation and AI model compatibility
Now clearly communicates the value of recent optimizations\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The enhanced version has all features (multi-window, app discovery, etc.)
No need for two separate scripts - one powerful tool is better.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major usability improvement making Peekaboo easier to use:
• Output path now optional - auto-generates timestamped files in /tmp
• Maintains full backward compatibility with existing scripts
• Unified documentation approach (single peekaboo.scpt references)
• Streamlined setup and examples in README
• Enhanced user experience while preserving power user features
Quick usage: osascript peekaboo.scpt "Safari"
Result: /tmp/peekaboo_20250522_143052.png
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✨ Updated test suite for enhanced error messaging system:
🔍 Enhanced Messaging Tests:
• Validates error messages contain specific troubleshooting guidance
• Checks for "Common issues:" sections in errors
• Verifies bundle ID vs app name specific advice
• Tests structured success message format with emojis
• Validates contextual suggestions and tips
📊 Improved Test Reporting:
• Shows error types for failed tests (e.g., "App Resolution Error:")
• Displays first line of results for context
• Enhanced command test feedback (app counts, help validation)
• Better success/failure detection for new message formats
🎯 New Test Categories:
• Enhanced messaging validation tests
• Window mode error testing
• Bundle ID vs app name error differentiation
• Success message structure validation
📸 README Updates:
• Added banner image (assets/banner.png)
• Visual branding for GitHub display
🎪 Test Coverage Now Includes:
• Error message content validation
• Troubleshooting guidance verification
• Success message structure testing
• Enhanced context reporting
• Multi-window error scenarios
The test suite now validates that AI models receive clear,
actionable error messages with specific guidance for resolution.
🤖💥 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✨ Comprehensive descriptive error handling for AI model clarity:
🎯 App Resolution Errors:
• Detailed guidance for bundle ID vs app name issues
• Specific suggestions based on identifier type
• Clear troubleshooting steps for common problems
🪟 Window-Specific Errors:
• No windows: Clear explanation + suggestions
• Inaccessible windows: Accessibility permission guidance
• Multi-window failures: Fallback mode suggestions
• Window enumeration context with counts
🔐 Permission Errors:
• Screen Recording permission with exact steps
• File permission issues with alternative paths
• Accessibility permission requirements
📸 Enhanced Success Messages:
• Detailed file information and context
• Mode descriptions (full screen, window, multi-window)
• Clear indication of what was captured
• Helpful context for multi-window results
🎪 Model-Friendly Output:
• Every error explains what went wrong AND how to fix it
• Success messages detail exactly what was accomplished
• Context always provided for AI model understanding
• Structured information for easy parsing
💡 Examples:
Error: "App 'Safari' has 3 window(s) but none are accessible.
This may require accessibility permissions..."
Success: "Multi-window capture successful\! Captured 2 windows...
💡 All windows captured with descriptive filenames."
🤖💥 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✨ Complete rewrite of test suite with 8 test categories:
• 🎯 Basic functionality (Classic & Pro versions)
• 🎨 Format support (PNG, JPG, PDF)
• 🎪 Advanced Pro features (multi-window, discovery)
• 🔍 App discovery and window enumeration
• ⚠️ Error handling and edge cases
• 💪 Performance and stress testing
• 🔗 Integration workflows
• 🖥 System app compatibility
🎯 Features:
• 70+ individual test cases across all scenarios
• Multiple test modes: all, basic, advanced, errors, stress, quick
• Comprehensive help system with examples
• Detailed success/failure reporting with statistics
• File size validation and directory analysis
• Rapid-fire stress testing
• Integration workflow testing (discovery → screenshot)
• Enhanced error validation for edge cases
📊 Test Coverage:
• Both Peekaboo Classic and Pro versions
• All command-line options and flags
• Bundle ID vs app name resolution
• Multi-window capture with descriptive naming
• Deep directory creation and special characters
• Performance under rapid succession
• Memory and resource usage patterns
🎪 Usage Examples:
./test_peekaboo.sh quick # Essential tests
./test_peekaboo.sh stress --cleanup # Performance + cleanup
./test_peekaboo.sh all # Full comprehensive suite
This makes Peekaboo one of the most thoroughly tested screenshot
automation tools available\! 👀 → 📸 → 💾🤖💥 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
👀 → 📸 → 💾 — Peekaboo—screenshot got you\! Now you see it, now it's saved.
Features:
• 🎯 Two versions: Classic (simple) and Pro (advanced)
• 🚀 Unattended screenshot automation - zero interaction required
• 🎭 Multi-window capture with descriptive filenames
• 🔍 App discovery - list all running apps and windows
• 🎯 Smart app targeting - names OR bundle IDs
• 🎨 Multiple formats: PNG, JPG, PDF
• 🏗 Auto directory creation
• 💥 Enhanced error handling and logging
• 🪟 Window-specific capture modes (front window only)
• 📝 Comprehensive test suite included
Built in the style of terminator.scpt with modern enhancements.
Files:
- peekaboo.scpt: Classic version for simple screenshots
- peekaboo_enhanced.scpt: Pro version with multi-window support
- test_screenshotter.sh: Comprehensive test suite
- README.md: Punchy documentation with real-world examples
🤖💥 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>