> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codealive.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# CodeAlive & 1С

> Особенности инструктирования кодовых агентов для проектов 1С:Предприятие (BSL): дихотомия «метаданных», формулировка запросов, готовое правило

<Info>
  Эта страница написана по-русски: аудитория разработки на 1С:Предприятие русскоязычная, а ключевая проблема страницы — терминологическая — существует именно в русских формулировках. Остальная документация CodeAlive — на английском.
</Info>

<Warning>
  Функция специализированной индексации метаданных 1С сейчас находится в работе. Чтобы записаться в лист ожидания, напишите на [support@codealive.ai](mailto:support@codealive.ai). До запуска этой функции XML-описания объектов можно исследовать как обычные файлы с помощью `grep_search` и `read_file`.
</Warning>

## Для кого эта страница

Вы разрабатываете на 1С:Предприятие 8 (язык BSL), храните выгрузку конфигурации или расширения в git-репозитории (1C:EDT-проект либо выгрузка из Конфигуратора) и подключили этот репозиторий к CodeAlive. Настройка агентов (Claude Code, Cursor, Codex) — та же, что описана на [страницах интеграций](/integrations/mcp); здесь — только 1С-специфика, которую нужно добавить поверх.

## Главное: два разных значения слова «метаданные»

В 1С и в CodeAlive термин «метаданные» (metadata) означает **разные вещи**, и агент, работающий с 1С-проектом, обязан это различать — иначе он будет вызывать не тот инструмент.

|                                | «Метаданные» в 1С                                                                                                                                                       | Artifact metadata в CodeAlive                                                                                                |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Что это                        | Объекты конфигурации: справочники, документы, регистры (сведений, накопления, бухгалтерии, расчёта), планы видов характеристик, перечисления, общие модули, формы, роли | Технические характеристики проиндексированного кода: язык, размер, число строк, когнитивная сложность функций, связи вызовов |
| Где живёт                      | Структура конфигурации; в репозитории — XML-описания объектов                                                                                                           | Индекс CodeAlive, построенный по файлам репозитория                                                                          |
| Каким инструментом исследовать | `semantic_search` / `grep_search` / `read_file` по XML- и BSL-файлам выгрузки                                                                                           | `query_artifact_metadata` (+ `get_artifact_query_schema`)                                                                    |

<Warning>
  Инструмент CodeAlive `query_artifact_metadata` **не возвращает метаданные конфигурации 1С**. Запрос агента «покажи метаданные документа РеализацияТоваровУслуг» должен превращаться в поиск по XML-описанию объекта (`grep_search` / `read_file`), а не в вызов `query_artifact_metadata`. Обратное тоже верно: вопрос «какие самые сложные функции в проекте?» — это как раз `query_artifact_metadata`.
</Warning>

## Как формулировать запросы для 1С-кода

Правила те же, что и для любого языка, плюс одна особенность: идентификаторы в 1С русские.

* **`semantic_search`** — вопрос формулируется полным предложением **на английском** (так работает векторный поиск CodeAlive), но имена процедур, справочников, документов и регистров остаются **по-русски вербатим**:

  ```text theme={null}
  How is document posting implemented in ДокументыСервер common module?
  Where are записи в регистр накопления ТоварыНаСкладах created?
  ```

* **`grep_search`** — точные русские литералы и имена как есть: имена процедур (`ПровестиДокумент`), тексты сообщений об ошибках, имена событий, куски запросов на языке запросов 1С (`ВЫБРАТЬ`, `ИЗ РегистрНакопления`).

* **XML-описания объектов** — тоже проиндексированы: `grep_search` по имени объекта (`РеализацияТоваровУслуг`) находит и его XML-описание (реквизиты, табличные части), и все использования в BSL-модулях.

## Готовое правило для агента

Блок ниже добавляется к универсальному правилу CodeAlive из [Instructing Coding Agents](/guides/instructing-agents) — в `CLAUDE.md`, `AGENTS.md` или `.cursor/rules/codealive.mdc`. Он написан по-английски, потому что системные инструкции агентов работают надёжнее на английском; русские термины оставлены вербатим.

```markdown title="AGENTS.md / CLAUDE.md — секция для 1С-проекта" theme={null}
## 1C:Enterprise (BSL) specifics

This repository is a 1C:Enterprise configuration dump (BSL modules + XML
object descriptions).

- The word "метаданные"/"metadata" is ambiguous here. In 1C it means
  configuration objects: справочники (catalogs), документы (documents),
  регистры (registers), перечисления (enums), общие модули (common modules),
  forms, roles. CodeAlive's `query_artifact_metadata` tool does NOT return
  those — it returns code metrics (lines, complexity, languages).
  - "Show metadata of документ X" → search the object's XML description with
    CodeAlive `grep_search` / `read_file`, NOT `query_artifact_metadata`.
  - "Which functions are the most complex?" → that IS `query_artifact_metadata`.
- `semantic_search` questions are full English sentences, but keep Russian
  identifiers verbatim: procedure names (ПровестиДокумент), catalog and
  register names (ТоварыНаСкладах), module names (ДокументыСервер).
- Use `grep_search` for exact Russian literals: procedure names, error
  message texts, 1C query language fragments (ВЫБРАТЬ, ИЗ РегистрНакопления).
- Object XML descriptions are indexed too: to understand an object's
  structure (реквизиты, табличные части, измерения, ресурсы), grep its name
  and read the XML before reading module code.
```

## Совместимость с ai\_rules\_1c

Если вы используете [comol/ai\_rules\_1c](https://github.com/comol/ai_rules_1c) — переносимый набор правил и субагентов для vibecoding в 1С (Cursor, Claude Code, Codex, OpenCode, Kilo Code) — CodeAlive дополняет его, а не конкурирует с ним:

* `ai_rules_1c` задаёт дисциплину разработки (стандарты кода, формы, СКД, регистры, расширения) и MCP-first-поиск через специализированные 1С-инструменты; CodeAlive добавляет кросс-репозиторный семантический поиск и граф вызовов по проиндексированной выгрузке.
* Правило CodeAlive из этой страницы кладите в `USER-RULES.md` (файл пользовательских правил, который установщик `ai_rules_1c` не перезаписывает), а не в генерируемый им `AGENTS.md`.
* В их правиле `mcp-first-search.md` описана цепочка приоритетов поиска с fallback на `Grep` — при совместном использовании включите CodeAlive `semantic_search`/`grep_search` в эту цепочку до fallback-шага.

## Связанные страницы

<CardGroup cols={2}>
  <Card title="Instructing Coding Agents" icon="chalkboard-user" href="/guides/instructing-agents">
    Универсальное правило CodeAlive, к которому добавляется 1С-секция
  </Card>

  <Card title="MCP Overview" icon="plug" href="/integrations/mcp">
    Подключение CodeAlive к агентам и список инструментов
  </Card>

  <Card title="Cursor" icon="code" href="/integrations/mcp/cursor">
    Настройка Cursor и обход встроенного codebase\_search
  </Card>

  <Card title="Claude Code" icon="robot" href="/integrations/mcp/claude-code">
    Настройка Claude Code и CLAUDE.md
  </Card>
</CardGroup>
