Как начать работать с SourceCraft CLI
SourceCraft CLI (src) — это интерфейс командной строки для работы на платформе SourceCraft со встроенным AI-агентом OpenCode. В opencode настроен доступ к большим языковым моделям (LLM) Code Assistant, а также установлены инструменты для работы с платформой.
Важно
За использование агентского режима Code Assistant в SourceCraft CLI взимается плата, подробнее см. Тарифные планы Code Assistant.
С помощью SourceCraft CLI вы можете управлять репозиториями, задачами, предложениями изменений и другими ресурсами платформы прямо из терминала, не переключаясь в браузер. Также SourceCraft CLI более удобен для использования в скриптах и автоматизации, чем REST API сервиса.
Также в SourceCraft CLI реализована удобная аутентификация для git на платформе без необходимости явного использования SSH-ключей или PAT.
Помимо стандартных операций с платформой, с помощью встроенного AI-агента opencode, подключенного к Code Assistant, вы можете изучать, генерировать и отлаживать код вашего проекта. Агент интегрирован с платформой SourceCraft, имеет доступ к веткам, задачам, предложениям изменений и прочим ресурсам платформы и может выполнять многошаговые задачи прямо в контексте вашего репозитория.
Чтобы начать работать с SourceCraft CLI:
- Подготовьтесь к работе.
- Установите CLI.
- Настройте CLI.
- Протестируйте работу с ресурсами SourceCraft.
- Протестируйте работу OpenCode.
- Используйте AI-навыки.
Подготовьтесь к работе
- Аутентифицируйтесь в SourceCraft.
- Установите Git.
Установите SourceCraft CLI
SourceCraft CLI устанавливается с помощью скрипта, который:
- Определяет вашу операционную систему и архитектуру.
- Скачивает исполняемый файл с последней стабильной версией CLI для вашего окружения.
- Проверяет работоспособность.
- Добавляет CLI в переменную окружения
PATH. - Генерирует настройки автодополнения.
Важно
Поддерживается macOS не ниже версии 12 Monterey.
-
В терминале выполните команду:
curl -fsSL https://s3.yandexcloud.net/sourcecraft-cli/install.sh | sh -
После завершения установки перезапустите терминал:
exec -l $SHELL
-
В PowerShell выполните команду:
iex (New-Object System.Net.WebClient).DownloadString('https://s3.yandexcloud.net/sourcecraft-cli/install.ps1') -
После завершения установки перезапустите PowerShell.
Настройте SourceCraft CLI
Если вы пропустите этап первоначальной настройки, то при запуске любой команды, использующей API SourceCraft, вам все равно будет предложено пройти интерактивную настройку.
-
Чтобы запустить SourceCraft CLI, в терминале выполните команду:
srcПри первом запуске будет выполнена проверка обновления, и запущена интерактивная настройка. В дальнейшем обновления будут проверяться автоматически, либо вы можете запросить их с помощью команды src update.
Результат:
Welcome to SourceCraft CLI! Let's get you set up.Примечание
Чтобы повторно запустить процесс интерактивной настройки, используйте команду src init.
-
С помощью клавиш ↑, ↓ и Enter выберите, где сохранить аутентификационные данные:
SourceCraft Authentication Setup Where would you like to store credentials? > Keyring (Recommended) FilesystemГде:
-
Keyring— системное хранилище секретов операционной системы. Это рекомендуемый и более безопасный вариант: аутентификационные данные изолированы от файловой системы, защищены на уровне ОС и недоступны другим процессам без явного разрешения. Подходит для локальных компьютеров. -
Filesystem— файл на диске. Менее безопасный вариант, так как файл потенциально доступен любому процессу, запущенному от имени того же пользователя. Зато этот вариант работает везде, в том числе в средах без графического окружения и системного хранилища секретов, например в виртуальных машинах с минимальным набором компонентов, Docker-контейнерах, WSL и пр.Примечание
В окружениях без системного хранилища секретов SourceCraft CLI выдаст предупреждение
⚠️ Keyring is not available on this systemи предложит только вариантFilesystem.
-
-
Выберите способ аутентификации в SourceCraft:
Which authentication method would you like to use? > IAM (Recommended) Personal Access TokenГде:
-
IAM— короткоживущий IAM-токен Yandex Cloud. Рекомендуемый и более безопасный способ. Аутентификация будет осуществляться с использованием браузера. -
Personal Access Token— PAT. Подходит для систем без браузера, например на виртуальных машинах или в WSL.Примечание
В окружениях без браузера SourceCraft CLI выдаст предупреждение
⚠️ IAM token via OAuth is not available on this systemи предложит только вариантPersonal Access Token.
-
-
Подтвердите сохранение настроек:
Save these settings? > Yes, save these settings No, cancel -
(опционально) Настройте git credential helper — инструмент для удобной аутентификации
gitв SourceCraft без необходимости явного использования SSH-ключей или PAT:Configure git credential helper? This allows git to automatically authenticate with SourceCraft. > Yes (Recommended) NoСовет
Если вы пропустили настройку
git credential helper, в дальнейшем вы сможете запустить ее с помощью команды src auth setup-git. -
(опционально) Установите OpenCode:
-
Подтвердите установку:
Install opencode (AI coding assistant)? A powerful AI-powered coding assistant integrated with SourceCraft. > Yes (Recommended) No -
Выберите, куда установить
opencode:~/.opencode/bin— стандартная директория, которая используетсяopencodeпо умолчанию при установке отдельно от SourceCraft CLI. Дает возможность работать сopencode, в том числе независимо от SourceCraft CLI. Рекомендуемый вариант.~/.config/sourcecraft/bin— изолированная директория внутри конфигурации SourceCraft CLI. В этом случаеopencodeможно использовать только через SourceCraft CLI. Удобно, если, например, вы хотите изолировать версиюopencode, настроенную под SourceCraft, от основной.
Where would you like to install opencode? > ~/.opencode/bin (Recommended) ~/.config/sourcecraft/bin (Local)Результат:
✓ Authentication configured successfully! ✓ Git credential helper configured! Installing opencode... ✓ Found latest version: 1.3.13 Version 1.3.13 already installed ✓ Opencode installed successfully! ✓ Onboarding complete! You're ready to use SourceCraft CLI. -
Если вы выбрали способ аутентификации
IAM, выполните команду:src auth loginРезультат:
You are going to be authenticated via OAuth at Sourcecraft. Authentication web site will be opened. After your successful authentication, you will be redirected to cloud console'. Press 'enter' to continue...Нажмите Enter.
В браузере откроется окно аутентификации. Вы можете закрыть его и продолжить работу в терминале.
-
Утилита SourceCraft CLI настроена и готова к работе.
Протестируйте работу CLI с ресурсами SourceCraft
Посмотрите общую информацию о командах SourceCraft CLI
src --help
Совет
Чтобы посмотреть полный справочник, используйте команду src reference.
См. также Справочник SourceCraft CLI в документации.
Получите список репозиториев в организации
src repo list <слаг_организации>
Результат:
SLUG DESCRIPTION VISIBILITY LAST_UPDATED
my-first-repo Test repository to understand platform tools. private about 10 months ago
yc-ci-cd-serverless Пример развертывания простого веб-приложения в Yandex Cloud. public about 1 month ago
test-node-example My first NodeJS application. internal about 2 days ago
Склонируйте репозиторий и перейдите в него
src clone <слаг_организации>/<слаг_репозитория>
cd <слаг_репозитория>
Создайте задачу
-
Выполните команду:
src issue createПо умолчанию все команды на создание новых сущностей запускаются в интерактивном режиме.
-
Введите название задачи:
Create Issue Create a new issue in <слаг_организации>/<слаг_репозитория> Step 1 of 5 Issue Title A descriptive title for the issue (up to 1024 characters) > <название_задачи> -
Введите описание задачи. Чтобы закончить ввод, используйте сочетание клавиш Ctrl + s:
Step 2 of 5 Description Detailed description of the issue 1 <описание_задачи> 2 <описание_задачи> -
Укажите приоритет:
Step 3 of 5 Priority ▸ Normal Default priority for most issues Trivial Low impact, nice to have Minor Small impact, can be addressed later Critical High impact, needs attention soon Blocker Blocking progress, must be fixed immediately -
Укажите приватность задачи:
Step 4 of 5 Visibility ▸ Public Visible to everyone Private Only visible to repository members -
Подтвердите создание задачи:
Step 5 of 5 Create Issue ▸ Yes NoВ результате будет выведена полная информация о созданной задаче.
Получите список задач
src issue list
Совет
Когда вы находитесь в директории с репозиторием из SourceCraft, по умолчанию команды src будут запрашивать информацию именно о ресурсах в нем. Чтобы получить информацию о другом репозитории, используйте параметр --repo <слаг_организации>/<слаг_репозитория>.
Результат:
ID TITLE STATUS PRIORITY ASSIGNEE AUTHOR ▼ CREATED AT
2 French localization open normal src-user mr-x about 1 hour ago
1 Исправить баги closed normal first-user mr-x about 3 months ago
Чтобы получить список задач, назначенных вам, используйте параметр --assignee=@me.
Получите информацию о задаче
src issue get <идентификатор_задачи>
Результат:
ID: 2
TITLE: French localization
LABELS:
STATUS: open
PRIORITY: normal
ASSIGNEE: src-user
AUTHOR: mr-x
UPDATED BY: src-user
CREATED AT: about 1 hour ago
UPDATED AT: 3 minutes ago
DESCRIPTION: Please add French to the app.
Совет
Чтобы посмотреть информацию о запрашиваемом ресурсе, например задаче или репозитории, в интерфейсе SourceCraft, используйте параметр --web.
Также вы можете вывести информацию в формате JSON, для этого используйте параметр --json. Это может быть полезно, например, когда вы используете SourceCraft CLI для автоматизации.
Протестируйте работу OpenCode в SourceCraft CLI
SourceCraft CLI никак не ограничивает функциональность opencode, а расширяет ее. Вы можете продолжать использовать имеющиеся у вас плагины, правила, инструменты и пр.
При запуске через SourceCraft CLI в opencode добавляются:
- навык
src-cliс описанием и руководством по CLI. - (при нахождении в директории репозитория) информация о том, что репозиторий размещен в SourceCraft, и дополнительные инструкции по работе с ним и CLI.
-
Создайте новую ветку, в которой вы будете решать задачу, полученную на предыдущем шаге:
git checkout -b feature/issue-2 -
Запустите в репозитории
opencode:src code -
Последовательно вводите запросы к AI-агенту на естественном языке, например:
Получи список задач в репозитории.Агент воспользуется SourceCraft CLI для получения списка задач и выведет их.
Реализуй в коде предложение пользователя из задачи с идентификатором 2 и протестируй код.Агент спланирует действия, внесет изменения в код и протестирует его.
Сделай коммит с изменениями, отправь в удаленный репозиторий и создай предложение изменений.С помощью SourceCraft CLI агент создаст предложение изменений и выведет ссылку на него.
Важно
Для более гранулярного контроля за действиями агента вы можете не просить его делать коммит и отправлять изменения в репозиторий, а сделать это самостоятельно:
git status git add . & git commit -m "added improvements according issue-2" & git push src pr create -
Выйдите из
opencode:exitСовет
Также вы можете взаимодействовать с AI-агентом в headless-режиме без перехода в отдельный интерфейс терминала. Для этого используйте команду src do, например:
src do "Изучи код в репозитории, расскажи как он устроен и зачем нужен." -
Запросите статус проверок предложения изменений на возможность слияния с основной веткой:
src pr checks <идентификатор_предложения_изменений>Если не указать идентификатор, команда выведет информацию о статусах проверок предложения изменений, соответствующего текущей ветке
git.Результат:
STATUS: success CODE REVIEW: Status: success (0/0 approves) CONFLICTS: Status: success - No conflicts CI WORKFLOWS: security-pipeline1: success (run: 17) security-pipeline2: success (run: 17) CONFIG VALIDATIONS: -
Используйте AI-навыки
-
Запустите AI-навык для рецензирования вашего предложения изменений:
src codereviewЕсли вы находитесь в директории с репозиторием из SourceCraft, AI-агент попробует найти предложение изменений или сравнит текущую ветку с основной, проведет анализ изменений и выведет результаты в терминал.
Совет
Также доступны команды src prdescription для генерации описания предложения изменений и src skill для запуска пользовательских навыков.
Попробуйте создать собственный навык по инструкции OpenCode или скачать один из готовых и запустить его с помощью команды
src skill <имя_навыка> <аргументы>. -
Выполните слияние изменений с основной веткой:
src pr merge <идентификатор_предложения_изменений>Предложение изменений принято и добавлено в основную ветку репозитория. Чтобы перейти к ветке из другого предложения изменений, используйте команду src pr checkout.