Обязателен для всего кода в src/ и любых правок в этом репозитории.
AGENTS.md ссылается на этот документ — расхождения между ними решаются
в пользу этого кодекса.
- Каждый интерфейс начинается с
I→ITaskSource,IWorkerContext,IWorkflowTask, … - В именах классов запрещены слова:
System,Manager,Controller. Единственное исключение — слой HTTP/API может использоватьController(напримерHttpApiController). - Type-алиасы и юнионы интерфейсами не являются —
Iим не ставится (ModuleDomain,ModuleAction,PipelinePhase,WorkflowEvent).
- Комментарии в коде запрещены. Единственный разрешённый вид — JSDoc:
/** ... */на экспортируемых интерфейсах, классах и их публичных методах. - Строчные
//-комментарии на строках кода не пиши. Причину решения выражай именем метода/переменной или JSDoc на уровне контракта. - JSDoc пиши там, где контракт не выводится из сигнатуры: крайние случаи, гарантии интерфейса, инварианты. Очевидные геттеры/сеттеры не документируешь.
- Секреты и API-ключи — только через
{env:...}/ переменные окружения. В репозиторий секреты не коммитятся никогда.