КомандаКачество кода

/typecheck

Проверка типов: tsc для TypeScript, pyright для Python. Показывает ошибки с пояснениями.

Закинь в Claude, Cursor или любой AI

Описание

Простым языком

TypeScript — язык с жёсткими правилами: нельзя передать число туда где ждут текст, нельзя использовать поле которого нет в объекте. Это хорошо — ловит баги до запуска. Но сообщения об ошибках — как инструкция на немецком. /typecheck переводит их на русский.

Напиши /typecheck — Claude запустит проверку и для каждой ошибки объяснит что не так и как именно исправить. Не просто «ошибка в строке 45», а «вот что сломалось, вот как починить».


Что делает

/typecheck запускает строгую проверку типов для проекта: tsc --noEmit для TypeScript, pyright для Python. Каждую ошибку объясняет на понятном языке и предлагает конкретное исправление — не просто дампит вывод компилятора.

Синтаксис

# Проверить весь проект
/typecheck

# Конкретный файл
/typecheck src/api/auth.ts

# Директория
/typecheck src/lib/

Пошаговый процесс

  1. Находит конфиг: tsconfig.json (TypeScript) или pyrightconfig.json (Python)
  2. Запускает tsc --noEmit — проверка без генерации файлов
  3. Парсит вывод компилятора: файл, строка, код ошибки, сообщение
  4. Для каждой ошибки — объяснение на русском что это означает
  5. Предлагает конкретное исправление: что именно изменить
  6. Показывает итог: N ошибок в M файлах, или "типы в порядке"
  7. Опционально — исправляет простые ошибки автоматически (с подтверждением)

Примеры использования

Проверка после рефакторинга

Переименовали интерфейс — 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 с выключенным половиной мозга. Строгий режим ловит баги до запуска.
#Commands#Claude Code#TypeScript
TG

> Пока нет комментариев

Связанный контент

Похожие инструменты