harbor-exec

Par harbor-framework · harbor

À utiliser lors du travail avec le workflow CLI `harbor exec` de Harbor : compilation de fichiers, répertoires ou globs en tâches Harbor ; exécution de jobs map ; configuration des artefacts et de la vérification d'existence uniquement ; utilisation du map-reduce ; rédaction ou révision d'ExecConfig YAML/JSON/TOML ; ou débogage du comportement des commandes, de la validation de la config et des sorties de jobs.

npx skills add https://github.com/harbor-framework/harbor --skill harbor-exec

Harbor Exec

Aperçu

Utilisez cette skill pour exploiter la commande harbor exec de Harbor. Traitez harbor exec comme une map-reduce agentic : elle transforme des entrées libres en tâches Harbor, exécute des jobs Harbor sur ces tâches, et agrège optionnellement les résultats.

Vérifications initiales

Supposez que l'utilisateur exécute une CLI Harbor installée. Vérifiez la surface de commande installée avant de faire des affirmations :

harbor --version
harbor exec --help

Harbor >=0.13.0 est requis pour harbor exec. Si harbor --version rapporte une version plus ancienne, demandez à l'utilisateur de mettre à jour avant de continuer.

Utilisez --print-config avec la commande prévue avant d'exécuter des jobs coûteux. Elle affiche la configuration résolue, y compris les artifacts déduits et les répertoires output/job par défaut.

Si la commande harbor installée n'est pas disponible, demandez à l'utilisateur comment ils ont installé Harbor avant de deviner un chemin de commande.

Workflow d'utilisation

Préférez les flags pour les exécutions ponctuelles et --config pour les workflows répétables ou map-reduce.

Rendez les artifacts explicites quand l'exactitude dépend de fichiers générés :

harbor exec -p ./input -i "Write /app/answer.json" -f /app/answer.json --print-config

Fiez-vous à l'auto-inférence d'artifacts seulement après avoir examiné --print-config. L'auto-inférence lit uniquement les instructions inline, pas les fichiers d'instructions.

Utilisez --output-dir quand les artifacts de tâche ou de job doivent survivre à l'inspection. Sans cela, les outputs de tâche compilées sont éphémères.

Spécifiez --scan ou --no-scan quand la cardinalité des tâches importe. Le mode flags actuel scanne un seul répertoire ou glob par défaut, mais plusieurs chemins sont groupés sauf si --scan est explicite.

Ne combinez pas --config avec les options du mode flags. Construisez l'intégralité de la ExecConfig dans le fichier à la place.

Map et Reduce

Phase map :

  • map.compile définit la synthèse des tâches : instructions, chemins copiés, image Docker/workdir, artifacts, templates, et génération de vérificateur au moment de la compilation.
  • map.job définit l'exécution : agent, modèle, environment provider, retries, attempts, concurrence, métriques, et répertoire job.

Phase reduce :

  • Requiert map.compile.artifacts ; le reducer consomme les artifacts de essais map antérieurs organisés sous environment/artifacts.
  • Compile exactement une tâche reducer.
  • Hérite des paramètres de job map sauf si des flags/config spécifiques au reducer les remplacent en mode flags.
  • Devrait généralement définir les artifacts reducer explicitement, puis les vérifier.

Exemples

Consultez references/examples.md lors de l'écriture de commandes concrètes, de fichiers config, ou d'exemples map-reduce.

Skills similaires