ab4e83b042
Made-with: Cursor
4.8 KiB
4.8 KiB
OpenClaude и Git-репозитории
Как организовать работу OpenClaude с GitHub/GitLab/Gitea и похожими сервисами.
1) Что значит "научить OpenClaude работать с репозиториями"
Обычно это 3 уровня:
- Локальный уровень: OpenClaude работает в локальном git-репозитории (
clone,branch,commit). - Remote уровень: пуш/PR/issue через токены и CLI (
gh,glab,tea). - Контекст и автоматизация: доступ к данным репозитория через MCP-инструменты.
2) Базовая схема (рекомендуется)
- Клонировать репозиторий локально.
- Запускать OpenClaude из корня проекта.
- Для GitHub использовать
gh auth login. - Для GitLab использовать
glab auth login. - Для Gitea использовать SSH-ключи или PAT в remote URL/credential manager.
Это даёт OpenClaude полный цикл: читать код, редактировать, запускать тесты, делать коммиты и PR.
3) Настройка аутентификации без постоянного ввода пароля
Подробный SSH-гайд с типовыми ошибками:
docs/github-ssh-setup-and-troubleshooting.md
GitHub
gh auth login
gh auth status
GitLab
glab auth login
glab auth status
Универсально для git HTTPS
git config --global credential.helper store
Лучше и безопаснее - SSH:
ssh-keygen -t ed25519 -C "you@example.com"
# добавить публичный ключ в GitHub/GitLab/Gitea
git remote set-url origin git@github.com:OWNER/REPO.git
4) Минимальный безопасный процесс работы с кодом
- Создать отдельную feature-ветку.
- Делать небольшие коммиты с понятными сообщениями.
- Перед push запускать тесты/lint.
- Не хранить секреты в репозитории (
.env, ключи, токены). - Для main/master включить protected branch и PR review.
5) Как подключить репозиторий как источник знаний (RAG)
Если цель - чтобы OpenClaude "знал проект":
- индексировать
README,docs, ADR, API-контракты, runbook - не индексировать шум (
node_modules,dist, lock-файлы без необходимости) - регулярно переиндексировать после merge крупных изменений
Простой путь:
git cloneрепозиторий- копировать нужные папки в
docs/rag-mcp-starter/docs - запускать
index.py - использовать
search_docsиanswer_with_citations
6) MCP для Git-платформ: что имеет смысл добавить
Полезные MCP-инструменты:
list_prs(repo)get_pr_diff(repo, pr_number)list_issues(repo, label)create_issue(repo, title, body)comment_pr(repo, pr_number, body)get_file_at_ref(repo, path, ref)
Такой слой позволяет OpenClaude работать не только с локальным checkout, но и с удаленным контекстом.
7) Практика для self-hosted Git (Gitea/Forgejo/GitLab self-hosted)
- Убедиться в доступности API/SSH с сервера.
- Создать сервисный токен с минимальными правами (least privilege).
- Хранить токен в переменных окружения или secrets manager.
- Ограничить доступ по IP/ACL.
- Вести аудит действий (кто/когда создал PR/comment/push).
8) Частые ошибки
- OpenClaude запущен не из корня репозитория.
- Нет прав на push в remote.
- PAT истек или не имеет scope для PR/issues.
- Смешивание нескольких аккаунтов в одном credential helper.
- Отсутствуют локальные зависимости проекта (тесты не запускаются).
9) Рабочий чек-лист перед началом
git status
git remote -v
gh auth status || true
glab auth status || true
Если всё ок - можно давать OpenClaude задачи на полный цикл "изменение -> тест -> commit -> PR".