--- name: typescript-standards description: Используй при написании, ревью и проверке кода на TypeScript/JavaScript в наших проектах — структура пакета, запуск eslint/prettier/tsc, тесты, формат коммитов и merge request. Применяй всегда, когда пишешь или правишь TS/JS-код, готовишь MR, а также в командах /bugfix, /feature и /review для фронтенд/Node-репозиториев. --- # Стандарты TypeScript Один из наших языков — **TypeScript** (фронтенд и Node-сервисы). Ниже — общепринятые дефолты экосистемы; специфичное для компании помечено `TODO` — уточняй, не выдумывай. ## Структура Ориентир (уточняется под компанию): ``` package.json tsconfig.json src/ index.ts / test/ | *.test.ts # рядом с кодом или в test/ ``` ## Линтеры и форматирование - Типы: `tsc --noEmit` — без ошибок типов. - Линтер: **ESLint** — `eslint .` (конфиг `.eslintrc*` / `eslint.config.*`). - Форматирование: **Prettier** — `prettier --check .` (в CI), `prettier --write .` локально. ## Тесты - Прогон: `` — напр. `npm test`. - Требования к покрытию: ``. ## Сборка и зависимости - Сборка: `npm run build` (или скрипт проекта). - Пакетный менеджер и lock-файл: `` — lock коммитим. ## Коммиты и MR - **Формат коммитов:** Conventional Commits (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:` …). - **Ветки и деплой:** фича-ветки — от `main` (в имя ветки желательно включать ключ тикета). Деплой управляется ветками/тегами: ветка `release-*` → раскатка на **stage**; тег `v*` → раскатка в **прод**. Ветки `release-*` и теги `v*` без необходимости не пушь — `permission-gate` переспросит. - **MR обязателен** (см. корпоративные правила из контекста сессии). Прямой push в защищённые ветки запрещён — расширение `permission-gate` дополнительно переспросит. - Перед MR: `tsc --noEmit`, `eslint .`, `prettier --check .`, тесты — всё зелёное. - Описание MR: что и зачем, как проверено, ссылка на тикет (скилл `jira-workflow`). ## Чек-лист перед MR - [ ] `tsc --noEmit` без ошибок - [ ] `eslint .` чисто - [ ] `prettier --check .` чисто - [ ] тесты зелёные, есть тесты на новую логику / фикс - [ ] нет секретов и закоммиченных `.env` - [ ] описание MR со ссылкой на тикет > Для UI-задач полезен скилл `frontend-design` (ставится по профилю при установке).