Скрипт синхронизации GitHub Issues для Cursor IDE
ghsync.py
позволяет Агенту взаимодействовать с задачами (issues) в репозитории GitHub.
Скрипт позволяет читать все метки и задачи, редактировать существующие задачи и создавать новые. Поддерживается изменение статуса задачи, но удаление задач не предусмотрено.
Для массовых изменений рекомендуется создать премиальной моделью файл temp.txt
со списком команд, а затем выполнить их с помощью бесплатной модели. Gemini 2.5 Flash справляется с этим. Cursor Small и GPT-4o-mini не тестировались.
Требования
Python 3: Убедитесь, что у вас установлен Python 3.
Если проект не использует Python, создайте локальное окружение Python. В Cursor или VSCode откройте терминал и выполните:
python -m venv env_py
После этого IDE сама предложит активировать окружение.
GitHub CLI (gh): Должен быть установлен GitHub CLI и пройдена аутентификация:
gh auth login
Настройка
Добавьте папку .cursor
в ваш репозиторий и следуйте предыдущему разделу.
Использование
Пример запроса к модели:
В соответствии с @git-interactions.mdc выполни {действие}
Основные команды, поддерживаемые ghsync.py
-d
,--download
: Скачивает все метки и задачи.-u
,--upload
: Создает новую задачу.Обязательный аргумент:
--title <заголовок>
Опционально:
--body <тело>
или--body-from-file <имя_файла>
(из.cursor/Gitdata/temp_bodies
),--labels <метка1> <метка2> ...
-e
,--edit <НомерЗадачи>
: Редактирует существующую задачу.Опционально:
-NewTitle <новый_заголовок>
,-NewBody <новое_тело>
или-NewBodyFromFile <имя_файла>
(из.cursor/Gitdata/temp_bodies
),-NewLabels <метка1> <метка2> ...
,-NewState <open|closed|not_planned>
При использовании
--body-from-file
или-NewBodyFromFile
, положите файл с содержанием задачи в папку.cursor/Gitdata/temp_bodies
. Скрипт считает содержимое и автоматически удалит файл после использования.
Примечания
Скрипт и связанное правило пытаются обойти текущие проблемы Cursor с захватом вывода терминала для Агентов. Следите за исполнением, так как Агент может не следовать инструкциям в
git-interactions.mdc
и проверять вывод консоли вместо статус-файлаЯ пытался создать Agent Tools через MCP-сервер, но ни Gemini, ни Claude не смогли корректно подключить MCP к Cursor, поэтому я забил.
Если хотите, чтобы действия Агента отображались отдельно от ваших, создайте для него отдельный аккаунт GitHub. Вроде как ещё можно создать под него GitHub App, но мне лень, учитывая, что я работаю один в приватном репозитории.