Skip to main content

Suite of linting tools to enhance the vibe coding process.

Project description

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

pip install vibelint

Usage

# 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:

[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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibelint-0.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibelint-0.1.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file vibelint-0.1.0.tar.gz.

File metadata

  • Download URL: vibelint-0.1.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vibelint-0.1.0.tar.gz
Algorithm Hash digest
SHA256 15269b48303f7fb68ee585f0704ccfe24bb5fcc99b44ec2350aa383308214f20
MD5 ab8a15744c055c6e34abd14cf8bdd16f
BLAKE2b-256 958f52f5cfde3787f723daa3b228714fb98f69f3d94a0b1c04f1262053ed0c15

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibelint-0.1.0.tar.gz:

Publisher: publish.yml on mithranm/vibelint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibelint-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vibelint-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for vibelint-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b74a13ae8ace6a7793e2b5c17af556861029332a4ddd5cfcc04d426798834f04
MD5 540e4a1959959bac6f068bfefd211b03
BLAKE2b-256 acb5f6aaa1b3e84cbe1ab3bf5df67b0da847ddb3bf13036c61cae61105e72c6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibelint-0.1.0-py3-none-any.whl:

Publisher: publish.yml on mithranm/vibelint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page