basedpyright-type-checking — скилл для Claude Code: как установить
Настраивает статическую типизацию Python через basedpyright, помогает выбрать между ним и mypy, а также подготовить конфигурацию для проекта.
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a claude-codeЧто делает basedpyright-type-checking
Скилл обучает агента внедрять basedpyright — форк Pyright с повышенной строгостью по умолчанию и быстрым анализом. Внутри собраны правила оформления блока [tool.basedpyright] в pyproject.toml, переключение режимов от basic до strict, а также способы подавления ложных срабатываний через # basedpyright: ignore.
Инструкции содержат готовые команды запуска с помощью uv или pipx, фоновый режим проверки --watch и выгрузку отчётов в JSON. Отдельно приводится сравнение с Pyright и mypy: basedpyright даёт строгие проверки из коробки без ручной возни с флагами.
Для форматирования и проверки стиля автор прямо советует Ruff, а не тайпчекер. Если проекту критичны плагины уровня pydantic-mypy, переход на basedpyright не подойдёт из-за ограниченной экосистемы расширений.
Какие задачи решает
- настроить строгую проверку типов в pyproject.toml
- сравнить basedpyright с mypy и стандартным Pyright
- перевести проект на постепенную типизацию от basic к strict
- подавить единичные ошибки типизации инлайн-директивами
Примеры запросов агенту
- Настрой basedpyright для проекта на Python 3.12 в строгом режиме
- Помоги выбрать между mypy и basedpyright для нового сервиса
- Запусти проверку basedpyright через uv в режиме watch для папки src
Как установить basedpyright-type-checking
1Через Skills CLI (Vercel)
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a claude-code2Вручную: положить файлы
~/.claude/skills/basedpyright-type-checking/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/basedpyright-type-checking/
1Через Skills CLI (Vercel)
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a codex2Вручную: положить файлы
.agents/skills/basedpyright-type-checking/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a cursor2Вручную: положить файлы
.cursor/skills/basedpyright-type-checking/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install laurigates/claude-plugins basedpyright-type-checking2Вручную: положить файлы
.github/skills/basedpyright-type-checking/SKILL.md1Через Skills CLI (Vercel)
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a gemini-cli2Командой платформы
gemini skills install https://github.com/laurigates/claude-plugins --path python-plugin/skills/basedpyright-type-checkingВручную: положить файлы
.devin/skills/basedpyright-type-checking/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о basedpyright-type-checking
Как установить basedpyright-type-checking в Claude Code?
Выполните команду npx skills add laurigates/claude-plugins --skill basedpyright-type-checking -a claude-code. Конфигурация запишется в ~/.claude/skills/basedpyright-type-checking/SKILL.md.
Что делает basedpyright-type-checking?
Скилл помогает настроить быстрый тайпчекер basedpyright, задать строгие правила проверки в pyproject.toml и адаптировать код под строгую типизацию.
Чем basedpyright отличается от mypy?
Basedpyright работает быстрее mypy и по умолчанию строже проверяет типы, однако у mypy заметно богаче набор сторонних плагинов.
Исходный текст
SKILL.md · MIT
---
created: 2025-12-16
modified: 2026-05-09
reviewed: 2025-12-16
name: basedpyright-type-checking
description: Basedpyright static type checker for Python. Use when setting up type checking, configuring LSP, or comparing type checkers (basedpyright, pyright, mypy alternative).
user-invocable: false
allowed-tools: Bash, Read, Grep, Glob
---
# Basedpyright Type Checking
Basedpyright is a fork of Pyright with additional features and stricter defaults, designed for maximum type safety and performance.
## When to Use This Skill
| Use this skill when... | Use another tool instead when... |
|------------------------|----------------------------------|
| Setting up type checking for Python | Formatting code (use ruff format) |
| Configuring strict type validation | Linting for style issues (use ruff check) |
| Comparing type checkers (basedpyright vs mypy) | Detecting unused code (use vulture/deadcode) |
| Setting up LSP for type-aware editor support | Running tests (use pytest) |
## Installation
### Via uv (Recommended)
```bash
# Install globally
uv tool install basedpyright
# Install as dev dependency
uv add --dev basedpyright
# Run with uv
uv run basedpyright
```
### Via pipx
```bash
pipx install basedpyright
```
## Basic Usage
```bash
# Check entire project
basedpyright
# Check specific files/directories
basedpyright src/ tests/
# Watch mode for development
basedpyright --watch
# Output JSON for tooling integration
basedpyright --outputjson
# Verbose diagnostics
basedpyright --verbose
```
## Configuration
### Minimal Strict Configuration (pyproject.toml)
```toml
[tool.basedpyright]
typeCheckingMode = "strict"
pythonVersion = "3.12"
include = ["src"]
exclude = ["**/__pycache__", "**/.venv"]
# Basedpyright-specific strict rules
reportUnusedCallResult = "error"
reportImplicitStringConcatenation = "error"
reportMissingSuperCall = "error"
reportUninitializedInstanceVariable = "error"
```
## Type Checking Modes
| Mode | Description | Use Case |
|------|-------------|----------|
| `off` | No type checking | Legacy code, migration start |
| `basic` | Basic type checking | Gradual typing adoption |
| `standard` | Standard strictness | Most projects (default Pyright) |
| `strict` | Strict type checking | Type-safe codebases |
| `all` | Maximum strictness | High-assurance systems |
### Progressive Type Checking
```toml
# Start with basic mode
[tool.basedpyright]
typeCheckingMode = "basic"
include = ["src/new_module"] # Type check new code only
# Gradually expand
include = ["src/new_module", "src/api"]
# Eventually enable strict mode
typeCheckingMode = "strict"
include = ["src"]
```
## Choosing a Type Checker
| Factor | Basedpyright | Pyright | mypy |
|--------|-------------|---------|------|
| **Speed** | Fastest | Fastest | Slower |
| **Strictness** | Strictest defaults | Configurable | Configurable |
| **LSP Support** | Built-in | Built-in | Via dmypy |
| **Plugin System** | Limited | Limited | Extensive |
**Choose Basedpyright** for maximum type safety with stricter defaults and fastest speed.
**Choose Pyright** for Microsoft's official support and VS Code Pylance compatibility.
**Choose mypy** for extensive plugin ecosystem (django-stubs, pydantic-mypy).
## Inline Error Suppression
```python
# Inline type ignore
result = unsafe_operation() # type: ignore[reportUnknownVariableType]
# Function-level ignore
def legacy_function(): # basedpyright: ignore
pass
```
## Agentic Optimizations
| Context | Command |
|---------|---------|
| Quick check | `basedpyright` |
| JSON output | `basedpyright --outputjson` |
| Watch mode | `basedpyright --watch` |
| CI check | `uv run basedpyright` |
| Verbose | `basedpyright --verbose` |
## Quick Reference
| Flag | Description |
|------|-------------|
| `--watch` | Watch mode for development |
| `--outputjson` | JSON output for tooling |
| `--verbose` | Verbose diagnostics |
| `--pythonversion X.Y` | Override Python version |
| `--level <mode>` | Override type checking mode |
For detailed configuration options, LSP integration, migration guides, CI setup, and best practices, see [REFERENCE.md](REFERENCE.md).
© laurigates · MIT · laurigates/claude-plugins