Use LLMs para aplicar as práticas recomendadas em sua base de código.
GPTLint
Uma abordagem fundamentalmente nova para a qualidade do código. Use LLMs para aplicar práticas recomendadas de nível superior em sua base de código de uma forma que leve as ferramentas tradicionais de análise estática, como eslint
para o próximo nível.
- Características
- Demonstração
- Como funciona
- Começando
- Perguntas frequentes
- Citações
- Licença
Características
- ✅️ Aplicar práticas recomendadas de nível superior que são impossíveis com abordagens baseadas em ast
- ✅️ formato de marcação simples para regras (exemplo, especificação)
- ✅️ regras fáceis de desativar ou personalizar
- ✅️ adicione regras personalizadas e específicas do projeto
- ✅️ mesmo formato cli e configuração do
eslint
- ✅️ suporta
gptlint.config.js
e substituições inline /* gptlint-disable */
- ✅️ cache baseado em conteúdo
- ✅️ gera estatísticas LLM por execução (custo, tokens, etc.)
- ✅️ regras integradas são extensivamente testadas com avaliações
- ✅️ oferece suporte a todos os principais provedores de LLM e modelos locais
- ✅️ aumenta
eslint
em vez de tentar substituí-lo ( adoramos o eslint! ) - ✅️ inclui diretrizes para criar suas próprias regras
- As regras do MVP são apenas JS/TS por enquanto
- As regras do MVP são apenas contexto de arquivo único por enquanto
- MVP não suporta correção automática por enquanto
Demonstração
Aqui está uma demonstração do gptlint
rodando em sua própria base de código:
Confira nossos documentos para começar.
Como funciona
Confira nossos documentos sobre como funciona para saber mais.
Começando
A instalação é simples, com a única dependência externa exigida por padrão sendo uma chave de API OpenAI.
Confira nossos documentos para começar.
Perguntas frequentes
- Quão preciso/confiável é o gptlint?
- Quanto custará para executar o gptlint na minha base de código?
- Como posso usar o GPTLint com um modelo local personalizado?
- Como posso usar o GPTLint com um provedor LLM diferente?
- Como posso desativar uma regra?
- Como posso desabilitar uma regra para um arquivo específico?
- Como posso desabilitar o linting para um arquivo específico?
- Como posso personalizar uma regra integrada?
- Existem limites de tamanho de arquivo?
- Quais limitações o GPTLint tem?
- Como o GPTLint se compara ao ESLint?
- E quanto ao ajuste fino?
- Onde posso obter suporte?
Citações
@software { agentic2024gptlint ,
title = { GPTLint } ,
author = { Travis Fischer, Scott Silvi } ,
year = { 2024 } ,
month = { 4 } ,
url = { https://github.com/gptlint/gptlint }
}
Um grande agradecimento a Laurentiu Raducu por nos presentear com o nome do pacote NPM.
Licença
MIT © Travis Fischer
Para se manter atualizado ou saber mais, siga @transitive_bs no Twitter.