From 0639763e62f8778e0d10588e5c1b8de189716be5 Mon Sep 17 00:00:00 2001 From: SatoshiShibanuma Date: Sat, 5 Apr 2025 01:51:34 +0000 Subject: [PATCH] Update README with comprehensive documentation --- README.md | 203 ++++++++++++++++++++++++------------------------------ 1 file changed, 90 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index 14d9c6c..0af1c27 100644 --- a/README.md +++ b/README.md @@ -1,163 +1,140 @@ -# Cursor Auto Accept +# Cursor Auto Accept CLI -A tool for automatically accepting Cursor's AI suggestions. +## Project Overview -## Important Note +Cursor Auto Accept is an intelligent CLI tool designed to automatically accept AI code suggestions in the Cursor IDE across multiple monitors. This automation tool helps developers maintain workflow efficiency by reducing manual interactions with AI-generated code suggestions. -The `analyze_hover_results.py` script is the current working version for analyzing button positions and matches. This script: -- Takes a full screen screenshot -- Analyzes potential button matches using template matching -- Groups matches by x-axis position -- Prioritizes matches by confidence and y-axis position -- Generates a visualization showing calibration points and matches -- Uses color coding to distinguish between different buttons (green, yellow, red) +Key benefits: +- Minimize context switching during coding +- Automate repetitive UI interactions +- Support multi-monitor development environments +- Provide detailed logging and monitoring -Other calibration scripts have been moved to the `_archive` directory. +## Installation -## Features - -- Multi-monitor support with per-monitor calibration -- Rate limiting (max 8 clicks per minute) -- Cursor position restoration after clicks -- Automatic calibration -- Process management (start/stop scripts) -- Detailed logging +### Prerequisites +- Python 3.8+ +- pip package manager -## Setup +### Installation Methods -1. Clone this repository: +#### 1. Direct Git Clone ```bash -git clone https://github.com/yourusername/cursor-auto-accept +git clone https://github.com/yourusername/cursor-auto-accept.git cd cursor-auto-accept ``` -2. Run the setup script: +#### 2. Setup Script ```bash ./setup.sh ``` -This will: -- Create necessary directories -- Set up permissions -- Create a Python virtual environment -- Install required packages - -## Calibration -Before first use, you need to calibrate the bot for each monitor where you use Cursor: - -1. Stop the bot if it's running: -```bash -./stop_clickbot.sh -``` +This script will: +- Create Python virtual environment +- Install dependencies +- Set up necessary directories -2. Run calibration mode: - - For all monitors: - ```bash - source venv/bin/activate - python cursor_auto_accept.py --capture - ``` - - For a specific monitor (0-based index): - ```bash - python cursor_auto_accept.py --capture --monitor 0 # First monitor - python cursor_auto_accept.py --capture --monitor 1 # Second monitor - ``` - -3. Follow the calibration steps for each monitor: - - Move Cursor to the target monitor - - Trigger an AI prompt (so you can see the accept button) - - Move your mouse over the accept button - - Keep it still for 5 seconds - - Wait for confirmation message - - Press Enter to continue to next monitor (if calibrating all) - -The bot will save separate accept button images for each monitor in: -``` -assets/monitor_0/accept_button.png -assets/monitor_1/accept_button.png -... -``` +### Dependencies +- OpenCV +- PyAutoGUI +- MSS (Multi-Screen Shot) +- NumPy +- Pillow ## Usage ### Starting the Bot - ```bash +# Start the auto-accept bot ./start_clickbot.sh ``` -The bot will: -- Check if another instance is running -- Load calibration images for all monitors -- Start monitoring all screens -- Begin accepting prompts automatically - ### Stopping the Bot - ```bash +# Stop the running bot ./stop_clickbot.sh ``` -### Monitoring +### Calibration +Before first use, calibrate the bot for each monitor: -The bot logs all activity to `temp/logs/clickbot.log`. You can monitor it with: ```bash +# Calibrate all monitors +python cursor_auto_accept.py --capture + +# Calibrate specific monitor (0-based index) +python cursor_auto_accept.py --capture --monitor 0 +python cursor_auto_accept.py --capture --monitor 1 +``` + +### Monitoring Logs +```bash +# Real-time log monitoring tail -f temp/logs/clickbot.log ``` +## Command Reference + +| Command | Flags | Description | Example | +|---------|-------|-------------|---------| +| `cursor_auto_accept.py` | `--capture` | Start calibration mode | `python cursor_auto_accept.py --capture` | +| `cursor_auto_accept.py` | `--monitor` | Specify monitor for calibration | `python cursor_auto_accept.py --capture --monitor 1` | +| `start_clickbot.sh` | - | Start auto-accept bot | `./start_clickbot.sh` | +| `stop_clickbot.sh` | - | Stop auto-accept bot | `./stop_clickbot.sh` | + ## Configuration -The bot has several built-in settings: +### Default Settings - Rate limit: 8 clicks per minute -- Confidence threshold: 0.8 (80% match required) +- Confidence threshold: 0.8 (80% match) - Search interval: 0.2 seconds - Log update interval: 5 seconds -## Troubleshooting +### Configuration Location +Configuration is managed via script defaults and command-line flags. -1. If the bot isn't clicking on a specific monitor: - - Recalibrate that monitor: `python cursor_auto_accept.py --capture --monitor X` - - Check the logs for monitor-specific errors - - Ensure Cursor's accept button is visible on that monitor +## Project Structure +``` +. +├── assets/ # Monitor-specific calibration images +├── temp/ # Runtime files and logs +│ ├── clickbot.pid +│ └── logs/ +├── cursor_auto_accept.py # Main bot script +├── setup.sh # Environment setup +└── start_clickbot.sh # Bot management scripts +``` -2. If clicks are inaccurate: - - Recalibrate with a clearer view of the accept button - - Make sure the button isn't partially obscured - - Try calibrating in different lighting conditions +## Troubleshooting -3. If the bot won't start: - - Check if another instance is running - - Verify the PID file in `temp/clickbot.pid` - - Ensure Python environment is activated +### Common Issues +1. Bot not clicking on specific monitor + - Recalibrate the monitor + - Check logs for specific errors + - Ensure Cursor's accept button is visible -## Directory Structure +2. Inaccurate clicks + - Recalibrate with a clear button view + - Avoid partially obscured buttons + - Calibrate in consistent lighting -``` -. -├── assets/ # Calibration images -│ ├── monitor_0/ # First monitor -│ │ └── accept_button.png -│ └── monitor_1/ # Second monitor -│ └── accept_button.png -├── temp/ # Runtime files -│ ├── clickbot.pid # Process ID -│ └── logs/ # Log files -├── cursor_auto_accept.py # Main bot script -├── setup.sh # Setup script -├── start_clickbot.sh # Start script -└── stop_clickbot.sh # Stop script -``` +## Contributing -## Requirements +1. Fork the repository +2. Create a feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request -- Python 3.8+ -- OpenCV -- PyAutoGUI -- MSS (Multi-Screen Shot) -- NumPy -- Pillow +Please include: +- Clear description of changes +- Updated tests +- Documentation updates ## License -MIT License \ No newline at end of file +MIT License. See LICENSE file for details. + +## Contact + +For issues, feature requests, or support, please [open an issue](https://github.com/yourusername/cursor-auto-accept/issues). \ No newline at end of file