Конфигурация¶
srekit читает конфигурацию из четырёх источников. Большинству юзеров достаточно одного из них. Эта страница — authoritative source по "кто кого выигрывает".
Источники¶
| Источник | Через |
|---|---|
| Флаги | --author, --email, --templates-dir и т.п. в командной строке |
| Env | SREKIT_AUTHOR, SREKIT_EMAIL, SREKIT_TEMPLATES_DIR |
~/.srekit.yaml |
Правится вручную или через srekit config init |
git config |
user.name, user.email из global или local git config |
Приоритет¶
Для каждого ключа srekit идёт по источникам в этом порядке и берёт первое непустое значение:
- Command-line флаг
SREKIT_<KEY>env-переменная (напримерSREKIT_AUTHOR)~/.srekit.yaml(напримерauthor:)git config <git-key>(только для author/email)
Если все четыре пустые для required-значения — команда падает с понятной ошибкой:
srekit license --stdout
# Error: author is not set: pass --author, set SREKIT_AUTHOR, or configure git user.name
Ключи¶
Identity автора¶
Используется: license, rfc, oncall-report (остальные фолбэчатся на "anonymous" где уместно).
| Ключ | yaml | env | git |
|---|---|---|---|
| name | author: (или full_name:) |
SREKIT_AUTHOR |
user.name |
email: |
SREKIT_EMAIL |
user.email |
Templates directory¶
Используется каждой templates * подкомандой и каждым генератором (через overlay-loader).
| Ключ | yaml | env | флаг |
|---|---|---|---|
| templates_dir | templates_dir: |
SREKIT_TEMPLATES_DIR |
--templates-dir |
Флаг — persistent flag на root, применяется к каждой подкоманде.
Расположение конфига¶
| Ключ | флаг | default |
|---|---|---|
| config file | --config FILE |
~/.srekit.yaml |
srekit config init уважает --config тоже — передай чтобы записать файл в другое место.
yaml-файл¶
# ~/.srekit.yaml
author: Mikhail Savin
email: jtprogru@gmail.com
# templates_dir: ~/.srekit/templates # опционально
Сгенерировать через srekit config init. Файл пишется 0o600 (user-only), пути с tilde-стиль раскрытием (~/foo → $HOME/foo).
Пример: per-environment override¶
Одна машина, две GitHub identity (личная и рабочая):
# ~/.srekit.yaml содержит личную identity.
# На работе:
SREKIT_AUTHOR="Mikhail Savin" SREKIT_EMAIL="m.savin@work.example.com" \
srekit license --type apache2 --out LICENSE
Или scope кастомных шаблонов на конкретный проект:
Дебаг приоритета¶
Хочешь знать, какой источник выиграл? Запусти с теми же args и сравни вывод, ИЛИ просто проверь env / yaml / git config по очереди. Built-in команды "show resolved config" пока нет — кандидат на v1.0.
См. также¶
srekit config init— записать yaml-файл интерактивно.- Кастомные шаблоны — end-to-end
templates_dir.