basedpyright-type-checking

Basedpyright Type Checking

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "basedpyright-type-checking" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-basedpyright-type-checking

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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruff linting

No summary provided by upstream source.

Repository SourceNeeds Review
General

imagemagick-conversion

No summary provided by upstream source.

Repository SourceNeeds Review
General

jq json processing

No summary provided by upstream source.

Repository SourceNeeds Review