Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    laurigates

    basedpyright-type-checking

    laurigates/basedpyright-type-checking
    Coding
    5

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Basedpyright static type checker configuration, installation, and usage patterns. Use when implementing type checking, configuring LSP, comparing type checkers, or setting up strict type validation...

    SKILL.md

    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.

    Recommended Servers
    Vercel Grep
    Vercel Grep
    Repository
    laurigates/claude-plugins
    Files