
cursor-tools
Give Cursor Agent an AI Team and Advanced Skills
Stars: 2424

cursor-tools is a CLI tool designed to enhance AI agents with advanced skills, such as web search, repository context, documentation generation, GitHub integration, Xcode tools, and browser automation. It provides features like Perplexity for web search, Gemini 2.0 for codebase context, and Stagehand for browser operations. The tool requires API keys for Perplexity AI and Google Gemini, and supports global installation for system-wide access. It offers various commands for different tasks and integrates with Cursor Composer for AI agent usage.
README:
- The AI Team
- New Skills
- How to Use
- What is cursor-tools
- Installation
- Requirements
- Tips
- Additional Examples
- Detailed Cursor Usage
- Authentication and API Keys
- AI Team Features
- Skills
- Configuration
- cursor-tools cli
- Troubleshooting
- Examples
- Node Package Manager
- Contributing
- Sponsors
- License
- 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)
- 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
After installation, to see AI teamwork in action just ask Cursor Composer to use Perplexity or Gemini. Here are two examples:
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.
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
)
- 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
, andobserve
commands)
- Playwright (
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.
- 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!
To see cursor-tools GitHub and Perplexity skills: Check out this example issue that was solved using Cursor agent and cursor-tools
See cursor get approximately 5x more work done per-prompt with Gemini code review:
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.
-
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.
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
"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.
"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 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 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 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 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.
cursor-tools
requires API keys for both Perplexity AI and Google Gemini. 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"
Use Perplexity AI to get up-to-date information directly within Cursor:
cursor-tools web "What's new in TypeScript 5.7?"
Leverage Google Gemini 2.0 models with 1M+ token context windows for codebase-aware assistance and implementation planning:
# Get context-aware assistance
cursor-tools repo "Explain the authentication flow in this project, which files are involved?"
# Generate implementation plans
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.
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
# or
yarn add playwright
# or
pnpm add playwright
-
open
- Open a URL and capture page content:
# Open and capture HTML content, console logs and network activity (enabled by default)
cursor-tools browser open "https://example.com" --html
# Take a screenshot
cursor-tools browser open "https://example.com" --screenshot=page.png
# Debug in an interactive browser session
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:
# Single action
cursor-tools browser act "Login as '[email protected]'" --url "https://example.com/login"
# Multi-step workflow using pipe separator
cursor-tools browser act "Click Login | Type '[email protected]' into email | Click Submit" --url "https://example.com"
# Record interaction video
cursor-tools browser act "Fill out registration form" --url "https://example.com/signup" --video="./recordings"
-
observe
- Analyze interactive elements:
# Get overview of interactive elements
cursor-tools browser observe "What can I interact with?" --url "https://example.com"
# Find specific elements
cursor-tools browser observe "Find the login form" --url "https://example.com"
-
extract
- Extract data using natural language:
# Extract specific content
cursor-tools browser extract "Get all product prices" --url "https://example.com/products"
# Save extracted content
cursor-tools browser extract "Get article text" --url "https://example.com/blog" --html > article.html
# Extract with network monitoring
cursor-tools browser extract "Get API responses" --url "https://example.com/api-test" --network
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 foract
,observe
, andextract
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)
-
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:
# Record a video of filling out a form
cursor-tools browser act "Fill out registration form with name John Doe" --url "http://localhost:3000/signup" --video="./recordings"
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
The act
command supports chaining multiple actions using the pipe (|) separator:
# Login sequence with console/network logging (enabled by default)
cursor-tools browser act "Click Login | Type '[email protected]' into email | Click Submit" --url "http://localhost:3000/login"
# Form filling with multiple fields
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"
# Record complex interaction
cursor-tools browser act "Fill form | Submit | Verify success" --url "http://localhost:3000/signup" --video="./recordings"
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
)
- Use
-
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
- Use
Access GitHub issues and pull requests directly from the command line with rich formatting and full context:
# List recent PRs or issues
cursor-tools github pr
cursor-tools github issue
# View specific PR or issue with full discussion
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)
Automate iOS app building, testing, and running in the simulator:
# Available subcommands
cursor-tools xcode build # Build Xcode project and report errors
cursor-tools xcode run # Build and run app in simulator
cursor-tools xcode lint # Analyze code and offer to fix warnings
Build Command Options:
# Specify custom build path (derived data)
cursor-tools xcode build buildPath=/custom/build/path
# Specify target device
cursor-tools xcode build destination="platform=iOS Simulator,name=iPhone 15"
Run Command Options:
# Run on iPhone simulator (default)
cursor-tools xcode run iphone
# Run on iPad simulator
cursor-tools xcode run ipad
# Run on specific device with custom build path
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
Generate comprehensive documentation for your repository or any GitHub repository:
# Document local repository and save to file
cursor-tools doc --save-to=docs.md
# Document remote GitHub repository (both formats supported)
cursor-tools doc --from-github=username/repo-name@branch
cursor-tools doc --from-github=https://github.com/username/repo-name@branch
# Save documentation to file (with and without a hint)
# This is really useful to generate local documentation for libraries and dependencies
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"
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:
{
// Commands
"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,
},
//...
// Providers
"stagehand": {
"model": "claude-3-7-sonnet-latest", // For Anthropic provider
"provider": "anthropic", // or "openai"
"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.
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_
orgho_
) - Fall back to using Basic Auth with your git credentials
- Use your stored GitHub token if available (credentials starting with
To set up git credentials:
- Configure git to use HTTPS instead of SSH:
git config --global url."https://github.com/".insteadOf [email protected]:
- Store your credentials:
git config --global credential.helper store # Permanent storage # Or for macOS keychain: git config --global credential.helper osxkeychain
- The next time you perform a git operation requiring authentication, your credentials will be stored
Authentication Status:
-
Without authentication:
- Public repositories: Limited to 60 requests per hour
- Private repositories: Not accessible
- Some features may be restricted
-
With authentication (any method):
- Public repositories: 5,000 requests per hour
- Private repositories: Full access (if token has required scopes)
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.
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 by adding a .repomixignore
file to your project root.
Example .repomixignore
file for a Laravel project:
vendor/
public/
database/
storage/
.idea
.env
This ensures that the documentation focuses on your actual source code and documentation files. Support to customize the input files to include is coming soon - open an issue if you run into problems here.
The browser
commands support different AI models for processing. You can select the model using the --model
option:
# Use gpt-4o
cursor-tools browser act "Click Login" --url "https://example.com" --model=gpt-4o
# Use Claude 3.7 Sonnet
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", // For Anthropic provider
"provider": "anthropic", // or "openai"
"timeout": 90000
}
}
You can also set a default model in your cursor-tools.config.json
file under the stagehand
section:
{
"stagehand": {
"provider": "openai", // or "anthropic"
"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-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.
To get the benefits of cursor-tools you should use Cursor agent in "yolo mode". Ideal settings:
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.
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
oripad
: 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 foract
,observe
, andextract
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
Execute commands using:
cursor-tools <command> [options]
For example:
cursor-tools web "What's new in TypeScript 5.7?"
-
Command Not Found
- Ensure
cursor-tools
is installed globally usingnpm install -g cursor-tools
- Check your system's PATH environment variable to ensure it includes npm's global bin directory
- On Unix-like systems, the global bin directory is typically
/usr/local/bin
or~/.npm-global/bin
- On Windows, it's typically
%AppData%\npm
- Ensure
-
API Key Errors
- Verify
.cursor-tools.env
exists and contains valid API keys - Run
cursor-tools install
to reconfigure API keys - Check that your API keys have the necessary permissions
- For GitHub operations, ensure your token has the required scopes (repo, read:user)
- Verify
-
Model Errors
- Check your internet connection
- Verify API key permissions
- Ensure the specified model is available for your API tier
-
GitHub API Rate Limits
- GitHub API has rate limits for unauthenticated requests. For higher limits you must be authenticated.
- If you have the gh cli installed and logged in cursor-tools will use that to obtain a short lived auth token. Otherwise you can add a GitHub token to your environment:
GITHUB_TOKEN=your_token_here
- Private repositories always require authentication
-
Documentation Generation Issues
- Repository too large: Try using
--hint
to focus on specific parts - Token limit exceeded: The tool will automatically switch to a larger model
- Network timeouts: The tool includes automatic retries
- For very large repositories, consider documenting specific directories or files
- Repository too large: Try using
-
Cursor Integration
- If .cursorrules is outdated, run
cursor-tools install .
to update - Ensure Cursor is configured to allow command execution
- Check that your Cursor version supports AI commands
- If .cursorrules is outdated, run
# Get information about new technologies
cursor-tools web "What are the key features of Bun.js?"
# Check API documentation
cursor-tools web "How to implement OAuth2 in Express.js?"
# Compare technologies
cursor-tools web "Compare Vite vs Webpack for modern web development"
# Architecture understanding
cursor-tools repo "Explain the overall architecture of this project"
# Find usage examples
cursor-tools repo "Show me examples of error handling in this codebase"
# Debugging help
cursor-tools repo "Why might the authentication be failing in the login flow?"
# Document specific aspects and save to file without stdout output
cursor-tools doc --save-to=docs/api.md --quiet --hint="Focus on the API endpoints and their usage"
# Document with hint to customize the docs output
cursor-tools doc --save-to=docs/architecture.md --quiet --hint="Focus on system architecture"
# Document dependencies
cursor-tools doc --from-github=expressjs/express --save-to=docs/EXPRESS.md --quiet
# List PRs with specific labels
cursor-tools github pr --from-github facebook/react
# Check recent issues in a specific repository
cursor-tools github issue --from-github vercel/next.js
# View PR with code review comments
cursor-tools github pr 123 --from-github microsoft/typescript
# Track issue discussions
cursor-tools github issue 456 --from-github golang/go
# Build an iOS app with default settings
cursor-tools xcode build
# Build with custom derived data path
cursor-tools xcode build buildPath=~/custom/derived/data
# Run in iPhone simulator
cursor-tools xcode run iphone
# Run on specific iPad model
cursor-tools xcode run device="iPad Pro (12.9-inch) (6th generation)"
# Analyze code quality
cursor-tools xcode lint
# Open a URL and get HTML
cursor-tools browser open "https://example.com" --html
# Open and capture console logs and network activity
cursor-tools browser open "https://example.com" --console --network
# Take a screenshot
cursor-tools browser open "https://example.com" --screenshot=page.png
# Run in non-headless mode for debugging
cursor-tools browser open "https://example.com" --no-headless
# AI-powered action
cursor-tools browser act "Click on 'Sign Up'" --url "https://example.com"
# AI-powered extraction
cursor-tools browser extract "Get the main content" --url "https://example.com/blog"
# AI-powered observation
cursor-tools browser observe "What can I do on this page?" --url "https://example.com"
cursor-tools is available on npm here
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.
🔗 Start scaling your Vinted business today
Automate your Vinted reselling business with advanced tools like autobuy, custom snipers, and one-click relisting.
🔗 Take Vinted reselling to the next level
Build self-driving startups with autonomous AI agents that run your company.
🔗 AI Engineer in London? Join the startup revolution
MIT License - see LICENSE for details.
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for cursor-tools
Similar Open Source Tools

cursor-tools
cursor-tools is a CLI tool designed to enhance AI agents with advanced skills, such as web search, repository context, documentation generation, GitHub integration, Xcode tools, and browser automation. It provides features like Perplexity for web search, Gemini 2.0 for codebase context, and Stagehand for browser operations. The tool requires API keys for Perplexity AI and Google Gemini, and supports global installation for system-wide access. It offers various commands for different tasks and integrates with Cursor Composer for AI agent usage.

tiledesk-dashboard
Tiledesk is an open-source live chat platform with integrated chatbots written in Node.js and Express. It is designed to be a multi-channel platform for web, Android, and iOS, and it can be used to increase sales or provide post-sales customer service. Tiledesk's chatbot technology allows for automation of conversations, and it also provides APIs and webhooks for connecting external applications. Additionally, it offers a marketplace for apps and features such as CRM, ticketing, and data export.

llm-vscode
llm-vscode is an extension designed for all things LLM, utilizing llm-ls as its backend. It offers features such as code completion with 'ghost-text' suggestions, the ability to choose models for code generation via HTTP requests, ensuring prompt size fits within the context window, and code attribution checks. Users can configure the backend, suggestion behavior, keybindings, llm-ls settings, and tokenization options. Additionally, the extension supports testing models like Code Llama 13B, Phind/Phind-CodeLlama-34B-v2, and WizardLM/WizardCoder-Python-34B-V1.0. Development involves cloning llm-ls, building it, and setting up the llm-vscode extension for use.

clickclickclick
ClickClickClick is a framework designed to enable autonomous Android and computer use using various LLM models, both locally and remotely. It supports tasks such as drafting emails, opening browsers, and starting games, with current support for local models via Ollama, Gemini, and GPT 4o. The tool is highly experimental and evolving, with the best results achieved using specific model combinations. Users need prerequisites like `adb` installation and USB debugging enabled on Android phones. The tool can be installed via cloning the repository, setting up a virtual environment, and installing dependencies. It can be used as a CLI tool or script, allowing users to configure planner and finder models for different tasks. Additionally, it can be used as an API to execute tasks based on provided prompts, platform, and models.

yek
Yek is a fast Rust-based tool designed to read text-based files in a repository or directory, chunk them, and serialize them for Large Language Models (LLM) consumption. It utilizes .gitignore rules to skip unwanted files, Git history to infer important files, and additional ignore patterns. Yek splits content into chunks based on token count or byte size, supports processing multiple directories, and can stream content when output is piped. It is configurable via a 'yek.toml' file and prioritizes important files at the end of the output.

llm-functions
LLM Functions is a project that enables the enhancement of large language models (LLMs) with custom tools and agents developed in bash, javascript, and python. Users can create tools for their LLM to execute system commands, access web APIs, or perform other complex tasks triggered by natural language prompts. The project provides a framework for building tools and agents, with tools being functions written in the user's preferred language and automatically generating JSON declarations based on comments. Agents combine prompts, function callings, and knowledge (RAG) to create conversational AI agents. The project is designed to be user-friendly and allows users to easily extend the capabilities of their language models.

ppt2desc
ppt2desc is a command-line tool that converts PowerPoint presentations into detailed textual descriptions using vision language models. It interprets and describes visual elements, capturing the full semantic meaning of each slide in a machine-readable format. The tool supports various model providers and offers features like converting PPT/PPTX files to semantic descriptions, processing individual files or directories, visual elements interpretation, rate limiting for API calls, customizable prompts, and JSON output format for easy integration.

june
june-va is a local voice chatbot that combines Ollama for language model capabilities, Hugging Face Transformers for speech recognition, and the Coqui TTS Toolkit for text-to-speech synthesis. It provides a flexible, privacy-focused solution for voice-assisted interactions on your local machine, ensuring that no data is sent to external servers. The tool supports various interaction modes including text input/output, voice input/text output, text input/audio output, and voice input/audio output. Users can customize the tool's behavior with a JSON configuration file and utilize voice conversion features for voice cloning. The application can be further customized using a configuration file with attributes for language model, speech-to-text model, and text-to-speech model configurations.

raycast_api_proxy
The Raycast AI Proxy is a tool that acts as a proxy for the Raycast AI application, allowing users to utilize the application without subscribing. It intercepts and forwards Raycast requests to various AI APIs, then reformats the responses for Raycast. The tool supports multiple AI providers and allows for custom model configurations. Users can generate self-signed certificates, add them to the system keychain, and modify DNS settings to redirect requests to the proxy. The tool is designed to work with providers like OpenAI, Azure OpenAI, Google, and more, enabling tasks such as AI chat completions, translations, and image generation.

magic-cli
Magic CLI is a command line utility that leverages Large Language Models (LLMs) to enhance command line efficiency. It is inspired by projects like Amazon Q and GitHub Copilot for CLI. The tool allows users to suggest commands, search across command history, and generate commands for specific tasks using local or remote LLM providers. Magic CLI also provides configuration options for LLM selection and response generation. The project is still in early development, so users should expect breaking changes and bugs.

ethereum-etl-airflow
This repository contains Airflow DAGs for extracting, transforming, and loading (ETL) data from the Ethereum blockchain into BigQuery. The DAGs use the Google Cloud Platform (GCP) services, including BigQuery, Cloud Storage, and Cloud Composer, to automate the ETL process. The repository also includes scripts for setting up the GCP environment and running the DAGs locally.

please-cli
Please CLI is an AI helper script designed to create CLI commands by leveraging the GPT model. Users can input a command description, and the script will generate a Linux command based on that input. The tool offers various functionalities such as invoking commands, copying commands to the clipboard, asking questions about commands, and more. It supports parameters for explanation, using different AI models, displaying additional output, storing API keys, querying ChatGPT with specific models, showing the current version, and providing help messages. Users can install Please CLI via Homebrew, apt, Nix, dpkg, AUR, or manually from source. The tool requires an OpenAI API key for operation and offers configuration options for setting API keys and OpenAI settings. Please CLI is licensed under the Apache License 2.0 by TNG Technology Consulting GmbH.

py-vectara-agentic
The `vectara-agentic` Python library is designed for developing powerful AI assistants using Vectara and Agentic-RAG. It supports various agent types, includes pre-built tools for domains like finance and legal, and enables easy creation of custom AI assistants and agents. The library provides tools for summarizing text, rephrasing text, legal tasks like summarizing legal text and critiquing as a judge, financial tasks like analyzing balance sheets and income statements, and database tools for inspecting and querying databases. It also supports observability via LlamaIndex and Arize Phoenix integration.

code2prompt
code2prompt is a command-line tool that converts your codebase into a single LLM prompt with a source tree, prompt templating, and token counting. It automates generating LLM prompts from codebases of any size, customizing prompt generation with Handlebars templates, respecting .gitignore, filtering and excluding files using glob patterns, displaying token count, including Git diff output, copying prompt to clipboard, saving prompt to an output file, excluding files and folders, adding line numbers to source code blocks, and more. It helps streamline the process of creating LLM prompts for code analysis, generation, and other tasks.

aiexe
aiexe is a cutting-edge command-line interface (CLI) and graphical user interface (GUI) tool that integrates powerful AI capabilities directly into your terminal or desktop. It is designed for developers, tech enthusiasts, and anyone interested in AI-powered automation. aiexe provides an easy-to-use yet robust platform for executing complex tasks with just a few commands. Users can harness the power of various AI models from OpenAI, Anthropic, Ollama, Gemini, and GROQ to boost productivity and enhance decision-making processes.
For similar tasks

Botright
Botright is a tool designed for browser automation that focuses on stealth and captcha solving. It uses a real Chromium-based browser for enhanced stealth and offers features like browser fingerprinting and AI-powered captcha solving. The tool is suitable for developers looking to automate browser tasks while maintaining anonymity and bypassing captchas. Botright is available in async mode and can be easily integrated with existing Playwright code. It provides solutions for various captchas such as hCaptcha, reCaptcha, and GeeTest, with high success rates. Additionally, Botright offers browser stealth techniques and supports different browser functionalities for seamless automation.

CoolCline
CoolCline is a proactive programming assistant that combines the best features of Cline, Roo Code, and Bao Cline. It seamlessly collaborates with your command line interface and editor, providing the most powerful AI development experience. It optimizes queries, allows quick switching of LLM Providers, and offers auto-approve options for actions. Users can configure LLM Providers, select different chat modes, perform file and editor operations, integrate with the command line, automate browser tasks, and extend capabilities through the Model Context Protocol (MCP). Context mentions help provide explicit context, and installation is easy through the editor's extension panel or by dragging and dropping the `.vsix` file. Local setup and development instructions are available for contributors.

cursor-tools
cursor-tools is a CLI tool designed to enhance AI agents with advanced skills, such as web search, repository context, documentation generation, GitHub integration, Xcode tools, and browser automation. It provides features like Perplexity for web search, Gemini 2.0 for codebase context, and Stagehand for browser operations. The tool requires API keys for Perplexity AI and Google Gemini, and supports global installation for system-wide access. It offers various commands for different tasks and integrates with Cursor Composer for AI agent usage.

pr-agent
PR-Agent is a tool that helps to efficiently review and handle pull requests by providing AI feedbacks and suggestions. It supports various commands such as generating PR descriptions, providing code suggestions, answering questions about the PR, and updating the CHANGELOG.md file. PR-Agent can be used via CLI, GitHub Action, GitHub App, Docker, and supports multiple git providers and models. It emphasizes real-life practical usage, with each tool having a single GPT-4 call for quick and affordable responses. The PR Compression strategy enables effective handling of both short and long PRs, while the JSON prompting strategy allows for modular and customizable tools. PR-Agent Pro, the hosted version by CodiumAI, provides additional benefits such as full management, improved privacy, priority support, and extra features.

shell_gpt
ShellGPT is a command-line productivity tool powered by AI large language models (LLMs). This command-line tool offers streamlined generation of shell commands, code snippets, documentation, eliminating the need for external resources (like Google search). Supports Linux, macOS, Windows and compatible with all major Shells like PowerShell, CMD, Bash, Zsh, etc.

gpt-pilot
GPT Pilot is a core technology for the Pythagora VS Code extension, aiming to provide the first real AI developer companion. It goes beyond autocomplete, helping with writing full features, debugging, issue discussions, and reviews. The tool utilizes LLMs to generate production-ready apps, with developers overseeing the implementation. GPT Pilot works step by step like a developer, debugging issues as they arise. It can work at any scale, filtering out code to show only relevant parts to the AI during tasks. Contributions are welcome, with debugging and telemetry being key areas of focus for improvement.

sirji
Sirji is an agentic AI framework for software development where various AI agents collaborate via a messaging protocol to solve software problems. It uses standard or user-generated recipes to list tasks and tips for problem-solving. Agents in Sirji are modular AI components that perform specific tasks based on custom pseudo code. The framework is currently implemented as a Visual Studio Code extension, providing an interactive chat interface for problem submission and feedback. Sirji sets up local or remote development environments by installing dependencies and executing generated code.

awesome-ai-devtools
Awesome AI-Powered Developer Tools is a curated list of AI-powered developer tools that leverage AI to assist developers in tasks such as code completion, refactoring, debugging, documentation, and more. The repository includes a wide range of tools, from IDEs and Git clients to assistants, agents, app generators, UI generators, snippet generators, documentation tools, code generation tools, agent platforms, OpenAI plugins, search tools, and testing tools. These tools are designed to enhance developer productivity and streamline various development tasks by integrating AI capabilities.
For similar jobs

sweep
Sweep is an AI junior developer that turns bugs and feature requests into code changes. It automatically handles developer experience improvements like adding type hints and improving test coverage.

teams-ai
The Teams AI Library is a software development kit (SDK) that helps developers create bots that can interact with Teams and Microsoft 365 applications. It is built on top of the Bot Framework SDK and simplifies the process of developing bots that interact with Teams' artificial intelligence capabilities. The SDK is available for JavaScript/TypeScript, .NET, and Python.

ai-guide
This guide is dedicated to Large Language Models (LLMs) that you can run on your home computer. It assumes your PC is a lower-end, non-gaming setup.

classifai
Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence. Tap into leading cloud-based services like OpenAI, Microsoft Azure AI, Google Gemini and IBM Watson to augment your WordPress-powered websites. Publish content faster while improving SEO performance and increasing audience engagement. ClassifAI integrates Artificial Intelligence and Machine Learning technologies to lighten your workload and eliminate tedious tasks, giving you more time to create original content that matters.

chatbot-ui
Chatbot UI is an open-source AI chat app that allows users to create and deploy their own AI chatbots. It is easy to use and can be customized to fit any need. Chatbot UI is perfect for businesses, developers, and anyone who wants to create a chatbot.

BricksLLM
BricksLLM is a cloud native AI gateway written in Go. Currently, it provides native support for OpenAI, Anthropic, Azure OpenAI and vLLM. BricksLLM aims to provide enterprise level infrastructure that can power any LLM production use cases. Here are some use cases for BricksLLM: * Set LLM usage limits for users on different pricing tiers * Track LLM usage on a per user and per organization basis * Block or redact requests containing PIIs * Improve LLM reliability with failovers, retries and caching * Distribute API keys with rate limits and cost limits for internal development/production use cases * Distribute API keys with rate limits and cost limits for students

uAgents
uAgents is a Python library developed by Fetch.ai that allows for the creation of autonomous AI agents. These agents can perform various tasks on a schedule or take action on various events. uAgents are easy to create and manage, and they are connected to a fast-growing network of other uAgents. They are also secure, with cryptographically secured messages and wallets.

griptape
Griptape is a modular Python framework for building AI-powered applications that securely connect to your enterprise data and APIs. It offers developers the ability to maintain control and flexibility at every step. Griptape's core components include Structures (Agents, Pipelines, and Workflows), Tasks, Tools, Memory (Conversation Memory, Task Memory, and Meta Memory), Drivers (Prompt and Embedding Drivers, Vector Store Drivers, Image Generation Drivers, Image Query Drivers, SQL Drivers, Web Scraper Drivers, and Conversation Memory Drivers), Engines (Query Engines, Extraction Engines, Summary Engines, Image Generation Engines, and Image Query Engines), and additional components (Rulesets, Loaders, Artifacts, Chunkers, and Tokenizers). Griptape enables developers to create AI-powered applications with ease and efficiency.