mcpField
B
basedpyright-type-checking

basedpyright-type-checking

github.com/laurigatesTesting & quality59326 installsUpdated 1d ago
Repository

About basedpyright-type-checking

A skill for configuring and using Basedpyright to type-check Python projects. It covers strictness modes, gradual adoption, editor support, and comparisons with Pyright and mypy.

Key features

  1. 01Configure multiple checking strictness levels
  2. 02Expand type checking incrementally
  3. 03Run watch mode and JSON output
  4. 04Compare Basedpyright, Pyright, and mypy

Use cases

  1. 01Set up type checking for a Python project
  2. 02Introduce typing gradually in legacy code
  3. 03Run type checks in CI

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill basedpyright-type-checking

After installing, type/basedpyright-type-checkingin Claude Code to confirm it loaded.

Bundled filesREFERENCE.md

Details

From the project README

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 PythonFormatting code (use ruff format)
Configuring strict type validationLinting 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 supportRunning 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

ModeDescriptionUse Case
offNo type checkingLegacy code, migration start
basicBasic type checkingGradual typing adoption
standardStandard strictnessMost projects (default Pyright)
strictStrict type checkingType-safe codebases
allMaximum strictnessHigh-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

FactorBasedpyrightPyrightmypy
SpeedFastestFastestSlower
StrictnessStrictest defaultsConfigurableConfigurable
LSP SupportBuilt-inBuilt-inVia dmypy
Plugin SystemLimitedLimitedExtensive

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

ContextCommand
Quick checkbasedpyright
JSON outputbasedpyright --outputjson
Watch modebasedpyright --watch
CI checkuv run basedpyright
Verbosebasedpyright --verbose

Quick Reference

FlagDescription
--watchWatch mode for development
--outputjsonJSON output for tooling
--verboseVerbose diagnostics
--pythonversion X.YOverride Python version
--level <mode>Override type checking mode

For detailed configuration options, LSP integration, migration guides, CI setup, and best practices, see REFERENCE.md.

Comments

Markdown supported