TypeScript Expert
Мастер разработки на TypeScript с профессиональными рекомендациями
Испытываете сложности со сложными типами TypeScript, производительностью сборки или миграцией? Получите экспертные рекомендации по программированию на уровне типов, современным инструментам и лучшим практикам от специализированного TypeScript-ассистента.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «TypeScript Expert». Я постоянно получаю ошибки 'implicit any' в параметрах моих функций
Ожидаемый результат:
Включите noImplicitAny в вашем tsconfig.json. Затем добавьте явные аннотации типов: function greet(name: string): string { return `Hello, ${name}`; }. Для сложных случаев используйте unknown и сужайте: function process(input: unknown) { if (typeof input === 'string') { /* input теперь string */ } }
Использование «TypeScript Expert». Как мне предотвратить смешивание строк UserId и OrderId?
Ожидаемый результат:
Используйте именованные типы: type Brand<K, T> = K & { readonly __brand: T }; type UserId = Brand<string, 'UserId'>; type OrderId = Brand<string, 'OrderId'>; Создайте конструкторы: const createUserId = (id: string): UserId => id as UserId; Это предотвращает передачу UserId там, где ожидается OrderId, на этапе компиляции.
Аудит безопасности
Низкий рискStatic analysis flagged 64 patterns but manual review confirms most are false positives. The backtick patterns are TypeScript template literal types and markdown code fences, not shell execution. URLs are JSON schema references. One legitimate finding: subprocess.run with shell=True in local diagnostic script uses only hardcoded commands with no user input injection risk. No network activity, credential access, or data exfiltration detected.
Проблемы среднего риска (1)
Проблемы низкого риска (3)
Факторы риска
⚡ Содержит скрипты
⚙️ Внешние команды (1)
Оценка качества
Что вы можете построить
Корпоративная миграция на TypeScript
Направляйте крупномасштабную миграцию JavaScript на TypeScript с инкрементальными стратегиями, конфигурацией tsconfig и паттернами аннотаций типов.
Продвинутый дизайн системы типов
Создавайте сложные обобщённые утилиты, именованные типы для предметного моделирования и типобезопасные API с использованием условных и шаблонных строковых типов.
Оптимизация производительности сборки
Диагностируйте медленную проверку типов, настраивайте инкрементальные сборки и оптимизируйте ссылки на проекты TypeScript в монорепозиториях.
Попробуйте эти промпты
У меня есть ошибка TypeScript: [вставьте ошибку]. Мой код: [вставьте код]. Что означает эта ошибка и как её исправить?
Проверьте мой tsconfig.json на соответствие лучшим практикам: [вставьте конфигурацию]. Есть ли настройки, которые следует изменить для проекта [библиотека/приложение]?
Мне нужно создать тип, который [опишите требование]. Например, он должен [приведите примеры]. Можете ли вы спроектировать это с использованием системы типов TypeScript?
Я мигрирую JavaScript-кодовую базу размером [размер] на TypeScript. Мы используем [инструменты/фреймворк]. Какой лучший инкрементальный подход и с какими настройками tsconfig мне начать?
Лучшие практики
- Включите strict mode и noUncheckedIndexedAccess в tsconfig.json для максимальной безопасности типов
- Предпочитайте interface перед type для форм объектов — это даёт лучшие сообщения об ошибках и поддержку слияния объявлений
- Используйте unknown вместо any для безопасности типов, затем сужайте типы с помощью type guards перед использованием значения
Избегать
- Использование типа any для обхода ошибок вместо правильной типизации значения
- Чрезмерные утверждения типов (as Type), которые обходят проверку типов без оправдания
- Излишнее усложнение типов сложными обобщениями, когда работает более простое решение
Часто задаваемые вопросы
Стоит ли использовать interface или type для определения форм объектов?
Как исправить ошибки 'Cannot find module', когда файл существует?
В чём разница между unknown и any?
Как выполнить постепенную миграцию с JavaScript на TypeScript?
Почему компиляция TypeScript такая медленная?
Работают ли сопоставления путей TypeScript во время выполнения?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/typescript-expertСсылка
main
Структура файлов