workflow-audit

Exécute le linter de workflows Bitwarden (bwwl) sur un ou plusieurs dépôts et rapporte les résultats. Strictement en lecture seule — ne modifie aucun fichier. Catégorise les résultats comme mécaniques ou relevant du jugement en utilisant le skill `bitwarden-workflow-linter-rules`. Prend en charge un dépôt unique, plusieurs dépôts, ou un périmètre limité à un fichier/répertoire. <example> User: Run the workflow linter on the server repo Action: Trigger workflow-audit for that repo </example> <example> User: Lint the workflows across server, clients, and android Action: Trigger workflow-audit in multi-repo mode </example>

npx skills add https://github.com/bitwarden/ai-plugins --skill workflow-audit

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.yml ou .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 de run_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.

Skills similaires