Перейти до вмісту
Навігація Відкрити escЗакрити

Конфіг у репозиторії

Дії проєкту, команди налаштування worktree і стартери чернетки за замовчуванням живуть у ваших власних налаштуваннях OpenChamber. Ніхто інший їх не бачить. Якщо ви хочете, щоб колега, який клонує репозиторій, отримав ту саму дію для dev-сервера і той самий bun install у кожному новому worktree, перенесіть ці елементи в репозиторій.

OpenChamber зберігає їх у файлі .openchamber/project.json у корені репозиторію. Файл з’являється лише тоді, коли ви переносите туди перший елемент, і зникає, коли забираєте останній. Комітьте його як звичайний файл.

Що де лежить

Лишається у ваших налаштуванняхМожна перенести в репозиторій
Нотатки й todoДії проєкту
Заплановані задачіКоманди налаштування worktree
Які дії з репозиторію ви сховали для себеСтартери чернетки (закріплені команди й скіли)
Ваша відповідь про довіру до команд із репозиторіюПлани

Нотатки, todo і заплановані задачі ваші. Вони ніколи не потрапляють у репозиторій.

Перенесення елемента

Відкрийте Settings → Projects і виберіть проєкт. У кожної дії та команди налаштування є кнопка Move to repository, а в кожного елемента з репозиторію — Move to my settings. Стартери на екрані нової сесії показують ту саму пару при наведенні. У планів вона є в кожному рядку вкладки «Плани».

Перенесення — це саме перенесення. Елемент зникає з одного місця і з’являється в іншому, нічого не дублюється.

Елементи з репозиторію мають бейдж In repo. Дії з репозиторію можна сховати зі свого меню кнопкою Hide for me. Це змінює лише ваше меню, не файл.

Файл

{
"version": 1,
"setupWorktree": [
"bun install"
],
"setupWorktreeWait": true,
"projectActions": [
{
"id": "dev",
"name": "Dev server",
"command": "bun run dev",
"icon": "rocket",
"autoOpenUrl": true,
"platforms": ["macos", "linux"]
},
{
"id": "test",
"name": "Tests",
"command": "bun test"
}
],
"draftStarters": [
{ "type": "skill", "name": "triage-prs" }
],
"plansDir": "docs/plans"
}

Обов’язковий лише version. Усі інші ключі необов’язкові, і OpenChamber записує тільки ті, що щось містять.

setupWorktree — список shell-команд, які OpenChamber виконує всередині нового worktree одразу після його створення, по порядку. Використовуйте $ROOT_PROJECT_PATH для шляху до основного checkout. setupWorktreeWait: true змушує OpenChamber дочекатися цих команд, перш ніж запускати сесію у worktree.

projectActions — список дій у меню заголовка. id, name і command обов’язкові. icon необов’язкова і за замовчуванням це іконка play; OpenChamber знає такі назви: play, build, lint, terminal, tools, bug, flask, rocket, code, server, branch, search, settings, brain, stack, robot, command і file. autoOpenUrl: true відкриває адресу, яку виводить команда, див. Перегляд і dev-сервери. platforms обмежує дію до macos, linux або windows. runIn: "parent" виконує дію в основному checkout, а не в поточному worktree.

draftStarters закріплює команди й скіли на екрані нової сесії. Кожен запис має вигляд { "type": "command" | "skill", "name": "..." }, а сама команда чи скіл мають існувати в конфігу OpenCode цього репозиторію.

plansDir — де лежать плани репозиторію. Пропустіть, щоб використовувати .openchamber/plans. Див. нижче.

Цей файл можна писати руками. Ключ неправильної форми робить увесь файл недійсним, і сторінка Projects каже чому, замість того щоб мовчки його проігнорувати.

Як поєднуються елементи з репозиторію і ваші

Спершу виконуються команди налаштування з репозиторію, потім ваші. Позначте Use only my setup commands у секції Worktree, щоб узагалі пропустити команди з репозиторію.

Дії зливаються за id. Дія у ваших налаштуваннях із таким самим id, як у репозиторії, замінює її. Стартери зливаються за назвою.

Прапорець очікування береться з ваших налаштувань, якщо ви його задали, інакше з репозиторію.

Довіра

Команди налаштування й дії з репозиторію виконуються на вашому комп’ютері, а git pull може їх змінити. Тому першого разу, коли одна з них ось-ось виконається, OpenChamber показує точний текст команд і питає. Trust and run запам’ятовує вашу відповідь на цьому інстансі. Not this time виконує лише ваші власні команди.

Відповідь прив’язана до самих команд. Коли pull змінює команду з репозиторію, питання повертається для нового тексту. Забути відповідь можна кнопкою reset trust у секції Worktree в налаштуваннях проєкту.

Перенесення власної команди в репозиторій рахується як довіра до неї, адже ви її щойно бачили.

Плани в репозиторії

Плани з вкладки «Плани» теж можуть жити в репозиторії як файли Markdown. За замовчуванням це тека .openchamber/plans. Задайте Plans folder у налаштуваннях проєкту, щоб використати іншу теку всередині репозиторію, наприклад docs/plans, якщо команда вже тримає плани там. Своя тека повністю замінює типову: OpenChamber читає й пише лише в неї, тож при зміні перенесіть наявні файли самі.

Кожен файл .md у цій теці з’являється на вкладці «Плани», включно з файлами, які написали інші інструменти. Редагування в OpenChamber зберігає файл так, як ви його набрали. План, перенесений у репозиторій, зберігає свою ідентичність, тож сесії, до яких він був прикріплений, і далі його знаходять.

Пов’язане