Give Cursor Agent an AI team and advanced skills
Table of Contents
The AI Team
- Perplexity to search the web and perform deep research
- Gemini 2.0 for huge whole-codebase context window, search grounding and reasoning
- Stagehand for browser operation to test and debug web apps (uses Anthropic or OpenAI models)
- OpenRouter for access to a variety of models through a unified API (for MCP commands)
New Skills for your existing Agent
- Work with GitHub Issues and Pull Requests
- Generate local agent-accessible documentation for external dependencies
cursor-tools is optimized for Cursor Composer Agent but it can be used by any coding agent that can execute commands
How do I use it?
After installation, to see AI teamwork in action just ask Cursor Composer to use Perplexity or Gemini.
Here are two examples:
Asking Perplexity to carry out web research
see what happens next...
see what happens next...
see what happens next...
see the spec composer and perplexity produced together:
pac-man-spec.md (link out to the example repo)
Asking Gemini for a plan
see what happens next...
see what happens next...
see what happens next...
see the spec composer and perplexity produced together:
pac-man-plan.md (link out to the example repo)
What is cursor-tools
cursor-tools provides a CLI that your AI agent can use to expand its capabilities. cursor-tools is designed to be installed globally, providing system-wide access to its powerful features. When you run cursor-tools install we automatically add a prompt section to your Cursor project rules. During installation, you can choose between:
- The new
.cursor/rules/cursor-tools.mdc file (recommended)
- The legacy
.cursorrules file (for backward compatibility)
You can also control this using the USE_LEGACY_CURSORRULES environment variable:
USE_LEGACY_CURSORRULES=true - Use legacy .cursorrules file
USE_LEGACY_CURSORRULES=false - Use new .cursor/rules/cursor-tools.mdc file
- If not set, defaults to legacy mode for backward compatibility
cursor-tools requires a Perplexity API key and a Google AI API key.
cursor-tools is a node package that should be installed globally.
Installation
Install cursor-tools globally:
npm install -g cursor-tools
Then run the interactive setup:
cursor-tools install .
This command will:
- Guide you through API key configuration
- Update your Cursor project rules for Cursor integration (using
.cursor/rules/cursor-tools.mdc or existing .cursorrules)
Requirements
- Node.js 18 or later
- Perplexity API key
- Google Gemini API key
- For browser commands:
- Playwright (
npm install --global playwright)
- OpenAI API key or Anthropic API key (for
act, extract, and observe commands)
cursor-tools uses Gemini-2.0 because it is the only good LLM with a context window that goes up to 2 million tokens - enough to handle and entire codebase in one shot. Gemini 2.0 experimental models that we use by default are currently free to use on Google and you need a Google Cloud project to create an API key.
cursor-tools uses Perplexity because Perplexity has the best web search api and indexes and it does not hallucinate. Perplexity Pro users can get an API key with their pro account and recieve $5/month of free credits (at time of writing). Support for Google search grounding is coming soon but so far testing has shown it still frequently hallucinates things like APIs and libraries that don't exist.
Tips:
- Ask Cursor Agent to have Gemini review its work
- Ask Cursor Agent to generate documentation for external dependencies and write it to a local-docs/ folder
If you do something cool with cursor-tools please let me know on twitter or make a PR to add to this section!
Additional Examples
GitHub Skills
To see cursor-tools GitHub and Perplexity skills: Check out this example issue that was solved using Cursor agent and cursor-tools
Gemini code review
See cursor get approximately 5x more work done per-prompt with Gemini code review:

Detailed Cursor Usage
Use Cursor Composer in agent mode with command execution (not sure what this means, see section below on Cursor Agent configuration). If you have installed the cursor-tools prompt to your .cursorrules (or equivalent) just ask your AI coding agent/assistant to use "cursor-tools" to do things.
Tool Recommendations
cursor-tools ask allows direct querying of any model from any provider. It's best for simple questions where you want to use a specific model or compare responses from different models.
cursor-tools web uses an AI teammate with web search capability to answer questions. web is best for finding up-to-date information from the web that is not specific to the repository such as how to use a library to search for known issues and error messages or to get suggestions on how to do something. Web is a teammate who knows tons of stuff and is always up to date.
cursor-tools repo uses an AI teammate with large context window capability to answer questions. repo sends the entire repo as context so it is ideal for questions about how things work or where to find something, it is also great for code review, debugging and planning. is a teammate who knows the entire codebase inside out and understands how everything works together.
cursor-tools plan uses an AI teammate with reasoning capability to plan complex tasks. Plan uses a two step process. First it does a whole repo search with a large context window model to find relevant files. Then it sends only those files as context to a thinking model to generate a plan it is great for planning complex tasks and for debugging and refactoring. Plan is a teammate who is really smart on a well defined problem, although doesn't consider the bigger picture.
cursor-tools doc uses an AI teammate with large context window capability to generate documentation for local or github hosted repositories by sending the entire repo as context. doc can be given precise documentation tasks or can be asked to generate complete docs from scratch it is great for generating docs updates or for generating local documentation for a libary or API that you use! Doc is a teammate who is great at summarising and explaining code, in this repo or in any other repo!
cursor-tools browser uses an AI teammate with browser control (aka operator) capability to operate web browsers. browser can operate in a hidden (headless) mode to invisibly test and debug web apps or it can be used to connect to an existing browser session to interactively share your browser with Cursor agent it is great for testing and debugging web apps and for carrying out any task that can be done in a browser such as reading information from a bug ticket or even filling out a form. Browser is a teammate who can help you test and debug web apps, and can share control of your browser to perform small browser-based tasks.
Note: For repo, doc and plan commands the repository content that is sent as context can be reduced by filtering out files in a .repomixignore file.
Command Nicknames
When using cursor-tools with Cursor Composer, you can use these nicknames:
- "Gemini" is a nickname for
cursor-tools repo
- "Perplexity" is a nickname for
cursor-tools web
- "Stagehand" is a nickname for
cursor-tools browser
Use web search
"Please implement country specific stripe payment pages for the USA, UK, France and Germany. Use cursor-tools web to check the available stripe payment methods in each country."
Note: in most cases you can say "ask Perplexity" instead of "use cursor-tools web" and it will work the same.
Use repo search
"Let's refactor our User class to allow multiple email aliases per user. Use cursor-tools repo to ask for a plan including a list of all files that need to be changed."
Note: in most cases you can say "ask Gemini" instead of "use cursor-tools repo" and it will work the same.
Use doc generation
"Use cursor-tools to generate documentation for the Github repo https://github.com/kait-http/kaito" and write it to docs/kaito.md"
Note: in most cases you can say "generate documentation" instead of "use cursor-tools doc" and it will work the same.
Use github integration
"Use cursor-tools github to fetch issue 123 and suggest a solution to the user's problem"
"Use cursor-tools github to fetch PR 321 and see if you can fix Andy's latest comment"
Note: in most cases you can say "fetch issue 123" or "fetch PR 321" instead of "use cursor-tools github" and it will work the same.
Use browser automation
"Use cursor-tools to open the users page and check the error in the console logs, fix it"
"Use cursor-tools to test the form field validation logic. Take screenshots of each state"
"Use cursor-tools to open https://example.com/foo the and check the error in the network logs, what could be causing it?"
Note: in most cases you can say "Use Stagehand" instead of "use cursor-tools" and it will work the same.
Use direct model queries
"Use cursor-tools ask to compare how different models answer this question: 'What are the key differences between REST and GraphQL?'"
"Ask OpenAI's o3-mini model to explain the concept of dependency injection."
Note: The ask command requires both --provider and --model parameters to be specified. This command is generally less useful than other commands like repo or plan because it does not include any context from your codebase or repository.
Authentication and API Keys
cursor-tools requires API keys for Perplexity AI, Google Gemini, and optionally for OpenAI, Anthropic and OpenRouter. These can be configured in two ways:
- Interactive Setup: Run
cursor-tools install and follow the prompts
- Manual Setup: Create
~/.cursor-tools/.env in your home directory or .cursor-tools.env in your project root:
PERPLEXITY_API_KEY="your-perplexity-api-key"
GEMINI_API_KEY="your-gemini-api-key"
OPENAI_API_KEY="your-openai-api-key" # Optional, for Stagehand
ANTHROPIC_API_KEY="your-anthropic-api-key" # Optional, for Stagehand and MCP
OPENROUTER_API_KEY="your-openrouter-api-key" # Optional, for MCP
GITHUB_TOKEN="your-github-token" # Optional, for enhanced GitHub access
- At least one of
ANTHROPIC_API_KEY and OPENROUTER_API_KEY must be provided to use the mcp commands.
Google Gemini API Authentication
cursor-tools supports multiple authentication methods for accessing the Google Gemini API, providing flexibility for different environments and security requirements. You can choose from the following methods:
AI Team Features
Perplexity: Web Search & Research
Use Perplexity AI to get up-to-date information directly within Cursor:
cursor-tools web "What's new in TypeScript 5.7?"
Gemini 2.0: Repository Context & Planning
Leverage Google Gemini 2.0 models with 1M+ token context windows for codebase-aware assistance and implementation planning:
cursor-tools repo "Explain the authentication flow in this project, which files are involved?"
cursor-tools plan "Add user authentication to the login page"
The plan command uses multiple AI models to:
- Identify relevant files in your codebase (using Gemini by default)
- Extract content from those files
- Generate a detailed implementation plan (using o3-mini by default)
Plan Command Options:
--fileProvider=<provider>: Provider for file identification (gemini, openai, anthropic, perplexity, modelbox, or openrouter)
--thinkingProvider=<provider>: Provider for plan generation (gemini, openai, anthropic, perplexity, modelbox, or openrouter)
--fileModel=<model>: Model to use for file identification
--thinkingModel=<model>: Model to use for plan generation
--fileMaxTokens=<number>: Maximum tokens for file identification
--thinkingMaxTokens=<number>: Maximum tokens for plan generation
--debug: Show detailed error information
Repository context is created using Repomix. See repomix configuration section below for details on how to change repomix behaviour.
Above 1M tokens cursor-tools will always send requests to Gemini 2.0 Pro as it is the only model that supports 1M+ tokens.
The Gemini 2.0 Pro context limit is 2M tokens, you can add filters to .repomixignore if your repomix context is above this limit.
Stagehand: Browser Automation
Automate browser interactions for web scraping, testing, and debugging:
Important: The browser command requires the Playwright package to be installed separately in your project:
npm install playwright
yarn add playwright
pnpm add playwright
open - Open a URL and capture page content:
cursor-tools browser open "https://example.com" --html
cursor-tools browser open "https://example.com" --screenshot=page.png
cursor-tools browser open "https://example.com" --connect-to=9222
act - Execute actions using natural language - Agent tells the browser-use agent what to do:
cursor-tools browser act "Login as 'user@example.com'" --url "https://example.com/login"
cursor-tools browser act "Click Login | Type 'user@example.com' into email | Click Submit" --url "https://example.com"
cursor-tools browser act "Fill out registration form" --url "https://example.com/signup" --video="./recordings"
observe - Analyze interactive elements:
cursor-tools browser observe "What can I interact with?" --url "https://example.com"
cursor-tools browser observe "Find the login form" --url "https://example.com"
extract - Extract data using natural language:
cursor-tools browser extract "Get all product prices" --url "https://example.com/products"
cursor-tools browser extract "Get article text" --url "https://example.com/blog" --html > article.html
cursor-tools browser extract "Get API responses" --url "https://example.com/api-test" --network
Browser Command Options
All browser commands (open, act, observe, extract) support these options:
--console: Capture browser console logs (enabled by default, use --no-console to disable)
--html: Capture page HTML content (disabled by default)
--network: Capture network activity (enabled by default, use --no-network to disable)
--screenshot=<file path>: Save a screenshot of the page
--timeout=<milliseconds>: Set navigation timeout (default: 120000ms for Stagehand operations, 30000ms for navigation)
--viewport=<width>x<height>: Set viewport size (e.g., 1280x720)
--headless: Run browser in headless mode (default: true)
--no-headless: Show browser UI (non-headless mode) for debugging
--connect-to=<port>: Connect to existing Chrome instance. Special values: 'current' (use existing page), 'reload-current' (refresh existing page)
--wait=<time:duration or selector:css-selector>: Wait after page load (e.g., 'time:5s', 'selector:#element-id')
--video=<directory>: Save a video recording (1280x720 resolution, timestamped subdirectory). Not available when using --connect-to
--url=<url>: Required for act, observe, and extract commands
--evaluate=<string>: JavaScript code to execute in the browser before the main command
Notes on Connecting to an existing browser session with --connect-to
- DO NOT ask browser act to "wait" for anything, the wait command is currently disabled in Stagehand.
- When using
--connect-to, viewport is only changed if --viewport is explicitly provided
- Video recording is not available when using
--connect-to
- Special
--connect-to values:
current: Use the existing page without reloading
reload-current: Use the existing page and refresh it (useful in development)
Video Recording
All browser commands support video recording of the browser interaction in headless mode (not supported with --connect-to):
- Use
--video=<directory> to enable recording
- Videos are saved at 1280x720 resolution in timestamped subdirectories
- Recording starts when the browser opens and ends when it closes
- Videos are saved as .webm files
Example:
cursor-tools browser act "Fill out registration form with name John Doe" --url "http://localhost:3000/signup" --video="./recordings"
Console and Network Logging
Console logs and network activity are captured by default:
- Use
--no-console to disable console logging
- Use
--no-network to disable network logging
- Logs are displayed in the command output
Complex Actions
The act command supports chaining multiple actions using the pipe (|) separator:
cursor-tools browser act "Click Login | Type 'user@example.com' into email | Click Submit" --url "http://localhost:3000/login"
cursor-tools browser act "Select 'Mr' from title | Type 'John' into first name | Type 'Doe' into last name | Click Next" --url "http://localhost:3000/register"
cursor-tools browser act "Fill form | Submit | Verify success" --url "http://localhost:3000/signup" --video="./recordings"
Troubleshooting Browser Commands
Common issues and solutions:
-
Element Not Found Errors
- Use
--no-headless to visually debug the page
- Use
browser observe to see what elements Stagehand can identify
- Check if the element is in an iframe or shadow DOM
- Ensure the page has fully loaded (try increasing
--timeout)
-
Stagehand API Errors
- Verify your OpenAI or Anthropic API key is set correctly
- Check if you have sufficient API credits
- Try switching models using
--model
-
Network Errors
- Check your internet connection
- Verify the target website is accessible
- Try increasing the timeout with
--timeout
- Check if the site blocks automated access
-
Video Recording Issues
- Ensure the target directory exists and is writable
- Check disk space
- Video recording is not available with
--connect-to
-
Performance Issues
- Use
--headless mode for better performance (default)
- Reduce the viewport size with
--viewport
- Consider using
--connect-to for development
Skills
GitHub Integration
Access GitHub issues and pull requests directly from the command line with rich formatting and full context:
cursor-tools github pr
cursor-tools github issue
cursor-tools github pr 123
cursor-tools github issue 456
The GitHub commands provide:
- View of 10 most recent open PRs or issues when no number specified
- Detailed view of specific PR/issue including:
- PR/Issue description and metadata
- Code review comments grouped by file (PRs only)
- Full discussion thread
- Labels, assignees, milestones and reviewers
- Support for both local repositories and remote GitHub repositories
- Markdown-formatted output for readability
Authentication Methods:
The commands support multiple authentication methods:
- GitHub token via environment variable:
GITHUB_TOKEN=your_token_here
- GitHub CLI integration (if
gh is installed and logged in)
- Git credentials (stored tokens or Basic Auth)
Without authentication:
- Public repositories: Limited to 60 requests per hour
- Private repositories: Not accessible
With authentication:
- Public repositories: 5,000 requests per hour
- Private repositories: Full access (with appropriate token scopes)
Xcode Tools
Automate iOS app building, testing, and running in the simulator:
cursor-tools xcode build
cursor-tools xcode run
cursor-tools xcode lint
Build Command Options:
cursor-tools xcode build buildPath=/custom/build/path
cursor-tools xcode build destination="platform=iOS Simulator,name=iPhone 15"
Run Command Options:
cursor-tools xcode run iphone
cursor-tools xcode run ipad
cursor-tools xcode run device="iPhone 16 Pro" buildPath=/custom/build/path
The Xcode commands provide:
- Automatic project/workspace detection
- Dynamic app bundle identification
- Build output streaming with error parsing
- Simulator device management
- Support for both iPhone and iPad simulators
- Custom build path specification to control derived data location
Documentation Generation (uses Gemini 2.0)
Generate comprehensive documentation for your repository or any GitHub repository:
cursor-tools doc --save-to=docs.md
cursor-tools doc --from-github=username/repo-name@branch
cursor-tools doc --from-github=https://github.com/username/repo-name@branch
cursor-tools doc --from-github=eastlondoner/cursor-tools --save-to=docs/CURSOR-TOOLS.md
cursor-tools doc --from-github=eastlondoner/cursor-tools --save-to=docs/CURSOR-TOOLS.md --hint="only information about the doc command"
Configuration
cursor-tools.config.json
Customize cursor-tools behavior by creating a cursor-tools.config.json file. This file can be created either globally in ~/.cursor-tools/cursor-tools.config.json or locally in your project root.
The cursor-tools.config file configures the local default behaviour for each command and provider.
Here is an example of a typical cursor-tools.config.json file, showing some of the most common configuration options:
{
"repo": {
"provider": "openrouter",
"model": "google/gemini-2.0-pro-exp-02-05:free",
},
"doc": {
"provider": "openrouter",
"model": "anthropic/claude-3.7-sonnet",
"maxTokens": 4096
},
"web": {
"provider": "gemini",
"model": "gemini-2.0-pro-exp",
},
"plan": {
"fileProvider": "gemini",
"thinkingProvider": "perplexity",
"thinkingModel": "r1-1776"
},
"browser": {
"headless": false,
},
"stagehand": {
"model": "claude-3-7-sonnet-latest",
"provider": "anthropic",
"timeout": 90000
},
"openai": {
"model": "gpt-4o"
},
}
For details of all configuration options, see CONFIGURATION.md. This includes details of all the configuration options and how to use them.
GitHub Authentication
The GitHub commands support several authentication methods:
-
Environment Variable: Set GITHUB_TOKEN in your environment:
GITHUB_TOKEN=your_token_here
-
GitHub CLI: If you have the GitHub CLI (gh) installed and are logged in, cursor-tools will automatically use it to generate tokens with the necessary scopes.
-
Git Credentials: If you have authenticated git with GitHub (via HTTPS), cursor-tools will automatically:
- Use your stored GitHub token if available (credentials starting with
ghp_ or gho_)
- Fall back to using Basic Auth with your git credentials
To set up git credentials:
Authentication Status:
cursor-tools will automatically try these authentication methods in order:
GITHUB_TOKEN environment variable
- GitHub CLI token (if
gh is installed and logged in)
- Git credentials (stored token or Basic Auth)
If no authentication is available, it will fall back to unauthenticated access with rate limits.
Repomix Configuration
When generating documentation, cursor-tools uses Repomix to analyze your repository. By default, it excludes certain files and directories that are typically not relevant for documentation:
- Node modules and package directories (
node_modules/, packages/, etc.)
- Build output directories (
dist/, build/, etc.)
- Version control directories (
.git/)
- Test files and directories (
test/, tests/, __tests__/, etc.)
- Configuration files (
.env, .config, etc.)
- Log files and temporary files
- Binary files and media files
You can customize the files and folders to exclude using two methods, both can be combined together:
- Create a
.repomixignore file in your project root to specify files to exclude.
Example .repomixignore file for a Laravel project:
vendor/
public/
database/
storage/
.idea
.env
- Create a
repomix.config.json file in your project root for more advanced configuration options:
Example repomix.config.json to enable compression and specify what to include:
{
"include": [
"src/**/*",
"README.md",
"package.json"
],
"output": {
"compress": true,
},
}
This configuration will be detected and used automatically by the repo, plan, and doc commands, allowing for precise control over which files are included in the repository analysis.
If both a .repomixignore and an ignore section in repomix.config.json are present then the ignore patterns from both are combined.
Model Selection
The browser commands support different AI models for processing. You can select the model using the --model option:
cursor-tools browser act "Click Login" --url "https://example.com" --model=gpt-4o
cursor-tools browser act "Click Login" --url "https://example.com" --model=claude-3-7-sonnet-latest
You can set a default provider in your cursor-tools.config.json file under the stagehand section:
{
"stagehand": {
"model": "claude-3-7-sonnet-latest",
"provider": "anthropic",
"timeout": 90000
}
}
You can also set a default model in your cursor-tools.config.json file under the stagehand section:
{
"stagehand": {
"provider": "openai",
"model": "gpt-4o"
}
}
If no model is specified (either on the command line or in the config), a default model will be used based on your configured provider:
- OpenAI:
o3-mini
- Anthropic:
claude-3-7-sonnet-latest
Available models depend on your configured provider (OpenAI or Anthropic) in cursor-tools.config.json and your API key.
Cursor Configuration
cursor-tools automatically configures Cursor by updating your project rules during installation. This provides:
- Command suggestions
- Usage examples
- Context-aware assistance
For new installations, we use the recommended .cursor/rules/cursor-tools.mdc path. For existing installations, we maintain compatibility with the legacy .cursorrules file. If both files exist, we prefer the new path and show a warning.
Cursor Agent Configuration:
To get the benefits of cursor-tools you should use Cursor agent in "yolo mode". Ideal settings:

cursor-tools cli
In general you do not need to use the cli directly, your AI coding agent will call the CLI but it is useful to know it exists and this is how it works.
Command Options
All commands support these general options:
--model: Specify an alternative model
--max-tokens: Control response length
--save-to: Save command output to a file (in addition to displaying it, like tee)
--quiet: Suppress stdout output (only useful with --save-to)
--debug: Show detailed error information
--help: View all available options
--provider: AI provider to use. Valid values: openai, anthropic, perplexity, gemini, openrouter
Documentation command specific options:
--from-github: Generate documentation for a remote GitHub repository (supports @branch syntax)
--hint: Provide additional context or focus for documentation generation
Plan command specific options:
--fileProvider: Provider for file identification (gemini, openai, anthropic, perplexity, modelbox, or openrouter)
--thinkingProvider: Provider for plan generation (gemini, openai, anthropic, perplexity, modelbox, or openrouter)
--fileModel: Model to use for file identification
--thinkingModel: Model to use for plan generation
--fileMaxTokens: Maximum tokens for file identification
--thinkingMaxTokens: Maximum tokens for plan generation
GitHub command specific options:
--from-github=<GitHub username>/<repository name>[@<branch>]: Access PRs/issues from a specific GitHub repository. --repo is an older, still supported synonym for this option.
Xcode command specific options:
- For the build subcommand:
buildPath=<path>: Set a custom derived data path
destination=<destination string>: Set a custom simulator destination
- For the run subcommand:
iphone or ipad: Select device type
device=<device name>: Specify a custom device
buildPath=<path>: Set a custom derived data path
Browser command specific options:
--console: Capture browser console logs (enabled by default, use --no-console to disable)
--html: Capture page HTML content (disabled by default)
--network: Capture network activity (enabled by default, use --no-network to disable)
--screenshot: Save a screenshot of the page
--timeout: Set navigation timeout (default: 120000ms for Stagehand operations, 30000ms for navigation)
--viewport: Set viewport size (e.g., 1280x720)
--headless: Run browser in headless mode (default: true)
--no-headless: Show browser UI (non-headless mode) for debugging
--connect-to: Connect to existing Chrome instance
--wait: Wait after page load (e.g., 'time:5s', 'selector:#element-id')
--video: Save a video recording (1280x720 resolution, timestamped subdirectory)
--url: Required for act, observe, and extract commands. Url to navigate to on connection or one of the special values: 'current' (use existing page), 'reload-current' (refresh existing page).
--evaluate: JavaScript code to execute in the browser before the main command
Execution Methods
Execute commands using:
cursor-tools <command> [options]
For example:
cursor-tools web "What's new in TypeScript 5.7?"
Troubleshooting
Examples
Web Search Examples
cursor-tools web "What are the key features of Bun.js?"
cursor-tools web "How to implement OAuth2 in Express.js?"
cursor-tools web "Compare Vite vs Webpack for modern web development"
Repository Context Examples
cursor-tools repo "Explain the overall architecture of this project"
cursor-tools repo "Show me examples of error handling in this codebase"
cursor-tools repo "Why might the authentication be failing in the login flow?"
cursor-tools repo "Explain the code structure" --subdir=src/components
Documentation Examples
cursor-tools doc --save-to=docs/api.md --quiet --hint="Focus on the API endpoints and their usage"
cursor-tools doc --save-to=docs/architecture.md --quiet --hint="Focus on system architecture"
cursor-tools doc --from-github=expressjs/express --save-to=docs/EXPRESS.md --quiet
GitHub Integration Examples
cursor-tools github pr --from-github facebook/react
cursor-tools github issue --from-github vercel/next.js
cursor-tools github pr 123 --from-github microsoft/typescript
cursor-tools github issue 456 --from-github golang/go
Xcode Command Examples
cursor-tools xcode build
cursor-tools xcode build buildPath=~/custom/derived/data
cursor-tools xcode run iphone
cursor-tools xcode run device="iPad Pro (12.9-inch) (6th generation)"
cursor-tools xcode lint
Browser Command Examples
open subcommand examples:
cursor-tools browser open "https://example.com" --html
cursor-tools browser open "https://example.com" --console --network
cursor-tools browser open "https://example.com" --screenshot=page.png
cursor-tools browser open "https://example.com" --no-headless
act, extract, observe subcommands examples:
cursor-tools browser act "Click on 'Sign Up'" --url "https://example.com"
cursor-tools browser extract "Get the main content" --url "https://example.com/blog"
cursor-tools browser observe "What can I do on this page?" --url "https://example.com"
Node Package Manager (npm)
cursor-tools is available on npm here
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. If you used cursor-tools to make your contribution please include screenshots or videos of cursor-tools in action.
Optimise your Vinted accounting with real-time analytics, inventory management, and tax compliance tools.
:link: Start scaling your Vinted business today
Automate your Vinted reselling business with advanced tools like autobuy, custom snipers, and one-click relisting.
:link: Take Vinted reselling to the next level
Build self-driving startups with autonomous AI agents that run your company.
:link: AI Engineer in London? Join the startup revolution
License
MIT License - see LICENSE for details.