ПостСредне~4 мин

Cursor: CLI

Оглавление

CLI в Cursor нужен не для «вайба», а чтобы быстрее открыть нужный файл, сравнить версии и, если хочется, запустить агента без окна IDE.

Я люблю GUI. Но в моменты, когда ты уже живёшь в терминале (логи, тесты, grep, git), переключение в IDE ради одного действия начинает раздражать. Тут и выручает cursor.

Проверено: 2026-08. CLI 3.17.19.

Зачем выходить из GUI

Суть простая: CLI даёт тебе «вход» в Cursor из того места, где ты уже находишься.

  • Стектрейс и логи: открыть файл сразу на нужной строке через --goto.
  • Сравнение и мердж: быстрый --diff и трёхсторонний --merge, когда IDE открывать лень.
  • Окно и папки: добавить или убрать папку в последнее активное окно (--add, --remove).
  • Скрипты и headless: у Cursor есть agent как сабкоманда для терминала. Это уже не «открыть файл», это полноценная работа агента.

И да, я проверил через cursor --help: CLI умеет читать stdin, но только в конкретной форме (про это ниже).

Что отвечает cursor --help

Ниже я оставлю ровно те строки, которые реально выдаёт моя версия CLI. Никаких «а ещё можно вот так» из памяти.

Cursor 3.17.19

Usage: cursor [options][paths...]

To read from stdin, append '-' (e.g. 'ps aux | grep code | cursor -')

Options
  -d --diff <file> <file>                    Compare two files with each
                                             other.
  -m --merge <path1> <path2> <base> <result> Perform a three-way merge by
                                             providing paths for two modified
                                             versions of a file, the common
                                             origin of both modified versions
                                             and the output file to save
                                             merge results.
  -a --add <folder>                          Add folder(s) to the last active
                                             window.
  --remove <folder>                          Remove folder(s) from the last
                                             active window.
  -g --goto <file:line[:character]>          Open a file at the path on the
                                             specified line and character
                                             position.
  -w --wait                                  Wait for the files to be closed
                                             before returning.
  --add-mcp <json>                           Adds a Model Context Protocol
                                             server definition to the user
                                             profile, or workspace or folder
                                             when used with --mcp-workspace.
                                             Accepts JSON input in the form
                                             '{"name":"server-name","command":...}
                                             '
  --chat                                     Open a standalone chat window
                                             without the full IDE.

Subcommands
  tunnel       Make the current machine accessible from vscode.dev or other
               machines through a secure tunnel
  agent        Start the Cursor agent in your terminal.

Самая важная строчка тут про stdin: «append '-'». Я бы легко придумал «передай файл в пайп», но тут не нужно придумывать, оно уже написано в справке.

Вторая важная штука: agent есть прямо в списке сабкоманд. Значит, «агент из терминала» - это не фанфик, а часть продукта.

Агент из терминала

Я не буду притворяться, что это «безопасная команда для каждого». В help прямо сказано, что в режиме печати ответов агент имеет доступ ко всем инструментам, включая запись и shell. Если запускаешь его в рабочем репозитории, относись к этому как к запуску IDE-агента, только без окна.

Вот кусок справки, который я получил у себя:

Usage: cursor agent [options] [command] [prompt...]

Start the Cursor Agent

Options:
  --api-key <key>              API key for authentication (can also use
                               CURSOR_API_KEY env var)
  -p, --print                  Print responses to console (for scripts or
                               non-interactive use). Has access to all tools,
                               including write and shell. (default: false)
  --output-format <format>     Output format (only works with --print): text |
                               json | stream-json (default: "text")
  --mode <mode>                Start in the given execution mode. plan:
                               read-only/planning (analyze, propose plans, no
                               edits). ask: Q&A style for explanations and
                               questions (read-only). (choices: "plan", "ask")
  -f, --force                  Force allow commands unless explicitly denied
                               (default: false)
  --yolo                       Alias for --force (Run Everything) (default:
                               false)
  --workspace <path-or-name>   Workspace directory or saved workspace name to
                               use (defaults to current working directory)

Мой практический минимум: если ты только пробуешь, начни с --mode и без --force/--yolo. Сначала пусть агент объяснит, что собирается делать, потом уже пусть делает.

Тот же репозиторий, те же правила

CLI не отменяет того, что Cursor работает в конкретной папке. Если ты уже настроил правила, контекст и инструменты (правила, @, MCP), то в терминале логика та же: агенту всё равно нужно объяснить, где он находится и что ему разрешено.

Мне нравится думать об этом так: GUI и CLI отличаются кнопками, но не ответственностью. Если в IDE ты не дал бы агенту «делай что хочешь», то и в терминале не давай. Особенно когда видишь в help слова --force и --yolo.

Когда вернуться в IDE

Я возвращаюсь в GUI в двух случаях.

  • Нужно видеть правки глазами: просмотр списка правок, ручная правка, ревью. Терминал хорош, но IDE лучше показывает контекст.
  • Нужно «поиграть» интерфейсом: когда ты не уверен, какая команда тебе вообще нужна, быстрее открыть палитру команд и посмотреть варианты.

CLI я оставляю для вещей «попасть в точку»: открыть файл на строке, быстро сравнить две версии, закинуть агента на маленькую задачу в headless-режиме.

Главный вывод

Если Cursor у тебя уже стоит, то cursor в терминале - это не отдельная сущность, а ещё одна дверь в те же возможности. Самая полезная часть для меня: быстрый переход к файлу и строке, плюс честная справка о том, что CLI реально умеет.

И отдельно про cursor agent: классно, что он есть. Но это не «магическая команда для автопилота». Это тот же агент, просто без окна. Уважай это, и будет очень приятно работать.

Ссылки

Обсуждение

Комментариев пока нет — начните тему.

Комментариев пока нет — начните тему.

Оставить комментарий

Комментарии публикуются сразу после отправки.