Skip to content

Быстрый старт

За 2 минуты от нуля до gitflic mr list.

1. Установить

bash
npm install -g gitflic-cli
# или разово, без установки:
npx gitflic-cli help

Все способы (npx, из исходников, Windows, dry-run) — Установка.

2. Получить токен

Открой https://gitflic.ruПрофильAPI-токеныСоздать.

Минимально нужные скоупы: PROJECT_READ + PROJECT_WRITE (или PROJECT_EDIT) для работы с MR.

3. Сохранить токен в системное хранилище

bash
gitflic auth login --token xxxx-xxxx-xxxx

Что произойдёт:

  1. CLI дёрнет /user/me с этим токеном — убедится, что токен валиден.
  2. Покажет identity (alias + email).
  3. Сохранит токен в:
    • macOS → Keychain (security add-generic-password)
    • Linux → libsecret (secret-tool)
    • иначе~/.config/gitflic-cli/config.json с chmod 0600 + предупреждение.

Битый токен не сохраняется — keychain остаётся чистым.

4. Пользоваться

bash
gitflic project get tikhon/gitflic-cli              # резолв alias → UUID
gitflic mr list --project tikhon/gitflic-cli        # открытые MR
gitflic mr view 42 --project tikhon/gitflic-cli    # детали MR #42
gitflic mr create --title "Fix login" --to main    # создать MR
gitflic auth status                                 # проверить текущий аккаунт

CLI покрывает REST API GitFlic почти на 100% — ниже несколько примеров «посерьёзнее».

Реестр пакетов (registry)

Загрузка и скачивание артефактов. Формат указывается через --fmt (не --format — он зарезервирован под вывод):

bash
# Загрузить Maven-артефакт в реестр проекта
gitflic registry package upload --fmt maven --project tikhon/wave \
  ./app-1.0.jar com.acme app 1.0

# Скачать npm-пакет
gitflic registry package download --fmt npm --project tikhon/wave \
  my-pkg my-pkg-1.0.tgz --out ./out.tgz

# Список пакетов компании в формате JSON
gitflic registry package list --scope company --company acme --type maven --format json

Релизы (release)

bash
# Создать релиз с тегом
gitflic release create --title "v1.2.0" --tag v1.2.0 --project tikhon/wave

# Прикрепить файл к релизу (.zip/архивы проходят валидацию типа на сервере)
gitflic release upload <releaseUuid> ./build.zip --name build.zip --project tikhon/wave

Задачи (issue)

bash
# Загрузить файл в проект и прикрепить его к задаче одной командой
gitflic issue attach 17 ./screenshot.png --name bug.png --project tikhon/wave

Защита веток и тегов

Правила защиты можно задавать на уровне проекта, команды или компании:

bash
# Запретить force-push в main на уровне проекта
gitflic branch protection create --project tikhon/wave \
  --branch-template main --allowed-to-push ADMINS --allowed-to-merge DEVELOPER

# Защита тегов на уровне команды
gitflic tag protection create --scope team --team backend \
  --tag-template "v*" --allow-to-create ADMINS

CI/CD-раннеры

bash
gitflic runner list --project tikhon/wave --format json   # раннеры проекта
gitflic runner list --scope company --company acme         # раннеры компании

Что дальше

MIT License