Files
cc-1c-skills/README.md
T
2026-02-25 18:45:19 +03:00

186 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1C Skills for Claude Code
> **Work in progress** — навыки находятся в стадии тестирования, отладки и оптимизации.
Набор [Claude Code Skills](https://docs.anthropic.com/en/docs/claude-code/skills) для работы с артефактами 1С:Предприятия 8.3. Позволяет создавать и модифицировать обработки, отчёты, объекты конфигурации, макеты печатных форм и другие объекты из XML-исходников, не запоминая детали формата.
## Быстрый старт
Скопируйте каталог `.claude/skills/` в корень вашего проекта. Навыки станут доступны при запуске Claude Code из этого каталога.
```
МойПроект/
├── .claude/skills/ ← скопировать из этого репозитория
├── src/ ← исходники (создаются навыками)
└── ...
```
Не обязательно запоминать команды и параметры — просто опишите задачу своими словами, Claude сам подберёт нужные навыки. Слеш-команды (например `/epf-init МояОбработка`) тоже работают — для точного контроля.
## Группы навыков
| Группа | Навыки | Описание | Гайд |
|--------|--------|----------|------|
| Внешние обработки (EPF) | 7 навыков `/epf-*` | Создание, сборка, разборка, валидация обработок из XML-исходников | [Подробнее](docs/epf-guide.md) |
| Внешние отчёты (ERF) | 4 навыка `/erf-*` | Создание, сборка, разборка, валидация внешних отчётов | [Подробнее](docs/epf-guide.md#внешние-отчёты-erf) |
| Универсальные операции | `/template-add`, `/template-remove`, `/help-add`, `/form-remove` | Добавление/удаление макетов, форм, справки для любых объектов | [Подробнее](docs/epf-guide.md#универсальные-навыки) |
| Табличный документ (MXL) | 4 навыка `/mxl-*` | Анализ, создание, компиляция макетов печатных форм | [Подробнее](docs/mxl-guide.md) |
| Управляемые формы (Form) | 6 навыков `/form-*` | Создание, анализ, генерация, модификация, валидация управляемых форм | [Подробнее](docs/form-guide.md) |
| Роли (Role) | 3 навыка `/role-*` | Анализ прав роли, создание из JSON DSL, валидация | [Подробнее](docs/role-guide.md) |
| Схема компоновки (СКД) | 4 навыка `/skd-*` | Анализ, генерация из JSON DSL, точечное редактирование, валидация схем компоновки данных | [Подробнее](docs/skd-guide.md) |
| Метаданные конфигурации | 5 навыков `/meta-*` | Создание, анализ, редактирование, удаление, валидация объектов метаданных (23 типа) | [Подробнее](docs/meta-guide.md) |
| Корневая конфигурация | 4 навыка `/cf-*` | Создание, анализ, редактирование, валидация корневых файлов конфигурации | [Подробнее](docs/cf-guide.md) |
| Расширения (CFE) | 5 навыков `/cfe-*` | Создание, заимствование, перехват методов, валидация, анализ расширений | [Подробнее](docs/cfe-guide.md) |
| Подсистемы (Subsystem) | 4 навыка `/subsystem-*` | Анализ, создание, редактирование, валидация подсистем конфигурации | [Подробнее](docs/subsystem-guide.md) |
| Командный интерфейс (CI) | 2 навыка `/interface-*` | Редактирование и валидация CommandInterface.xml подсистем | [Подробнее](docs/subsystem-guide.md) |
| Базы данных (DB) | 9 навыков `/db-*` | Создание баз, загрузка/выгрузка конфигураций, обновление БД, загрузка из Git | [Подробнее](docs/db-guide.md) |
| Веб-публикация (Web) | 4 навыка `/web-*` | Публикация баз через Apache, статус, остановка, удаление публикаций | [Подробнее](docs/web-guide.md) |
| Утилиты | `/img-grid` | Наложение сетки на изображение для определения пропорций колонок | — |
## Требования
- **Windows** с PowerShell 5.1+ (входит в Windows) — рантайм по умолчанию
- **1С:Предприятие 8.3** — для сборки/разборки EPF/ERF (навыки генерации XML работают без платформы)
### Кроссплатформенный режим (Python)
На Windows рекомендуется использовать PS1-рантайм (по умолчанию) как более стабильный и протестированный. Python-порты — для **Linux/Mac** или если PowerShell недоступен. PS1-скрипты — мастер-версия; Python-порты производные (см. [Python Porting Guide](docs/python-porting-guide.md)).
```bash
python scripts/switch-to-python.py # переключить на Python
python scripts/switch-to-powershell.py # вернуть на PowerShell
```
Дополнительные зависимости Python-рантайма:
- `lxml>=4.9.0` — для навыков, работающих с DOM (edit/validate/info)
- `psutil>=5.9.0` — для web-навыков (управление Apache)
Параметры скриптов идентичны для обоих рантаймов — переключение меняет только интерпретатор в вызовах. Подробнее: [Python Porting Guide](docs/python-porting-guide.md).
## Спецификации
Полный индекс с оглавлением по всем 44 типам объектов: **[Сводный индекс спецификаций](docs/1c-specs-index.md)**
- [XML-формат выгрузки обработок](docs/1c-epf-spec.md) — структура XML-файлов, namespace, элементы форм
- [XML-формат внешних отчётов](docs/1c-erf-spec.md) — отличия ERF от EPF, Properties, MainDataCompositionSchema
- [Управляемая форма](docs/1c-form-spec.md) — Form.xml, элементы, команды, реквизиты
- [Встроенная справка](docs/1c-help-spec.md) — Help.xml, HTML-страницы, кнопка справки на форме
- [Пакетный режим конфигуратора 1С](docs/build-spec.md) — команды `1cv8.exe`, DESIGNER, ENTERPRISE, CREATEINFOBASE
- [Табличный документ (MXL)](docs/1c-spreadsheet-spec.md) — XML-формат SpreadsheetDocument, совместимость версий
- [MXL DSL](docs/mxl-dsl-spec.md) — JSON-формат описания макета для `/mxl-compile` и `/mxl-decompile`
- [Form DSL](docs/form-dsl-spec.md) — JSON-формат описания формы для `/form-compile`
- [Роли (Rights.xml)](docs/1c-role-spec.md) — XML-формат прав роли, типы объектов, RLS
- [Role DSL](docs/role-dsl-spec.md) — JSON-формат описания ролей для `/role-compile`
- [Схема компоновки данных (DCS)](docs/1c-dcs-spec.md) — XML-формат DataCompositionSchema, 930 схем проанализировано
- [SKD DSL](docs/skd-dsl-spec.md) — JSON-формат описания СКД для `/skd-compile`
- [Объекты конфигурации](docs/1c-config-objects-spec.md) — XML-формат объектов метаданных конфигурации (23 типа)
- [Подсистемы и командный интерфейс](docs/1c-subsystem-spec.md) — XML-формат подсистем, CommandInterface.xml, секции видимости/размещения/порядка
- [Корневая конфигурация](docs/1c-configuration-spec.md) — XML-формат Configuration.xml, ConfigDumpInfo.xml, Languages/, 44 типа ChildObjects
- [Расширения конфигурации (CFE)](docs/1c-extension-spec.md) — XML-формат выгрузки расширений конфигурации
- [Веб-публикация 1С](docs/web-spec.md) — VRD, httpd.conf, wsap24.dll, portable Apache
## Структура репозитория
```
.claude/skills/ # Навыки Claude Code
├── epf-init/ # Создание обработки
├── epf-add-form/ # Добавление формы к обработке
├── epf-build/ # Сборка EPF
├── epf-dump/ # Разборка EPF
├── epf-bsp-init/ # Регистрация БСП
├── epf-bsp-add-command/ # Команда БСП
├── epf-validate/ # Валидация обработки
├── erf-init/ # Создание внешнего отчёта
├── erf-build/ # Сборка ERF
├── erf-dump/ # Разборка ERF
├── erf-validate/ # Валидация отчёта
├── template-add/ # Добавление макета (универсальный)
├── template-remove/ # Удаление макета (универсальный)
├── form-add/ # Добавление формы (универсальный)
├── form-remove/ # Удаление формы (универсальный)
├── help-add/ # Добавление справки (универсальный)
├── mxl-info/ # Анализ макета
├── mxl-validate/ # Валидация макета
├── mxl-compile/ # Компиляция макета из JSON
├── mxl-decompile/ # Декомпиляция макета в JSON
├── form-info/ # Анализ структуры управляемой формы
├── form-compile/ # Компиляция формы из JSON
├── form-validate/ # Валидация формы
├── form-edit/ # Добавление элементов в форму
├── form-patterns/ # Справочник паттернов компоновки форм
├── role-info/ # Анализ прав роли
├── role-compile/ # Создание роли из JSON DSL
├── role-validate/ # Валидация роли
├── skd-info/ # Анализ схемы компоновки данных
├── skd-compile/ # Компиляция СКД из JSON DSL
├── skd-edit/ # Точечное редактирование СКД (25 операций)
├── skd-validate/ # Валидация СКД
├── meta-info/ # Структура объекта метаданных
├── meta-compile/ # Создание объекта метаданных
├── meta-edit/ # Редактирование объекта метаданных
├── meta-remove/ # Удаление объекта метаданных
├── meta-validate/ # Валидация объекта метаданных
├── cf-info/ # Анализ структуры конфигурации
├── cf-init/ # Создание пустой конфигурации
├── cf-edit/ # Редактирование конфигурации
├── cf-validate/ # Валидация конфигурации
├── cfe-init/ # Создание расширения
├── cfe-borrow/ # Заимствование объектов
├── cfe-patch-method/ # Перехват методов
├── cfe-validate/ # Валидация расширения
├── cfe-diff/ # Анализ и сравнение
├── subsystem-info/ # Анализ структуры подсистемы
├── subsystem-compile/ # Создание подсистемы из JSON
├── subsystem-edit/ # Редактирование подсистемы
├── subsystem-validate/ # Валидация подсистемы
├── interface-edit/ # Редактирование CommandInterface.xml
├── interface-validate/ # Валидация CommandInterface.xml
├── db-list/ # Управление реестром баз данных
├── db-create/ # Создание информационной базы
├── db-dump-cf/ # Выгрузка конфигурации в CF
├── db-load-cf/ # Загрузка конфигурации из CF
├── db-dump-xml/ # Выгрузка конфигурации в XML
├── db-load-xml/ # Загрузка конфигурации из XML
├── db-update/ # Обновление конфигурации БД
├── db-run/ # Запуск 1С:Предприятие
├── db-load-git/ # Загрузка изменений из Git
├── web-publish/ # Публикация базы через Apache
├── web-info/ # Статус Apache и публикаций
├── web-stop/ # Остановка Apache
├── web-unpublish/ # Удаление публикации
└── img-grid/ # Сетка для анализа изображений
scripts/
├── switch-to-python.py # Переключение навыков на Python-рантайм
└── switch-to-powershell.py # Возврат на PowerShell-рантайм
docs/
├── epf-guide.md # Гайд: внешние обработки и отчёты
├── mxl-guide.md # Гайд: табличный документ
├── form-guide.md # Гайд: управляемые формы
├── role-guide.md # Гайд: роли
├── skd-guide.md # Гайд: схема компоновки данных
├── meta-guide.md # Гайд: объекты метаданных конфигурации
├── cf-guide.md # Гайд: корневые файлы конфигурации
├── cfe-guide.md # Гайд: расширения конфигурации (CFE)
├── subsystem-guide.md # Гайд: подсистемы и командный интерфейс
├── db-guide.md # Гайд: базы данных 1С
├── web-guide.md # Гайд: веб-публикация через Apache
├── 1c-epf-spec.md # Спецификация XML-формата (EPF)
├── 1c-erf-spec.md # Спецификация XML-формата (ERF)
├── 1c-form-spec.md # Спецификация управляемых форм
├── 1c-help-spec.md # Спецификация встроенной справки
├── 1c-config-objects-spec.md # Спецификация объектов конфигурации
├── build-spec.md # Пакетный режим конфигуратора 1С
├── 1c-spreadsheet-spec.md # Спецификация табличного документа
├── mxl-dsl-spec.md # Спецификация MXL DSL
├── form-dsl-spec.md # Спецификация Form DSL
├── meta-dsl-spec.md # Спецификация Meta DSL
├── 1c-role-spec.md # Спецификация ролей (Rights.xml)
├── 1c-dcs-spec.md # Спецификация СКД (DataCompositionSchema)
├── skd-dsl-spec.md # Спецификация SKD DSL
├── role-dsl-spec.md # Спецификация Role DSL
├── 1c-extension-spec.md # Спецификация расширений конфигурации (CFE)
├── 1c-subsystem-spec.md # Спецификация подсистем и командного интерфейса
├── web-spec.md # Спецификация веб-публикации (VRD, httpd.conf, Apache)
└── python-porting-guide.md # Руководство по Python-портам навыков
```