Règles
- Cette skill est strictement en lecture seule. Ne modifiez, ne créez et ne supprimez aucun fichier.
- Signalez les incertitudes. Si une découverte est ambiguë, notez-la dans le rapport plutôt que de deviner.
Étape 1 : Vérifier les prérequis
Vérifiez que bwwl est disponible :
bwwl --version
Si la commande n'est pas trouvée, arrêtez-vous et informez l'utilisateur que bwwl doit être installé avant de continuer. N'essayez pas de l'installer.
Étape 2 : Déterminer la portée
Analysez la demande de l'utilisateur pour déterminer ce qu'il faut linter :
- Fichier ou répertoire unique (par ex.,
.github/workflows/build.ymlou.github/workflows/) : Opérez sur le repo courant uniquement. - Plusieurs repos (par ex., « server, clients, android ») : Opérez sur chaque repo séquentiellement. Demandez à l'utilisateur le répertoire de base où ses repos sont clonés. Pour chaque repo, cherchez son clone local à
<base-dir>/<repo>. Si un clone n'est pas trouvé, informez l'utilisateur et ignorez ce repo. - Aucune cible spécifique : Lintez tous les fichiers dans
.github/workflows/du répertoire courant.
Étape 3 : Exécuter le linter
Pour chaque repo dans la portée, exécutez :
bwwl lint -f .github/workflows/
Capturez stdout et stderr. Si vous opérez sur plusieurs repos, annoncez quel repo est en cours de linting.
Étape 4 : Analyser et catégoriser les découvertes
À partir de la sortie du linter, produisez une liste structurée de découvertes. Groupez par fichier et règle. Consultez la skill bitwarden-workflow-linter-rules pour catégoriser chaque découverte :
Mécanique (peut être corrigée automatiquement) :
name_capitalized,permissions_exist,pinned_job_runner,step_pinned,underscore_outputs,job_environment_prefix,check_pr_target- Découvertes simples de
run_actionlint(corrections shell sur une seule ligne)
Jugement (nécessite l'entrée de l'utilisateur) :
name_exists,step_approved, découvertes complexes derun_actionlint
Étape 5 : Rapport
Sortez un tableau récapitulatif par repo :
| Fichier | Découverte | Règle | Catégorie |
|---|---|---|---|
| ... | ... | ... | ... |
Incluez les totaux : découvertes mécaniques, découvertes de jugement et repos sans problèmes.
Informez l'utilisateur qu'il peut utiliser la skill workflow-fix pour appliquer les corrections basées sur ces découvertes.