shellcheck-configuration
Configurer ShellCheck pour un linting de shell fiable
Les scripts shell cachent leurs problèmes jusqu'en production et ralentissent les revues de code. Cette compétence explique la configuration de ShellCheck, les règles de configuration et les flux d'intégration pour détecter les problèmes avant la fusion.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "shellcheck-configuration". J'ai besoin d'aide pour comprendre SC2086 et comment le corriger
Résultat attendu:
- SC2086 est l'avertissement d'expansion de variable non citée
- Corriger en citant les variables ou en utilisant la syntaxe de tableau
- Exemple : changer 'for i in $list' en 'for i in "$list"' ou 'for i in "${list[@]}"'
Utilisation de "shellcheck-configuration". Créer un .shellcheckrc pour un projet Bash
Résultat attendu:
- Définir shell=bash pour l'analyse du dialecte Bash
- Activer les vérifications facultatives comme require-variable-braces
- Désactiver SC1091 pour les fichiers sourcés qui peuvent ne pas exister
- Documenter chaque code désactivé avec un commentaire expliquant pourquoi
Audit de sécurité
SûrPure documentation skill containing only markdown guidance for ShellCheck, a legitimate open-source static analysis tool. All static findings are false positives. References like SC2009, SC2086 are ShellCheck error codes (not C2 keywords), sha256sum is appropriate for caching (not weak crypto), and shell examples are documentation (not malicious patterns).
Facteurs de risque
🌐 Accès réseau (5)
⚙️ Commandes externes (72)
📁 Accès au système de fichiers (5)
Score de qualité
Ce que vous pouvez construire
Ajouter du linting shell dans CI
Configurer ShellCheck dans les pipelines CI avec des indicateurs cohérents et des règles d'échec.
Corriger les avertissements courants
Comprendre les codes clés de ShellCheck et appliquer des modèles de citation et de flux plus sûrs.
Standardiser les règles de lint
Définir des paramètres .shellcheckrc partagés et des politiques de suppression documentées.
Essayez ces prompts
Expliquer comment installer ShellCheck et l'exécuter sur un seul script. Inclure des exemples de commandes pour l'installation sur Ubuntu et l'exécution sur un fichier Bash.
Rédiger un .shellcheckrc pour les scripts Bash avec quelques vérifications activées et deux codes désactivés. Expliquer chaque paramètre.
Fournir une étape minimale GitHub Actions qui installe ShellCheck et l'exécute sur tous les fichiers .sh, échouant sur les avertissements.
Montrer comment supprimer SC1091 et SC2119 dans un script shell et documenter pourquoi chaque suppression est sûre.
Bonnes pratiques
- Définir explicitement le shell cible avant le linting pour correspondre à votre environnement de déploiement
- Documenter chaque code supprimé avec un commentaire expliquant la justification
- Exécuter ShellCheck dans les hooks pre-commit et CI pour une détection locale et distante précoce
Éviter
- Désactiver les avertissements de manière large sans justification spécifique pour chaque code
- Linter les scripts Bash en POSIX sh sans comprendre les exigences de compatibilité
- Ignorer les échecs de ShellCheck dans CI ou remplacer les codes de sortie sans revue
Foire aux questions
Est-ce compatible avec Bash et POSIX sh ?
Quelles sont les limites de cette compétence ?
Peut-il s'intégrer avec les systèmes CI ?
Accède-t-il à mes fichiers ou identifiants ?
Que faire si ShellCheck rapporte trop d'avertissements ?
Comment se compare-t-il aux linters génériques ?
Détails du développeur
Auteur
wshobsonLicence
MIT
Dépôt
https://github.com/wshobson/agents/tree/main/plugins/shell-scripting/skills/shellcheck-configurationRéf
main
Structure de fichiers
📄 SKILL.md