Agent Skills: Basedpyright Type Checking

|

UncategorizedID: laurigates/claude-plugins/basedpyright-type-checking

Install this agent skill to your local

pnpm dlx add-skill https://github.com/laurigates/claude-plugins/tree/HEAD/python-plugin/skills/basedpyright-type-checking

Skill Files

Browse the full folder contents for basedpyright-type-checking.

Download Skill

Loading file tree…

python-plugin/skills/basedpyright-type-checking/SKILL.md

Skill Metadata

Name
basedpyright-type-checking
Description
|

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)

# Install globally
uv tool install basedpyright

# Install as dev dependency
uv add --dev basedpyright

# Run with uv
uv run basedpyright

Via pipx

pipx install basedpyright

Basic Usage

# 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)

[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

# 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

# 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.