Skip to content

Releases: vtemian/lint-claude

v0.4.0 - Streaming Output & Progress Feedback

Choose a tag to compare

@vtemian vtemian released this 24 Nov 09:45

Critical Fixes

  • Fixed IndexError when resuming progress with changed batch count
    • Validates loaded progress matches current batch count
    • Discards stale progress and starts fresh on mismatch
    • Prevents crashes when files are added/removed between runs

Major Features

  • Streaming output: Results written incrementally to file as batches complete

    • Text format: File updates in real-time as analysis progresses
    • JSON format: JSON Lines (NDJSON) - one object per line
    • Can review violations while analysis is still running
    • Partial results preserved if process is interrupted
    • Use: `--output report.txt` or `--json -o report.jsonl`
  • Detailed progress feedback: Shows current processing step during analysis

    • "Reading files" - Loading file contents
    • "Building prompt" - Constructing API request
    • "Calling Claude API" - During API call (longest wait)
    • "Processing response" - Parsing results
    • "Updating cache" - Saving to cache
    • Provides continuous feedback during long-running analyses
  • File output option: Save analysis results to file

    • Use `--output ` or `-o ` flag
    • Results written to file and displayed to stdout
    • Perfect for CI/CD pipelines and archiving reports

Testing

  • Added comprehensive tests for all new features
  • All 167 tests passing
  • Test coverage maintained at 90%+

v0.3.2: Exclude virtual environments by default

Choose a tag to compare

@vtemian vtemian released this 13 Nov 08:05

What's Changed

Bug Fix:

  • Automatically exclude virtual environments and cache directories by default (fixes #2)

Default Exclude Patterns

Virtual environments and cache directories are now automatically excluded:

  • .venv/**, venv/**, env/** - Python virtual environments
  • __pycache__/**, *.pyc, *.pyo - Python cache files
  • .pytest_cache/**, .mypy_cache/**, .ruff_cache/** - Test/lint caches
  • node_modules/** - Node.js dependencies
  • dist/**, build/**, *.egg-info/** - Build outputs
  • .git/** - Version control
  • .vscode/**, .idea/** - IDE directories

Impact

Before this fix, users could accidentally scan thousands of files in .venv directories, resulting in:

  • 2+ hour scan times
  • 300+ API calls
  • High API costs

Now these directories are automatically skipped by default.

Installation

# Use with uvx (no installation needed)
uvx lint-claude --help

# Or install globally
uv tool install lint-claude
pip install lint-claude

Full Changelog: v0.3.1...v0.3.2

v0.3.1 - First PyPI Release

Choose a tag to compare

@vtemian vtemian released this 12 Nov 15:05

🎉 First Published Version to PyPI

Package Name: lint-claude

What's New in v0.3.1

  • Renamed package from claude-lint to lint-claude for better uniqueness
  • Fixed CLI program name to match package name
  • Ready for PyPI publishing with trusted publishing setup

Installation

# Run directly without installing (recommended)
uvx lint-claude --help

# Or install globally
uv tool install lint-claude
pip install lint-claude

Quick Start

# Check changed files
uvx lint-claude --working

# Check PR changes  
uvx lint-claude --diff main

Known Issues

  • Some integration tests fail on Windows CI (platform-specific, functionality works)
  • Tests pass on Linux and macOS

Documentation


Note: First time publishing requires PyPI trusted publisher setup. See docs/PUBLISHING.md

v0.3.0 - Initial Public Release

Choose a tag to compare

@vtemian vtemian released this 12 Nov 14:55

🎉 First Public Release of lint-claude

Automatically enforce your CLAUDE.md guidelines using Claude AI

Features

  • 🤖 AI-Powered Linting - Uses Claude to understand context-specific guidelines
  • 💰 Cost Efficient - Prompt caching reduces costs by ~90%
  • Fast - File hashing skips unchanged files
  • 🎯 Git-Aware - Multiple scan modes (full, diff, working, staged)
  • 🔄 Resume Support - Interrupted scans resume automatically
  • 📊 CI/CD Ready - Exit codes and JSON output for automation
  • 🧪 Production Ready - 94% test coverage, type-safe, zero mypy errors

Installation

# Run directly without installing (recommended)
uvx lint-claude --help

# Or install globally
uv tool install lint-claude
pip install lint-claude

Quick Start

# Check changed files
uvx lint-claude --working

# Check PR changes
uvx lint-claude --diff main

What's Included

  • Comprehensive CLAUDE.md guideline enforcement
  • Smart caching for fast incremental checks
  • Rich progress indicators
  • Detailed violation reports
  • GitHub Actions integration examples

Documentation


Made with ❤️ by developers who believe in enforceable standards