Четвёртая версия agent-skill для проверки ESM-кода
Для @flancer32/skill-teqfw-esm-validator была собрана четвёртая версия скила, которая фиксирует общий вид исходного кода в TeqFW-проектах. Основная работа была выполнена агентом через VSCode-плагин, а результатом стал набор из 12 проверок, который уже работает как переносимый слой спецификации. Такой формат позволяет проверять общий вид кода без ручного удержания всех правил в голове и постепенно выносить межпроектные правила в библиотеку скилов, экономя токены агентам.
В итоговый набор вошли проверки на наличие export default, запрет CommonJS, запрет статических
импортов и re-export'ов, положение __deps__ в списке export'ов, структуру __deps__, имя
structured parameter для DI-конструктора, а также ограничения для behavior-классов. Список проверок
получился таким:
RequireDefaultExport— у модуля должен бытьexport default.NoCommonjs— запрещеныrequire(),module.exportsиexports.*.NoStaticImports— запрещены статическиеimportи статические re-export'ы.DependencyPosition—__deps__должен быть последним top-level export.ValidateDepsExport—__deps__должен быть frozen descriptor object и совпадать с параметрами конструктора.ConstructorClosureBehavior— у экспортируемого behavior-класса должен быть constructor.ExportedClassBehaviorScope— проверки class-behavior применяются только к экспортируемым классам.NoClassFieldBehavior— у экспортируемых классов не должно быть class fields.NoPrototypeMethodBehavior— у экспортируемых классов не должно быть prototype-методов.NoClassInheritanceBehavior— экспортируемые behavioral-классы не должны наследоваться от других классов.ModuleTopBlock— модуль должен начинаться ровно с одного leading JSDoc-блока.ConstructorDepsParameterName— для DI-конструктора structured parameter должен называтьсяdeps.
Этот набор покрывает общий вид исходного кода в TeqFW-проектах и задаёт для агентов понятную точку контроля: модульную форму, DI-подпись и базовые ограничения на поведение экспортируемых классов.
Практический вывод здесь простой: такие скилы уже работают как переносимый слой спецификации. Они позволяют агентам проверять общий вид кода без ручного удержания всех правил в голове и дают основу для постепенного выноса межпроектных правил в библиотеку скилов.