mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-18 16:49:41 +03:00
chore(repo): нормализация EOL к LF + .gitattributes
Приводим авторский контент (.ps1/.psm1/.py/.mjs/.md/.json, пин .bsl) к единому LF и закрепляем политикой в .gitattributes. Инструмент правки всегда пишет LF, поэтому единый LF убирает EOL-шум в диффах, ложные срабатывания blame и налог на ручную синхронизацию CRLF-файлов. BOM на .ps1 сохранён (git с eol=lf меняет только CR<->LF, BOM не трогает). Данные 1С (*.xml) и бинарники под нормализацию не берём. Гейт: PS-порт 459/459, Python-порт 459/459, web-test E2E 22/22 (с пересборкой стенда). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+128
-128
@@ -1,128 +1,128 @@
|
||||
# Базы данных 1С
|
||||
|
||||
Навыки группы `/db-*` позволяют управлять информационными базами 1С из Claude Code: создавать базы, загружать и выгружать конфигурации, обновлять БД, запускать предприятие, загружать изменения из Git.
|
||||
|
||||
## Навыки
|
||||
|
||||
| Навык | Скрипт | Описание |
|
||||
|-------|:------:|----------|
|
||||
| `/db-list` | — | Управление реестром баз (.v8-project.json) |
|
||||
| `/db-create` | — | Создание информационной базы |
|
||||
| `/db-dump-cf` | — | Выгрузка конфигурации в CF-файл |
|
||||
| `/db-load-cf` | — | Загрузка конфигурации из CF-файла |
|
||||
| `/db-dump-xml` | `.ps1` | Выгрузка конфигурации в XML-файлы (полная/инкрементальная/частичная) |
|
||||
| `/db-load-xml` | `.ps1` | Загрузка конфигурации из XML-файлов (полная/частичная) |
|
||||
| `/db-update` | — | Обновление конфигурации БД |
|
||||
| `/db-run` | — | Запуск 1С:Предприятие |
|
||||
| `/db-load-git` | `.ps1` | Загрузка изменений из Git в базу |
|
||||
|
||||
## Рабочий цикл
|
||||
|
||||
```
|
||||
.v8-project.json → /db-create → /db-load-cf или /db-load-xml → /db-update → /db-run
|
||||
↑
|
||||
/db-dump-xml ←→ правки в исходниках → /db-load-git → /db-update
|
||||
```
|
||||
|
||||
### Типичный цикл разработки
|
||||
|
||||
1. **Настройка** — `/db-list add` зарегистрировать базу в `.v8-project.json`
|
||||
2. **Создание** — `/db-create` создать базу (если нет)
|
||||
3. **Загрузка** — `/db-load-xml` или `/db-load-cf` загрузить конфигурацию
|
||||
4. **Обновление** — `/db-update` применить к БД
|
||||
5. **Работа** — редактирование XML-исходников
|
||||
6. **Синхронизация** — `/db-load-git` загрузить изменения из Git
|
||||
7. **Обновление** — `/db-update` применить
|
||||
8. **Запуск** — `/db-run` открыть предприятие
|
||||
|
||||
## Формат `.v8-project.json`
|
||||
|
||||
Полное описание формата — в [справочнике .v8-project.json](v8-project-guide.md).
|
||||
|
||||
### Разрешение базы
|
||||
|
||||
Все навыки `db-*` (а также `epf-build`, `epf-dump`, `erf-build`, `erf-dump`) используют единый алгоритм:
|
||||
|
||||
1. Если пользователь указал **параметры подключения** (путь, сервер) — используй напрямую
|
||||
2. Если указал **базу по имени** — ищи: `id` → `aliases` (с учётом морфологии) → `name` (нечёткое)
|
||||
3. Если **не указал** — сопоставь текущую ветку Git с `branches` (точно или по glob-паттерну)
|
||||
4. Fallback на `default`
|
||||
5. Если не найдено — спроси пользователя
|
||||
6. После выполнения: если использованная база не зарегистрирована — предложи добавить через `/db-list add`
|
||||
|
||||
## Сценарии использования
|
||||
|
||||
### Создать базу и загрузить конфигурацию
|
||||
|
||||
```
|
||||
> Создай файловую базу C:\Bases\Test и загрузи в неё конфигурацию из C:\WS\cfsrc
|
||||
```
|
||||
|
||||
Claude вызовет `/db-create` → `/db-load-xml -Mode Full` → предложит `/db-update`.
|
||||
|
||||
### Загрузить изменения из Git
|
||||
|
||||
```
|
||||
> Загрузи мои последние правки в базу разработки
|
||||
```
|
||||
|
||||
Claude вызовет `/db-load-git dev -Source All` → предложит `/db-update`.
|
||||
|
||||
### Выгрузить конфигурацию
|
||||
|
||||
```
|
||||
> Выгрузи конфигурацию из тестовой базы в C:\WS\cfsrc
|
||||
```
|
||||
|
||||
Claude вызовет `/db-dump-xml test C:\WS\cfsrc -Mode Full`.
|
||||
|
||||
### Работа с расширениями
|
||||
|
||||
```
|
||||
> Выгрузи расширение МоёРасширение из базы dev в C:\WS\ext_src
|
||||
```
|
||||
|
||||
Claude вызовет `/db-dump-xml dev C:\WS\ext_src -Extension МоёРасширение`.
|
||||
|
||||
```
|
||||
> Загрузи расширение обратно в базу
|
||||
```
|
||||
|
||||
Claude вызовет `/db-load-xml C:\WS\ext_src dev -Extension МоёРасширение` → предложит `/db-update -Extension МоёРасширение`.
|
||||
|
||||
### Запустить предприятие
|
||||
|
||||
```
|
||||
> Запусти базу разработки
|
||||
```
|
||||
|
||||
Claude вызовет `/db-run dev`.
|
||||
|
||||
## Движок: 1cv8 или ibcmd
|
||||
|
||||
По умолчанию навыки группы работают через конфигуратор (`1cv8.exe`; путь к нему определяется
|
||||
автоматически по каталогу `v8path`) — менять это не нужно. При желании ту же операцию можно выполнить
|
||||
через автономный сервер `ibcmd`. Для этого навыку нужно передать путь к самому файлу `ibcmd.exe`
|
||||
(каталог `bin` всегда трактуется как `1cv8.exe`; отдельного поля-переключателя в `.v8-project.json` нет).
|
||||
Путь указывают одним из двух способов:
|
||||
|
||||
- **разово, в самой задаче** — назвать полный путь к `ibcmd.exe`:
|
||||
|
||||
```
|
||||
> Собери обработку, платформа C:\Program Files\1cv8\8.3.24.1691\bin\ibcmd.exe
|
||||
```
|
||||
- **в файле настроек** — прописать в `v8path` не каталог `bin`, а сам файл `...\bin\ibcmd.exe`
|
||||
(тогда через `ibcmd` пойдут все операции).
|
||||
|
||||
Через `ibcmd` работают: `db-create`, `db-load-xml`/`db-dump-xml` (в том числе по отдельным объектам
|
||||
и со всеми расширениями), `db-load-cf`/`db-dump-cf`, `db-load-dt`/`db-dump-dt`, `db-update`,
|
||||
`db-load-git`, `epf-build`/`epf-dump`, `erf-build`/`erf-dump`.
|
||||
|
||||
Ограничения:
|
||||
- только **файловые** базы (для серверных используйте конфигуратор);
|
||||
- если запрошен режим, который `ibcmd` не поддерживает (например, выгрузка в «плоском» формате),
|
||||
навык остановится с понятным сообщением и предложит конфигуратор.
|
||||
|
||||
## Спецификации
|
||||
|
||||
- [build-spec.md](build-spec.md) — пакетный режим конфигуратора 1С (CREATEINFOBASE, DESIGNER, ENTERPRISE, параметры, коды возврата)
|
||||
# Базы данных 1С
|
||||
|
||||
Навыки группы `/db-*` позволяют управлять информационными базами 1С из Claude Code: создавать базы, загружать и выгружать конфигурации, обновлять БД, запускать предприятие, загружать изменения из Git.
|
||||
|
||||
## Навыки
|
||||
|
||||
| Навык | Скрипт | Описание |
|
||||
|-------|:------:|----------|
|
||||
| `/db-list` | — | Управление реестром баз (.v8-project.json) |
|
||||
| `/db-create` | — | Создание информационной базы |
|
||||
| `/db-dump-cf` | — | Выгрузка конфигурации в CF-файл |
|
||||
| `/db-load-cf` | — | Загрузка конфигурации из CF-файла |
|
||||
| `/db-dump-xml` | `.ps1` | Выгрузка конфигурации в XML-файлы (полная/инкрементальная/частичная) |
|
||||
| `/db-load-xml` | `.ps1` | Загрузка конфигурации из XML-файлов (полная/частичная) |
|
||||
| `/db-update` | — | Обновление конфигурации БД |
|
||||
| `/db-run` | — | Запуск 1С:Предприятие |
|
||||
| `/db-load-git` | `.ps1` | Загрузка изменений из Git в базу |
|
||||
|
||||
## Рабочий цикл
|
||||
|
||||
```
|
||||
.v8-project.json → /db-create → /db-load-cf или /db-load-xml → /db-update → /db-run
|
||||
↑
|
||||
/db-dump-xml ←→ правки в исходниках → /db-load-git → /db-update
|
||||
```
|
||||
|
||||
### Типичный цикл разработки
|
||||
|
||||
1. **Настройка** — `/db-list add` зарегистрировать базу в `.v8-project.json`
|
||||
2. **Создание** — `/db-create` создать базу (если нет)
|
||||
3. **Загрузка** — `/db-load-xml` или `/db-load-cf` загрузить конфигурацию
|
||||
4. **Обновление** — `/db-update` применить к БД
|
||||
5. **Работа** — редактирование XML-исходников
|
||||
6. **Синхронизация** — `/db-load-git` загрузить изменения из Git
|
||||
7. **Обновление** — `/db-update` применить
|
||||
8. **Запуск** — `/db-run` открыть предприятие
|
||||
|
||||
## Формат `.v8-project.json`
|
||||
|
||||
Полное описание формата — в [справочнике .v8-project.json](v8-project-guide.md).
|
||||
|
||||
### Разрешение базы
|
||||
|
||||
Все навыки `db-*` (а также `epf-build`, `epf-dump`, `erf-build`, `erf-dump`) используют единый алгоритм:
|
||||
|
||||
1. Если пользователь указал **параметры подключения** (путь, сервер) — используй напрямую
|
||||
2. Если указал **базу по имени** — ищи: `id` → `aliases` (с учётом морфологии) → `name` (нечёткое)
|
||||
3. Если **не указал** — сопоставь текущую ветку Git с `branches` (точно или по glob-паттерну)
|
||||
4. Fallback на `default`
|
||||
5. Если не найдено — спроси пользователя
|
||||
6. После выполнения: если использованная база не зарегистрирована — предложи добавить через `/db-list add`
|
||||
|
||||
## Сценарии использования
|
||||
|
||||
### Создать базу и загрузить конфигурацию
|
||||
|
||||
```
|
||||
> Создай файловую базу C:\Bases\Test и загрузи в неё конфигурацию из C:\WS\cfsrc
|
||||
```
|
||||
|
||||
Claude вызовет `/db-create` → `/db-load-xml -Mode Full` → предложит `/db-update`.
|
||||
|
||||
### Загрузить изменения из Git
|
||||
|
||||
```
|
||||
> Загрузи мои последние правки в базу разработки
|
||||
```
|
||||
|
||||
Claude вызовет `/db-load-git dev -Source All` → предложит `/db-update`.
|
||||
|
||||
### Выгрузить конфигурацию
|
||||
|
||||
```
|
||||
> Выгрузи конфигурацию из тестовой базы в C:\WS\cfsrc
|
||||
```
|
||||
|
||||
Claude вызовет `/db-dump-xml test C:\WS\cfsrc -Mode Full`.
|
||||
|
||||
### Работа с расширениями
|
||||
|
||||
```
|
||||
> Выгрузи расширение МоёРасширение из базы dev в C:\WS\ext_src
|
||||
```
|
||||
|
||||
Claude вызовет `/db-dump-xml dev C:\WS\ext_src -Extension МоёРасширение`.
|
||||
|
||||
```
|
||||
> Загрузи расширение обратно в базу
|
||||
```
|
||||
|
||||
Claude вызовет `/db-load-xml C:\WS\ext_src dev -Extension МоёРасширение` → предложит `/db-update -Extension МоёРасширение`.
|
||||
|
||||
### Запустить предприятие
|
||||
|
||||
```
|
||||
> Запусти базу разработки
|
||||
```
|
||||
|
||||
Claude вызовет `/db-run dev`.
|
||||
|
||||
## Движок: 1cv8 или ibcmd
|
||||
|
||||
По умолчанию навыки группы работают через конфигуратор (`1cv8.exe`; путь к нему определяется
|
||||
автоматически по каталогу `v8path`) — менять это не нужно. При желании ту же операцию можно выполнить
|
||||
через автономный сервер `ibcmd`. Для этого навыку нужно передать путь к самому файлу `ibcmd.exe`
|
||||
(каталог `bin` всегда трактуется как `1cv8.exe`; отдельного поля-переключателя в `.v8-project.json` нет).
|
||||
Путь указывают одним из двух способов:
|
||||
|
||||
- **разово, в самой задаче** — назвать полный путь к `ibcmd.exe`:
|
||||
|
||||
```
|
||||
> Собери обработку, платформа C:\Program Files\1cv8\8.3.24.1691\bin\ibcmd.exe
|
||||
```
|
||||
- **в файле настроек** — прописать в `v8path` не каталог `bin`, а сам файл `...\bin\ibcmd.exe`
|
||||
(тогда через `ibcmd` пойдут все операции).
|
||||
|
||||
Через `ibcmd` работают: `db-create`, `db-load-xml`/`db-dump-xml` (в том числе по отдельным объектам
|
||||
и со всеми расширениями), `db-load-cf`/`db-dump-cf`, `db-load-dt`/`db-dump-dt`, `db-update`,
|
||||
`db-load-git`, `epf-build`/`epf-dump`, `erf-build`/`erf-dump`.
|
||||
|
||||
Ограничения:
|
||||
- только **файловые** базы (для серверных используйте конфигуратор);
|
||||
- если запрошен режим, который `ibcmd` не поддерживает (например, выгрузка в «плоском» формате),
|
||||
навык остановится с понятным сообщением и предложит конфигуратор.
|
||||
|
||||
## Спецификации
|
||||
|
||||
- [build-spec.md](build-spec.md) — пакетный режим конфигуратора 1С (CREATEINFOBASE, DESIGNER, ENTERPRISE, параметры, коды возврата)
|
||||
|
||||
Reference in New Issue
Block a user