Pular para o conteúdo
Open Sourcept
ct-lines

Uma ferramenta CLI para contar linhas de código, comentários, tokens e linhas em branco em arquivos dentro de um diretório.

O que é o ct-lines?

ct-lines (count lines) é uma CLI que percorre uma árvore de diretórios e reporta contagens por arquivo e agregadas para linhas de código, linhas de comentário, linhas em branco e tokens. É útil para entender o tamanho e a composição de uma base de código rapidamente — sem instalar ferramentas pesadas de análise estática.

O Problema que Resolve

Ao trabalhar em múltiplos projetos ou auditar uma nova base de código, é útil responder rapidamente: quanta código existe aqui? Qual porcentagem são comentários? Quantos tokens custaria enviar isso para uma LLM?

A maioria das ferramentas que respondem essas perguntas são complexas demais para instalar, lentas demais em árvores grandes, ou simplesmente não reportam contagem de tokens. O ct-lines é uma alternativa pequena e rápida que roda em segundos e produz resumos limpos e legíveis.

Funcionalidades Principais

Detalhamento por arquivo

ct-lines ./src

Arquivo                  Linhas  Código  Comentários  Branco  Tokens
─────────────────────────────────────────────────────────────────────
src/index.ts               142      98           22      22   1.840
src/parser.ts              310     241           40      29   4.102
src/formatter.ts            87      64           10      13     980
─────────────────────────────────────────────────────────────────────
Total                      539     403           72      64   6.922

Estatísticas agregadas

Após a tabela por arquivo, o ct-lines imprime uma seção de resumo:

Resumo
  Total de arquivos:    3
  Total de linhas:    539
  Código:             403 (74,8%)
  Comentários:         72 (13,4%)
  Em branco:           64 (11,9%)
  Tokens:           6.922

Filtragem

ct-lines ./src --ext ts,tsx        # apenas arquivos TypeScript
ct-lines . --exclude node_modules  # pular diretórios
ct-lines . --min-lines 50          # apenas arquivos com 50+ linhas

Contagem de tokens

As contagens de tokens usam uma aproximação de tokenizador compatível com GPT, tornando o ct-lines útil para estimar custos de contexto de LLM antes de enviar uma base de código para uma API.

Instalação

npm install -g ct-lines

Requisitos: Node.js ≥ 18.

Stack Tecnológica

  • TypeScript — modo strict, compilado com esbuild
  • fast-glob — varredura eficiente de diretórios
  • meow — parsing de argumentos CLI
  • cli-table3 — saída de tabela formatada no terminal

Casos de Uso

  • Auditar uma nova base de código antes de um refactor
  • Estimar custos de tokens de API de LLM para janelas de contexto
  • Acompanhar o crescimento do código em um projeto ao longo do tempo
  • Gerar relatórios rápidos para documentação técnica