Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9.6 KiB
Конфигурация проекта (.v8-project.json)
Файл .v8-project.json — единый конфиг проекта для всех навыков Claude Code. Хранит пути к платформе 1С, список баз данных и настройки инструментов (Apache, ffmpeg, TTS).
Размещается в корне проекта (рядом с .git/). Создаётся навыком /db-list add или вручную.
Безопасность: файл содержит секреты (пароли баз данных, API-ключи TTS) и добавлен в
.gitignore— он не попадает в репозиторий. Каждый разработчик заводит свой.v8-project.jsonлокально.
Полная схема
{
// === Платформа ===
"v8path": "C:\\Program Files\\1cv8\\8.3.25.1257\\bin",
// === Базы данных ===
"databases": [
{
"id": "dev", // уникальный идентификатор
"name": "Разработка", // отображаемое имя
"type": "file", // "file" или "server"
"path": "C:\\Bases\\MyApp_Dev", // каталог (для file)
"user": "Admin", // пользователь 1С
"password": "", // пароль
"aliases": ["dev", "разработка"], // альтернативные имена
"branches": ["dev", "feature/*"], // привязка к Git-веткам
"configSrc": "C:\\WS\\myapp\\cfsrc", // каталог XML-выгрузки конфигурации
"webUrl": "http://localhost:8081/dev" // URL веб-клиента (для /web-test)
},
{
"id": "test",
"name": "Тестовая",
"type": "server", // серверная база
"server": "srv01", // адрес сервера 1С
"ref": "MyApp_Test", // имя базы на сервере
"user": "Admin",
"password": "123",
"aliases": ["test", "тест"]
}
],
"default": "dev",
// === Инструменты ===
"webPath": "C:\\tools\\apache24", // каталог Apache
"ffmpegPath": "C:\\tools\\ffmpeg\\bin\\ffmpeg.exe", // путь к ffmpeg
"tts": { // настройки озвучки
"provider": "edge",
"voice": "ru-RU-DmitryNeural"
}
}
Корневые поля
| Поле | Тип | Обяз. | По умолчанию | Описание | Кто заполняет |
|---|---|---|---|---|---|
v8path |
string | да | — | Путь к каталогу bin платформы 1С |
/db-list add или руками |
databases |
array | да | — | Список баз данных | /db-list add |
default |
string | нет | — | id базы по умолчанию |
/db-list |
webPath |
string | нет | tools/apache24 |
Каталог Apache HTTP Server | Руками |
ffmpegPath |
string | нет | tools/ffmpeg/bin/ffmpeg.exe |
Путь к ffmpeg | Руками |
tts |
object | нет | Edge TTS, DmitryNeural | Настройки озвучки видео | Руками |
Базы данных (databases[])
| Поле | Тип | Обяз. | Описание | Кто заполняет |
|---|---|---|---|---|
id |
string | да | Уникальный идентификатор | /db-list add |
name |
string | да | Отображаемое имя | /db-list add |
type |
"file" / "server" |
да | Тип подключения | /db-list add |
path |
string | для file | Каталог файловой базы | /db-list add |
server |
string | для server | Адрес сервера 1С | /db-list add |
ref |
string | для server | Имя базы на сервере | /db-list add |
user |
string | нет | Пользователь 1С | /db-list add или руками |
password |
string | нет | Пароль | /db-list add или руками |
aliases |
string[] | нет | Альтернативные имена для обращения к базе | /db-list add или руками |
branches |
string[] | нет | Git-ветки или glob-паттерны (release/*, feature/*) |
Руками |
configSrc |
string | нет | Каталог XML-выгрузки конфигурации | Руками |
webUrl |
string | нет | URL веб-клиента для /web-test |
Руками |
Разрешение базы
Все навыки /db-*, /epf-build, /epf-dump, /erf-build, /erf-dump, /web-publish используют единый алгоритм:
- Если пользователь указал параметры подключения (путь, сервер) — используются напрямую
- Если указал базу по имени — поиск:
id→aliases(с учётом морфологии) →name(нечёткое) - Если не указал — сопоставление текущей ветки Git с
branches(точно или по glob-паттерну) - Fallback на
default - Если не найдено — Claude спросит пользователя
- Если база не зарегистрирована — Claude предложит
/db-list add
Настройки инструментов
webPath — Apache HTTP Server
Путь к каталогу Apache. Используется навыками /web-publish, /web-info, /web-stop, /web-unpublish.
Если не задан — ищется в tools/apache24 от корня проекта. При первом вызове /web-publish Apache скачивается автоматически.
Подробнее — в гайде по веб-публикации.
ffmpegPath — ffmpeg
Путь к исполняемому файлу ffmpeg. Используется навыком /web-test для записи видео.
Если не задан — ищется по порядку:
tools/ffmpeg/bin/ffmpeg.exe(от корня проекта)ffmpegв системном PATH
Подробнее — в гайде по записи видео.
tts — озвучка видеоинструкций
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
provider |
string | "edge" |
Провайдер: "edge", "elevenlabs", "openai" |
voice |
string | "ru-RU-DmitryNeural" |
Голос (имя или ID в зависимости от провайдера) |
apiKey |
string | — | API-ключ (для elevenlabs, openai) |
apiUrl |
string | — | URL сервиса (для openai-совместимых) |
model |
string | — | Модель (для openai) |
Подробнее о выборе провайдера и голосов — в гайде по записи видео.
webUrl — URL веб-клиента (per-database)
URL для открытия базы в браузере через /web-test. Задаётся в записи конкретной базы.
Если не задан — /web-test берёт URL из активной веб-публикации (/web-publish).
Полезно, если веб-клиент доступен по нестандартному адресу (другой порт, внешний сервер, reverse proxy).
Минимальный пример
{
"v8path": "C:\\Program Files\\1cv8\\8.3.25.1257\\bin",
"databases": [
{
"id": "dev",
"name": "Разработка",
"type": "file",
"path": "C:\\Bases\\MyApp"
}
]
}
Полный пример
{
"v8path": "C:\\Program Files\\1cv8\\8.3.25.1257\\bin",
"databases": [
{
"id": "dev",
"name": "Разработка",
"type": "file",
"path": "C:\\Bases\\MyApp_Dev",
"user": "Admin",
"password": "",
"aliases": ["dev", "разработка"],
"branches": ["dev", "develop", "feature/*"],
"configSrc": "C:\\WS\\myapp\\cfsrc",
"webUrl": "http://localhost:8081/dev"
},
{
"id": "prod",
"name": "Рабочая",
"type": "server",
"server": "srv01",
"ref": "MyApp_Prod",
"user": "Admin",
"password": "secret",
"aliases": ["prod", "рабочая", "боевая"],
"branches": ["main", "release/*"]
}
],
"default": "dev",
"webPath": "C:\\tools\\apache24",
"ffmpegPath": "C:\\tools\\ffmpeg\\bin\\ffmpeg.exe",
"tts": {
"provider": "edge",
"voice": "ru-RU-DmitryNeural"
}
}
Связанные навыки
- Базы данных —
/db-list,/db-create,/db-load-xml,/db-dump-xmlи другие - Веб-публикация —
/web-publish,/web-info,/web-stop - Тестирование в браузере —
/web-test - Запись видеоинструкций — запись видео, субтитры, озвучка