- mirror go-standards: structure, linters/formatters, tests, commits/MR, pre-MR checklist - ecosystem defaults (clippy/rustfmt, eslint/prettier/tsc, ruff/mypy/pytest); company specifics marked TODO - verified all four *-standards skills load via pi RPC get_commands
3.2 KiB
3.2 KiB
name, description
| name | description |
|---|---|
| typescript-standards | Используй при написании, ревью и проверке кода на 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
<feature>/
test/ | *.test.ts # рядом с кодом или в test/
Линтеры и форматирование
- Типы:
tsc --noEmit— без ошибок типов. - Линтер: ESLint —
eslint .(конфиг.eslintrc*/eslint.config.*). - Форматирование: Prettier —
prettier --check .(в CI),prettier --write .локально.
Тесты
- Прогон:
<!-- TODO: vitest / jest / node --test -->— напр.npm test. - Требования к покрытию:
<!-- TODO -->.
Сборка и зависимости
- Сборка:
npm run build(или скрипт проекта). - Пакетный менеджер и lock-файл:
<!-- TODO: npm/pnpm/yarn -->— lock коммитим.
Коммиты и MR
- Формат коммитов:
<!-- TODO: например Conventional Commits или свой -->. - MR обязателен (см. корпоративные правила из контекста сессии). Прямой push в защищённые
ветки запрещён — расширение
permission-gateдополнительно переспросит. - Перед MR:
tsc --noEmit,eslint .,prettier --check ., тесты — всё зелёное. - Описание MR: что и зачем, как проверено, ссылка на тикет (скилл
jira-workflow).
Чек-лист перед MR
tsc --noEmitбез ошибокeslint .чистоprettier --check .чисто- тесты зелёные, есть тесты на новую логику / фикс
- нет секретов и закоммиченных
.env - описание MR со ссылкой на тикет
Для UI-задач полезен скилл
frontend-design(ставится по профилю при установке).