Metadata-Version: 2.4
Name: vibelint
Version: 0.1.0
Summary: Suite of linting tools to enhance the vibe coding process.
Author-email: Mithran Mohanraj <mithran.mohanraj@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/mithranm/vibelint
Project-URL: Bug Tracker, https://github.com/mithranm/vibelint/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.1.0
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
Requires-Dist: colorama>=0.4.0
Requires-Dist: rich>=12.0.0
Dynamic: license-file

# vibelint

**WARNING**: This entire project was almost zero-shotted by Claude 3.7 Sonnet Thinking. Bugs are expected.

A linting tool to make Python codebases more LLM-friendly while maintaining human readability.

## Installation

```bash
pip install vibelint
```

## Usage

```bash
# Check headers in the current directory
vibelint headers

# Check headers in a specific directory
vibelint headers --path /path/to/project

# Check without making changes
vibelint headers --check-only

# Force check on a large directory without confirmation
vibelint headers --yes

# Include version control system hooks
vibelint headers --include-vcs-hooks

# Show namespace representation
vibelint headers --show-namespace
```

## Configuration

vibelint can be configured via `pyproject.toml` or through a global configuration file at `~/.config/vibelint/config.toml`.

Example configuration in `pyproject.toml`:

```toml
[tool.vibelint]
package_root = "mypackage"
allowed_shebangs = ["#!/usr/bin/env python3"]
docstring_regex = "^[A-Z].+\\.$"
include_globs = ["**/*.py"]
exclude_globs = ["**/tests/**", "**/migrations/**"]
large_dir_threshold = 500
```

## Features

- **Shebang validation**: Ensures shebang lines are correct and only present when needed
- **Encoding cookie validation**: Validates UTF-8 encoding declarations
- **Module docstring validation**: Ensures all Python modules have proper docstrings
- **Auto-fix**: Automatically fixes issues when possible
- **Namespace analysis**: Detects namespace collisions across modules
- **Performance**: Processes hundreds of files quickly with parallel execution
- **Pre-commit hook**: Can be integrated into your pre-commit workflow

## License

MIT
