Skip to main content

GenerateLinterConfig - 代码检查规则生成工具

Project description

en zh-cn

gen-linter-config

A LLM-based linter configuration generate tool .

How to use

  1. install:
pip install gen-linter-config
  1. Configuring LLM: This project uses litellm to call large model in a unified format, so please make sure that you have sufficient token resources before using it, api_key can be automatically read from environment variables or passed through parameters.

  2. Usage Example:

    gen-linter-config -t checkstyle --input "No more than 5 function parameters"
    gen-linter-config -t checkstyle --input rule.txt --out output.json
    gen-linter-config -t checkstyle --input "Wrap the code block in braces" --format json
    gen-linter-config -t checkstyle -m deepseek/deepseek-v4-pro -i "The package declaration is not line-wrapped. The column limit(Section 4.4, Column limit: 100) does not apply to package declarations."
    

Configure key as a system-level environment variable

Windows:Through the system property settings. Find system-properties, find advanced system settings-environment variable, and then create a new user variable with the variable named OPENAI_API_KEY and the value of the key in the user environment variable above.

Linux/macos:Set environment variables in the shell configuration file. Open the terminal and execute the instructions according to different shell:

# Bash
nano ~/.bashrc
# Zsh
nano ~/.zshrc
# Other shell may need to consult relevant documents.

Add in the configuration file:

export OPENAI_API_KEY=[Your OpenAI API key]

Then save and exit. Make the changes take effect:

# Bash
source ~/.bashrc
# Zsh
source ~/.zshrc
# 其它的shell可能需要查阅相关文档确定具体指令。          

Parameter Introduction

Parameter introduce must default
-h, --help show help message and exit n -
--tool, -t Specify the code checking tool y -
--input, -i File path or rule text y -
--model, -m Specify the model to use n qwen3.7-max
--out, -o Output file path n -
--examples, -e Sample text n -
--full Full prompt mode n false
--api-key, -k API key for LLM n -
--debug, -d Debug mode, output complete log in logs directory n false
--version, -v show program's version number and exit n -

If you don't specify an output file, the output will directly printed in the console.

List of supported tools

Tool Y/N
Checkstyle Y
ESLint Y
Biome Y
ClangTidy Y
CppCheck Y
Flake8 Y
PMD Y
Pylint Y
Reek Y
RuboCop Y
Ruff Y

Among them, Checkstyle and ESLint support a relatively perfect generation mechanism, while other tools do not. The configuration generation of more tools is still under development.

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

gen_linter_config-1.1.2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

gen_linter_config-1.1.2-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

File details

Details for the file gen_linter_config-1.1.2.tar.gz.

File metadata

  • Download URL: gen_linter_config-1.1.2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for gen_linter_config-1.1.2.tar.gz
Algorithm Hash digest
SHA256 427c28af2d843ff2ae004803553faea26e12f9dd6a8fd33a1c78bc1d7016be3d
MD5 ae6ee57741c9fd493194e8a13796da34
BLAKE2b-256 c042d07b9b6b08b23876d1b4803f62c93602c62d4c0729d8d5e3aabbbccecb91

See more details on using hashes here.

File details

Details for the file gen_linter_config-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gen_linter_config-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 03cb82eae5fdad53f062bccb3e63569a2d0a948a38c53bfd816dc269040c1c60
MD5 802e2080f48a70c1194b729d36730fd1
BLAKE2b-256 a1304f2931b1299337a578bf2ab2debb5aa22fc18efcc018f0514b89daa413fa

See more details on using hashes here.

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