Commit graph

63 commits

Author SHA1 Message Date
Peter Steinberger
f41e70e23e Add proper tool description and work around a bug in Gemini’s parser 2025-05-25 18:02:05 +02:00
Peter Steinberger
50846a5816
Merge pull request #1 from steipete/dependabot/npm_and_yarn/npm_and_yarn-fc657e729b 2025-05-25 15:39:25 +02:00
dependabot[bot]
f1cc0824a7
Bump the npm_and_yarn group across 1 directory with 4 updates
Bumps the npm_and_yarn group with 4 updates in the / directory: [esbuild](https://github.com/evanw/esbuild), [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest), [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `esbuild` from 0.21.5 to 0.25.4
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.25.4)

Updates `vitest` from 1.6.1 to 3.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.4/packages/vitest)

Updates `@vitest/ui` from 1.6.1 to 3.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.4/packages/ui)

Updates `@vitest/coverage-v8` from 1.6.1 to 3.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.4/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vitest
  dependency-version: 3.1.4
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@vitest/ui"
  dependency-version: 3.1.4
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 3.1.4
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-25 12:08:45 +00:00
Peter Steinberger
6396e299be Prepare for v1.0.0-beta.3 release 2025-05-25 14:07:21 +02:00
Peter Steinberger
ed59bb58dc Combine image + analyze 2025-05-25 13:32:39 +02:00
Peter Steinberger
6c2c327a2c Add E2E tests 2025-05-25 03:20:15 +02:00
Peter Steinberger
26c275df07 Update spec 2025-05-25 02:27:50 +02:00
Peter Steinberger
841045edbb ee test prep 2025-05-25 02:27:45 +02:00
Peter Steinberger
b029504f2f Report version right in the tool 2025-05-25 02:27:32 +02:00
Peter Steinberger
bda349ea29 Improve error messages 2025-05-25 02:27:19 +02:00
Peter Steinberger
b5f1fa7ded Report analyze time 2025-05-25 02:26:45 +02:00
Peter Steinberger
acca3ba4a4 build fixes 2025-05-25 02:26:34 +02:00
Peter Steinberger
9acd68c7c5 Update ignores 2025-05-25 02:26:21 +02:00
Peter Steinberger
2ea94f94f4 Delete the old peekaboo 2025-05-25 02:26:14 +02:00
Peter Steinberger
ea47b15a6a Various readme work 2025-05-25 01:53:10 +02:00
Peter Steinberger
3e9bfcdf4e Fixes a test 2025-05-25 01:43:47 +02:00
Peter Steinberger
c366be75e6 Test explainer 2025-05-25 01:43:43 +02:00
Peter Steinberger
5c3958d305 Run mocked tests 2025-05-25 01:43:35 +02:00
Peter Steinberger
d84b805894 Update spec for cli rename 2025-05-25 01:43:27 +02:00
Peter Steinberger
806fcd6b50 Readme tweaks 2025-05-25 01:35:02 +02:00
Peter Steinberger
cac7975bbe Update tests 2025-05-25 01:34:58 +02:00
Peter Steinberger
8209adc3d0 Update to Swift 6 and rename swift-cli to peekaboo-cli
- 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>
2025-05-25 01:31:43 +02:00
Peter Steinberger
97eba5e97e Add tests; finish peekabo cli rename 2025-05-25 01:28:34 +02:00
Peter Steinberger
857ce73b94 rename swift-cli to peekaboo-cli 2025-05-25 01:28:06 +02:00
Peter Steinberger
99acdff66f Add peekaboo cli 2025-05-25 01:26:49 +02:00
Peter Steinberger
670e1c485a Add GitHub Actions CI workflow for Node.js builds
- 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>
2025-05-25 01:25:35 +02:00
Peter Steinberger
76da6bc87e
Update README.md 2025-05-23 06:51:27 +02:00
Peter Steinberger
8fc7209d6a
Update README.md 2025-05-23 06:51:15 +02:00
Peter Steinberger
d46d38de53
Update README.md 2025-05-23 06:50:55 +02:00
Peter Steinberger
bc0896153a
Update README.md 2025-05-23 06:50:39 +02:00
Peter Steinberger
2de38fd0ad
Update README.md 2025-05-23 06:50:19 +02:00
Peter Steinberger
29ed3a2746 👁️ Add "I SEE DEAD PIXELS\!" section explaining why AI needs eyes
- 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>
2025-05-23 06:49:56 +02:00
Peter Steinberger
d4263d7fe5 🎃 Transform README into spooky Halloween theme
- 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>
2025-05-23 06:46:48 +02:00
Peter Steinberger
fd380f3c58 bump 2025-05-23 06:33:48 +02:00
Peter Steinberger
6f8a686897 log level casing should not matter 2025-05-23 06:33:42 +02:00
Peter Steinberger
a92be77ea3 tool, log and other little fixes 2025-05-23 06:29:35 +02:00
Peter Steinberger
28ec14ff3f 📝 Update installation to use @beta tag
Since we published as 1.0.0-alpha1 with beta tag, users should install using @beta instead of @latest
2025-05-23 06:08:13 +02:00
Peter Steinberger
30339b3573 🚀 Release v1.0.0-alpha1 as npm package @steipete/peekaboo-mcp
- 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
2025-05-23 06:01:55 +02:00
Peter Steinberger
eab4e5a394 Add build dir, prepare package 2025-05-23 05:57:06 +02:00
Peter Steinberger
a7970d8de7 Add tests 2025-05-23 05:40:31 +02:00
Peter Steinberger
2619f2a916 Add swift CLI 2025-05-23 05:40:27 +02:00
Peter Steinberger
b3327b7cbe Add TypeScript mcp server 2025-05-23 05:40:21 +02:00
Peter Steinberger
f746dc45c2 Add docs 2025-05-23 05:39:36 +02:00
Peter Steinberger
95a5208127 Add .gitignore and remove .DS_Store files
- Added .gitignore to exclude macOS .DS_Store files
- Removed tracked .DS_Store file from repository
- Updated README.md

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-22 21:53:46 +02:00
Peter Steinberger
881880d533 🧪 Add comprehensive window capture tests & fix fallback messages
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>
2025-05-22 21:47:54 +02:00
Peter Steinberger
3515285897 🐛 Fix window capture to properly clip to app windows
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>
2025-05-22 21:44:11 +02:00
Peter Steinberger
e1da1b7319 📝 Remove version number from README
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>
2025-05-22 21:38:13 +02:00
Peter Steinberger
e9f4a83fae 📝 Remove "NEW" label - this is v1.0, not an update
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>
2025-05-22 21:16:14 +02:00
Peter Steinberger
0b37ec090d 🚀 Peekaboo v1.0 - Smart Multi-Window AI & Enhanced CLI
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>
2025-05-22 21:15:25 +02:00
Peter Steinberger
03e220689d ☁️ Added Cloud AI Integration Guide - Claude Code, Windsurf & More
🚀 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>
2025-05-22 19:34:43 +02:00