Contexto
Hoje validamos Python e Bash. Adicionar suporte a TypeScript seguindo a mesma dinâmica.
O que precisa ser feito
Checkers customizados (extensão dos existentes em Python)
Ferramentas do ecossistema (Node.js)
Integração no check-all
Documentação
Decisão de arquitetura
Ferramentas Node não podem ser empacotadas via pip/uvx. Abordagem adotada:
check-all chama ./node_modules/.bin/eslint etc. (requer deps instaladas no projeto alvo)
jscpd escolhido sobre pylint R0801 para duplicate detection no stack TS: R0801 é Python-only e não pode ser instalado via pip junto com Node tools; jscpd cobre Python + Bash + TS em uma passada, faz sentido quando Node.js já é dado pelo stack TS
Contexto
Hoje validamos Python e Bash. Adicionar suporte a TypeScript seguindo a mesma dinâmica.
O que precisa ser feito
Checkers customizados (extensão dos existentes em Python)
check-abbrev— adicionar suporte a.ts/.tsx(regex para declarações de variável/função TS)check-comments— adicionar suporte a.ts/.tsx(comentários//e/* */)check-size— adicionar.ts/.tsxàs extensões reconhecidasFerramentas do ecossistema (Node.js)
tsc— type checking (language: node)eslint— linting (language: node)prettier— formatação (language: node)knip— dead code (language: node)jscpd— duplicate code detection (cross-language, covers TS + Python + Bash em uma só passada; requer Node.js como as demais ferramentas TS)Integração no
check-all.ts/.tsxnode_modules/.bin/do projeto alvo (skip silencioso se ausente)eslintpara/tmp/dev-quality/eslintvia--cache --cache-location— mesmo padrão adotado para ruff e mypy--no-cachedocheck-alldeve desabilitar cache também nas ferramentas TS (tsc,prettiereknipnão criam cache dirs por padrão — apenaseslintprecisa de tratamento)check-duplicate(pylint R0801, Python-only) porjscpdpara cobertura cross-languageDocumentação
stacks/typescript/README.mdcom instruções de setup manualskill/typescript.mdcom regras específicas do stackDecisão de arquitetura
Ferramentas Node não podem ser empacotadas via pip/uvx. Abordagem adotada:
check-allchama./node_modules/.bin/eslintetc. (requer deps instaladas no projeto alvo)jscpdescolhido sobre pylint R0801 para duplicate detection no stack TS: R0801 é Python-only e não pode ser instalado via pip junto com Node tools; jscpd cobre Python + Bash + TS em uma passada, faz sentido quando Node.js já é dado pelo stack TS