diff --git a/hooks/README.md b/hooks/README.md index badacf3d..f5d3f5cc 100644 --- a/hooks/README.md +++ b/hooks/README.md @@ -3,9 +3,9 @@ Два хука Claude Code, которые помогают безопасно дорабатывать типовые конфигурации 1С: - **Защита от правки «на замке».** Если модель пытается напрямую (инструментами `Edit`/`Write`) - изменить объект типовой конфигурации, который стоит на поддержке поставщика, правка **блокируется** — - иначе она молча сломает будущие обновления вендора. В отказе сразу даётся, что делать дальше под - конкретный случай (доработать в расширении или явно разрешить правку). + изменить объект типовой конфигурации, который стоит на поддержке поставщика, редактирование + **блокируется** — иначе оно молча сломает будущие обновления вендора. В отказе сразу даётся, что делать + дальше под конкретный случай (доработать в расширении или явно разрешить редактирование). - **Подсказка навыков.** Когда модель работает с исходниками 1С «вручную» (читает сырой XML, ищет по метаданным), хук ненавязчиво напоминает, что для этой задачи есть профильный навык (`meta-info`, `form-edit`, `mxl-*`, `skd-*` и т.п.). Не блокирует, подсказывает не чаще одного раза за сессию на группу. @@ -67,7 +67,7 @@ - **Безопаснее всего** — вести доработку в расширении (навыки `cfe-borrow` / `cfe-patch-method`): состояние поддержки менять не нужно, обновления вендора сохраняются. -- **Либо** осознанно разрешить правку через навык `support-edit` (включить редактирование объекта, +- **Либо** осознанно разрешить редактирование через навык `support-edit` (включить редактирование объекта, снять его с поддержки или включить возможность изменения всей конфигурации). Готовую команду под ваш случай печатает сам отказ. diff --git a/hooks/common/support-state.mjs b/hooks/common/support-state.mjs index f88bd39f..43fe3e77 100644 --- a/hooks/common/support-state.mjs +++ b/hooks/common/support-state.mjs @@ -133,7 +133,7 @@ export function decideSupport(targetPath, require = 'editable') { if (best !== null && best === 0) { result.blocked = true; result.code = 'locked'; - result.reason = 'объект на замке (поддержка поставщика) — прямая правка сломает обновления'; + result.reason = 'объект на замке (поддержка поставщика) — прямое редактирование сломает обновления'; } } return result; diff --git a/hooks/support-guard.mjs b/hooks/support-guard.mjs index 2ef20bd3..34c0143b 100644 --- a/hooks/support-guard.mjs +++ b/hooks/support-guard.mjs @@ -29,8 +29,8 @@ function candidatePaths(toolInput) { // Fills in the real target/config paths so the suggested commands are ready to run. function diagnostic(code, target, cfgDir) { const head = - '[support-guard] Правка отклонена: это объект типовой конфигурации на поддержке поставщика, ' + - 'прямая правка молча сломает будущие обновления.'; + '[support-guard] Редактирование отклонено: это объект типовой конфигурации на поддержке поставщика, ' + + 'прямое редактирование молча сломает будущие обновления.'; const cfe = 'Рекомендуемый путь: внести доработку в расширение (навыки cfe-borrow / cfe-patch-method) — ' + 'состояние поддержки менять не нужно, обновления вендора сохраняются.'; @@ -41,11 +41,11 @@ function diagnostic(code, target, cfgDir) { return [ head, `Состояние: у всей конфигурации выключена возможность изменения (режим read-only «из коробки») — ` + - `поэтому объект «${target}» править нельзя.`, + `поэтому объект «${target}» редактировать нельзя.`, cfe, `Либо снять защиту явно (навык support-edit, два шага):`, ` 1. support-edit -Path "${root}" -Capability on — включить возможность изменения (объекты пока остаются на замке);`, - ` 2. support-edit -Path "${target}" -Set editable — открыть этот объект для правки.`, + ` 2. support-edit -Path "${target}" -Set editable — открыть этот объект для редактирования.`, `Изменение применяется в базу полной загрузкой выгрузки и обходит механизм обновлений вендора.`, offNote, ].join('\n'); @@ -65,9 +65,9 @@ function diagnostic(code, target, cfgDir) { head, `Состояние: объект «${target}» на замке (возможность изменения конфигурации включена, но сам объект не редактируется).`, cfe, - `Либо разрешить правку этого объекта (навык support-edit, выбрать одно):`, - ` • support-edit -Path "${target}" -Set editable — править и дальше получать обновления вендора (при обновлении возможны конфликты слияния);`, - ` • support-edit -Path "${target}" -Set off-support — снять с поддержки: правки свободны, обновления по объекту больше не приходят.`, + `Либо разрешить редактирование этого объекта (навык support-edit, выбрать одно):`, + ` • support-edit -Path "${target}" -Set editable — редактировать и дальше получать обновления вендора (при обновлении возможны конфликты слияния);`, + ` • support-edit -Path "${target}" -Set off-support — снять с поддержки: редактирование свободно, обновления по объекту больше не приходят.`, offNote, ].join('\n'); }