shellcheck-configuration
Ajuda a configurar e usar o ShellCheck para analisar scripts. Garante que seus scripts sejam de alta qualidade e funcionem em diferentes sistemas.
O que ela faz
Este agente ajuda a configurar e usar o ShellCheck, uma ferramenta que analisa seus scripts de código (programas pequenos) para encontrar erros e garantir que eles funcionem bem em diferentes sistemas. Ele ajuda a deixar seus scripts mais confiáveis e fáceis de entender.
Quando usar
- ✓Ao configurar um sistema para verificar a qualidade de seus scripts automaticamente.
- ✓Quando você tem um script que não está funcionando como esperado e quer encontrar a causa.
- ✓Ao aprender sobre os diferentes tipos de erros que o ShellCheck pode encontrar.
Exemplo do que pedir para a IA
“Como configuro o ShellCheck para verificar meus scripts Bash e ignorar o erro SC1091?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O ShellCheck analisa seu código sem executá-lo, procurando por padrões que geralmente causam problemas. Você pode dizer a ele quais regras seguir ou ignorar através de arquivos de configuração ou comandos.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill shellcheck-configurationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/shellcheck-configuration/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Configuração e Análise Estática do ShellCheck
Orientação abrangente para configurar e usar o ShellCheck para melhorar a qualidade de scripts shell, identificar armadilhas comuns e impor melhores práticas através de análise estática de código.
Não use esta habilidade quando
- A tarefa não estiver relacionada à configuração e análise estática do shellcheck
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Configurando linting para scripts shell em pipelines de CI/CD
- Analisando scripts shell existentes em busca de problemas
- Entendendo códigos de erro e avisos do ShellCheck
- Configurando o ShellCheck para requisitos específicos do projeto
- Integrando o ShellCheck em fluxos de trabalho de desenvolvimento
- Suprimindo falsos positivos e configurando conjuntos de regras
- Impondo padrões consistentes de qualidade de código
- Migrando scripts para atender a portões de qualidade
Fundamentos do ShellCheck
O que é ShellCheck?
ShellCheck é uma ferramenta de análise estática que analisa scripts shell e detecta padrões problemáticos. Ele suporta:
- Bash, sh, dash, ksh e outros shells POSIX
- Mais de 100 avisos e erros diferentes
- Configuração para o shell e flags de destino
- Integração com editores e sistemas de CI/CD
Instalação
# macOS with Homebrew
brew install shellcheck
# Ubuntu/Debian
apt-get install shellcheck
# From source
git clone https://github.com/koalaman/shellcheck.git
cd shellcheck
make build
make install
# Verify installation
shellcheck --version
Arquivos de Configuração
.shellcheckrc (Nível do Projeto)
Crie .shellcheckrc na raiz do seu projeto:
# Specify target shell
shell=bash
# Enable optional checks
enable=avoid-nullary-conditions
enable=require-variable-braces
# Disable specific warnings
disable=SC1091
disable=SC2086
Variáveis de Ambiente
# Set default shell target
export SHELLCHECK_SHELL=bash
# Enable strict mode
export SHELLCHECK_STRICT=true
# Specify configuration file location
export SHELLCHECK_CONFIG=~/.shellcheckrc
Códigos de Erro Comuns do ShellCheck
SC1000-1099: Erros de Parse
# SC1004: Backslash continuation not followed by newline
echo hello\
world # Error - needs line continuation
# SC1008: Invalid data for operator `=='
if [[ $var = "value" ]]; then # Space before ==
true
fi
SC2000-2099: Problemas do Shell
# SC2009: Consider using pgrep or pidof instead of grep|grep
ps aux | grep -v grep | grep myprocess # Use pgrep instead
# SC2012: Use `ls` only for viewing. Use `find` for reliable output
for file in $(ls -la) # Better: use find or globbing
# SC2015: Avoid using && and || instead of if-then-else
[[ -f "$file" ]] && echo "found" || echo "not found" # Less clear
# SC2016: Expressions don't expand in single quotes
echo '$VAR' # Literal $VAR, not variable expansion
# SC2026: This word is non-standard. Set POSIXLY_CORRECT
# when using with scripts for other shells
SC2100-2199: Problemas de Aspas
# SC2086: Double quote to prevent globbing and word splitting
for i in $list; do # Should be: for i in $list or for i in "$list"
echo "$i"
done
# SC2115: Literal tilde in path not expanded. Use $HOME instead
~/.bashrc # In strings, use "$HOME/.bashrc"
# SC2181: Check exit code directly with `if`, not indirectly in a list
some_command
if [ $? -eq 0 ]; then # Better: if some_command; then
# SC2206: Quote to prevent word splitting or set IFS
array=( $items ) # Should use: array=( $items )
SC3000-3999: Problemas de Conformidade POSIX
# SC3010: In POSIX sh, use 'case' instead of 'cond && foo'
[[ $var == "value" ]] && do_something # Not POSIX
# SC3043: In POSIX sh, use 'local' is undefined
function my_func() {
local var=value # Not POSIX in some shells
}
Exemplos Práticos de Configuração
Configuração Mínima (POSIX Estrito)
#!/bin/bash
# Configure for maximum portability
shellcheck \
--shell=sh \
--external-sources \
--check-sourced \
script.sh
Configuração de Desenvolvimento (Bash com Regras Flexíveis)
#!/bin/bash
# Configure for Bash development
shellcheck \
--shell=bash \
--exclude=SC1091,SC2119 \
--enable=all \
script.sh
Configuração de Integração CI/CD
#!/bin/bash
set -Eeuo pipefail
# Analisa todos os scripts shell e falha em caso de problemas
find . -type f -name "*.sh" | while read -r script; do
…
Perguntas frequentes
O que é ShellCheck?
É uma ferramenta que verifica seus scripts de código (como os de shell) para encontrar erros comuns e sugerir melhorias, sem precisar rodar o script.
Como instalo o ShellCheck?
Você pode instalá-lo usando gerenciadores de pacotes como 'brew' no macOS ou 'apt-get' no Ubuntu, ou compilando o código fonte.
O que é um arquivo .shellcheckrc?
É um arquivo onde você pode escrever suas preferências de configuração para o ShellCheck, como qual tipo de shell usar ou quais avisos ignorar, para que ele se aplique a todo o seu projeto.
Detalhes
Descrição original do autor
Master ShellCheck static analysis configuration and usage for shell script quality. Use when setting up linting infrastructure, fixing code issues, or ensuring script portability.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4159
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC