/typecheck
Проверка типов: tsc для TypeScript, pyright для Python. Показывает ошибки с пояснениями.
Описание
Простым языком
TypeScript — язык с жёсткими правилами: нельзя передать число туда где ждут текст, нельзя использовать поле которого нет в объекте. Это хорошо — ловит баги до запуска. Но сообщения об ошибках — как инструкция на немецком. /typecheck переводит их на русский.
Напиши /typecheck — Claude запустит проверку и для каждой ошибки объяснит что не так и как именно исправить. Не просто «ошибка в строке 45», а «вот что сломалось, вот как починить».
Что делает
/typecheck запускает строгую проверку типов для проекта: tsc --noEmit для TypeScript, pyright для Python. Каждую ошибку объясняет на понятном языке и предлагает конкретное исправление — не просто дампит вывод компилятора.
Синтаксис
# Проверить весь проект
/typecheck
# Конкретный файл
/typecheck src/api/auth.ts
# Директория
/typecheck src/lib/Пошаговый процесс
- Находит конфиг:
tsconfig.json(TypeScript) илиpyrightconfig.json(Python) - Запускает
tsc --noEmit— проверка без генерации файлов - Парсит вывод компилятора: файл, строка, код ошибки, сообщение
- Для каждой ошибки — объяснение на русском что это означает
- Предлагает конкретное исправление: что именно изменить
- Показывает итог: N ошибок в M файлах, или "типы в порядке"
- Опционально — исправляет простые ошибки автоматически (с подтверждением)
Примеры использования
Проверка после рефакторинга
Переименовали интерфейс — TypeScript покажет все места где нужно обновить. /typecheck переводит ошибки компилятора на понятный язык.
/typecheck src/
Запуск tsc --noEmit...
Найдено 3 ошибки в 2 файлах:
src/components/FeedCard.tsx:45
TS2345: Argument of type 'FeedItem' is not assignable to parameter of type 'Post'
Что значит: FeedCard ожидает тип Post, но передаётся FeedItem
Исправление: изменить тип пропа на FeedItem | Post (или использовать union)
src/lib/data.ts:123
TS2339: Property 'downloads' does not exist on type 'Question'
Что значит: у типа Question нет поля downloads, оно есть только у Framework
Исправление: добавить проверку типа: if ('downloads' in item) { ... }
src/lib/data.ts:156
TS7006: Parameter 'slug' implicitly has an 'any' type
Что значит: TypeScript не может вывести тип аргумента
Исправление: добавить аннотацию: function getFramework(slug: string)Достижение нуля ошибок перед деплоем
Перед каждым деплоем — проверка что TypeScript чистый. Если нашлись ошибки — исправляете, потом деплоите.
/typecheck
Запуск tsc --noEmit...
TypeScript: 0 ошибок.
Можно деплоить.Автоматизация
В CI — tsc --noEmit запускается при каждом пуше. Если есть ошибки типов — CI падает, деплой не происходит. Это гарантия что в продакшн не попадёт код с типовыми ошибками.
# В GitHub Actions:
- name: Проверка типов
run: npx tsc --noEmit
# Если exit code != 0, пайплайн падает
# Строгий режим tsconfig.json:
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true
}
}TypeScript без strictNullChecks — это TypeScript с выключенным половиной мозга. Строгий режим ловит баги до запуска.
> Пока нет комментариев
Связанный контент
Похожие инструменты
/autoformat
Форматирование кода: Prettier для JS/TS, ruff для Python. Весь проект или конкретные файлы.
Открыть →/cleanup
Удаление debug-кода: console.log, debugger, print(), закомментированный код. Чистка перед коммитом.
Открыть →/code-review
Запуск ревью кода через субагента code-reviewer. Проверяет DRY, KISS, безопасность, именование.
Открыть →auto-lint
Универсальный автолинтинг для всех языков: определяет тип файла и запускает подходящий линтер.
Открыть →