Chargement de l'image...Kiro

Produit

  • À propos de Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Tarification
  • Téléchargements

Pour

  • Entreprise
  • Startups
  • Étudiants

Communauté

  • Aperçu
  • Ambassadeurs
  • Discord
  • Événements
  • Powers
  • Boutique
  • Vitrine

Ressources

  • Docs
  • Blogue
  • Journal des modifications
  • FAQ
  • Signaler un bogue
  • Suggérer une idée
  • Soutien à la facturation

Réseaux sociaux

Conditions d'utilisation du siteLicencePolitique d'IA responsableMentions légalesPolitique de confidentialitéPréférences relatives aux témoins
Chargement de l'image...Kiro
  • Entreprise
  • Tarification
  • Docs
SE CONNECTERTÉLÉCHARGER
Chargement de l'image...Kiro

Pour commencer

InstallationAuthentificationVotre premier projet

Modèles

AperçuModèles disponiblesEffort de raisonnement

Fonctionnalités

Comment fonctionne Kiro
Specs
Steering
Hooks
Déclencheurs de Hook
Actions des hooks
Exemples
Gestion
Meilleures pratiques
Dépannage
MCP
Autorisations
Agents personnalisés
Agent Skills
Powers
Sessions cloudCompactionKiroignorePoints de contrôle et rewind
Outils intégrés
Portées de configuration

IDE 1.x

Nouveautés de la version 1.0
Configuration et premier lancement
Éditeur
Chat
Expérimental
DépannageRéférence 0.x

CLI

Nouveautés de la version 3.0
Configuration et première exécution
Interface utilisateur du terminal
Clavardage
Mode vocalMode sans interfaceACPAutocomplétion
Expérimental
Référence 2.x

Crew

Démarrage rapideInstallationFonctionnement 24/7
Chat
Agent Capabilities
Fonctionnalités
Interfaces
Applications
ConfigurationSécuritéDépannage

Web - Aperçu

Configuration et première exécutionIdentity Center
Connectez vos dépôts
Utilisation de l'agent
Mode autonomeAutomatisationsMémoire
Sandbox

Mobile - Aperçu

Aperçu

Commandes et référence

Commandes CLICommandes à barre obliqueOutils intégrésCodes de sortieParamètres

Facturation

AperçuGestion de votre abonnementMise à niveau de votre forfaitRétrogradation de votre forfaitAnnulation de votre forfaitAchat de crédits supplémentairesGestion de vos paiementsGestion des notifications d'utilisationGestion de vos impôtsCommuniquer avec le soutien à la facturationSuppression de votre compteQuestions connexes

Entreprise

ConceptsDémarrage rapide de l'intégration
Connexion de votre fournisseur d'identité
Abonnez votre équipeGérer les abonnements
Governance
Surveillance et suivi
ParamètresMises à jour géréesFacturationIAMRégions prises en charge

Confidentialité et sécurité

AperçuProtection des donnéesRéférences de codeValidation de la conformitéSécurité de l'infrastructureAutorisations IAMPare-feu, mandataires et périmètres de donnéesPoints de terminaison VPC (AWS PrivateLink)

Guides

Aperçu
Prise en charge des langages
Apprendre en jouant

Migration

Migration depuis Q DeveloperMigration depuis VSCodeMise à niveau depuis Q CLI
  1. Docs
  2. Fonctionnalités
  3. Hooks
Afficher en Markdown

Hooks

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et la version anglaise originale, la version anglaise prévaudra.
Afficher en Markdown

Les Hooks exécutent des commandes shell ou des requêtes d'agent automatiquement lorsque des événements précis se produisent dans votre session - un fichier est enregistré, un outil est invoqué ou une tâche est terminée. Vous définissez le déclencheur et l'action; Kiro se charge de l'exécution.

CapabilityIDECLIWebMobile
Hooks événementiels✓✓——
Actions de commande shell✓✓——
Actions de requête d'agent✓✓——
Création de Hooks par clavardage✓✓——

Ce que vous pouvez faire avec les Hooks

  • Appliquer des normes - exécutez des linters, des formateurs ou des vérifications de type automatiquement à l'enregistrement d'un fichier
  • Encadrer les opérations dangereuses - bloquez l'exécution d'un outil à moins que des conditions préalables ne soient respectées (PreToolUse)
  • Générer des fichiers compagnons - créez automatiquement des tests, de la documentation ou des traductions lorsque de nouveaux fichiers source apparaissent
  • Valider avant un commit - vérifiez la qualité du code avant que l'agent ne finalise les modifications
  • Injecter du contexte - fournissez à l'agent des instructions supplémentaires selon ce qu'il fait

Exemple rapide

Un Hook PostFileSave qui exécute ESLint chaque fois que vous enregistrez un fichier TypeScript :

json
{ "version": "v1", "hooks": [{ "name": "Lint on save", "trigger": "PostFileSave", "matcher": "\\.(ts|tsx)$", "action": { "type": "command", "command": "npx eslint --fix" } }] }

Ce fichier se trouve à .kiro/hooks/lint-on-save.json et s'active automatiquement - aucune requête manuelle n'est nécessaire. Le Hook reçoit le chemin du fichier enregistré et le contexte de session par STDIN. Consultez Hook Actions pour plus de détails sur la façon dont les commandes reçoivent les données d'événement.

Comment fonctionnent les Hooks

Les configurations de Hooks sont des fichiers JSON stockés dans .kiro/hooks/. Chaque fichier définit un ou plusieurs Hooks avec un événement déclencheur, un motif de correspondance facultatif et une action.

Lorsque l'événement déclencheur se produit, Kiro vérifie le motif de correspondance. S'il correspond (ou si aucun motif n'est spécifié), l'action s'exécute :

  • Les actions de commande exécutent une commande shell à la racine de votre projet. La commande reçoit le contexte de session en JSON via STDIN.
  • Les actions d'agent injectent une requête dans la conversation en cours, orientant le comportement de l'agent.

Déclencheurs disponibles

DéclencheurQuand il se produitPeut bloquer?
PostFileSaveAprès l'enregistrement d'un fichierNon
PostFileCreateAprès la création d'un nouveau fichierNon
PostFileDeleteAprès la suppression d'un fichierNon
PreToolUseAvant qu'un outil ne soit sur le point de s'exécuterOui
PostToolUseAprès l'exécution d'un outilNon
UserPromptSubmitLorsqu'un message est envoyé à l'agentOui
SessionStartLorsqu'une nouvelle session commenceNon
StopLorsque l'agent termine sa réponseNon
PreTaskExecAvant le début d'une tâche de specOui
PostTaskExecAprès la fin d'une tâche de specNon
Info

Les Hooks manuels des versions IDE antérieures ont été remplacés par des fichiers de steering manuels. Consultez Steering pour plus de détails.

Consultez Hook Triggers pour des descriptions détaillées, des motifs de correspondance et des cas d'utilisation pour chaque type de déclencheur.

Schéma des fichiers de Hook

Chaque fichier de Hook est un fichier JSON autonome situé à .kiro/hooks/<id>.json. Le schéma complet :

json
{ "version": "v1", "hooks": [ { "name": "example-hook", "trigger": "PostFileSave", "matcher": "\\.(ts|tsx)$", "action": { "type": "command", "command": "npx eslint --fix" } } ] }

Référence des champs

ChampRequisDescription
versionOuiVersion du schéma - actuellement "v1"
hooksOuiTableau de définitions de Hooks
hooks[].nameOuiIdentifiant lisible par un humain pour le Hook
hooks[].descriptionNonDocumentation seulement
hooks[].triggerOuiÉvénement qui déclenche le Hook (PascalCase - voir le tableau des déclencheurs)
hooks[].matcherNonMotif d'expression régulière pour filtrer quels événements déclenchent ce Hook. Pour PreToolUse/PostToolUse, correspond au nom de l'outil. Pour les événements de fichier, correspond au chemin du fichier. Par défaut, correspond toujours.
hooks[].action.typeOui"command" (commande shell) ou "agent" (injecter une requête)
hooks[].action.commandCond.Commande shell à exécuter (requise lorsque type est "command")
hooks[].action.promptCond.Texte de la requête à injecter (requis lorsque type est "agent")
hooks[].timeoutNonDélai d'expiration en secondes pour les actions de commande (par défaut : 60). 0 désactive le délai d'expiration. Ignoré pour les actions d'agent.
hooks[].enabledNonRéglez à false pour ignorer le Hook sans le supprimer (par défaut : true)
hooks[].confirmNonDemander une confirmation avant l'exécution d'un Hook de commande sur Stop. Consultez Confirmation prompts.

Requêtes de confirmation

Un Hook de commande sur le déclencheur Stop peut demander une confirmation avant de s'exécuter. Ajoutez un bloc confirm avec la question à poser et les options à présenter :

json
{ "version": "v1", "hooks": [ { "name": "Submit session results", "trigger": "Stop", "action": { "type": "command", "command": "./submit.sh" }, "confirm": { "question": "Submit this session's results?", "options": [ { "id": "submit", "label": "Yes, submit", "run": true }, { "id": "dismiss", "label": "Not this time", "run": false } ] } } ] }

Chaque option a un id, un label affiché sur le bouton, et un indicateur run qui contrôle si la commande du Hook s'exécute lorsque cette option est choisie.

Options de confirmation dynamiques avec confirmCommand

Pour décider au moment de l'exécution s'il faut poser une question et laquelle, ajoutez un confirmCommand facultatif au bloc confirm. La commande s'exécute avant l'affichage de la requête, et sa sortie standard contrôle la requête en JSON :

  • { "skip": true } supprime la requête et ignore le Hook pour ce tour
  • { "question": "...", "options": [...] } remplace la question et les options statiques
json
{ "confirm": { "question": "Submit this session's results?", "confirmCommand": "./confirm-options.sh", "options": [ { "id": "submit", "label": "Yes, submit", "run": true }, { "id": "dismiss", "label": "Not this time", "run": false } ] } }

Si confirmCommand se termine avec un code non nul, expire ou affiche un JSON invalide, la question et les options statiques question et options sont utilisées comme solution de repli. Cela est utile pour les requêtes qui ne devraient apparaître que sous certaines conditions - par exemple, une option « ne plus demander pour cette session » qui écrit un fichier marqueur et renvoie { "skip": true } lors des tours suivants.

Nommage et emplacement des fichiers

  • Emplacement : .kiro/hooks/ à la racine de votre projet
  • Nommage : Tout nom de fichier .json fonctionne - utilisez des noms descriptifs en kebab-case (p. ex. lint-on-save.json, guard-writes.json)
  • Plusieurs Hooks par fichier : Un seul fichier peut définir plusieurs Hooks dans le tableau hooks
  • Activation : Les Hooks s'activent automatiquement au démarrage d'une session - aucun enregistrement manuel n'est nécessaire

Configuration des Hooks

Cliquez sur le bouton + dans la section Agent Hooks du panneau Kiro et sélectionnez Ask Kiro to create a hook. Décrivez ce que vous souhaitez en langage naturel - par exemple, « exécuter les tests après chaque enregistrement de fichier » - et Kiro génère la configuration du Hook par la conversation.

Le Hook obtenu est enregistré sous forme de fichier JSON dans .kiro/hooks/.

Versions antérieures

Le format .kiro/hooks/*.json a été introduit dans IDE 1.0 et CLI 3.0. Si vous effectuez une mise à niveau à partir d'une version antérieure :

  • Depuis IDE 0.x - Les Hooks sont passés du format précédent à des fichiers JSON autonomes avec des noms de déclencheurs en PascalCase. Consultez What's new in IDE 1.0: Hooks pour la correspondance des déclencheurs.
  • Depuis CLI 2.x - Les Hooks sont passés de champs intégrés dans la configuration de l'agent à des fichiers autonomes. Exécutez kiro-cli agent migrate pour une conversion automatique, ou consultez CLI 3.0 Hooks migration pour la correspondance manuelle.

Prochaines étapes

  • Hook Triggers - Types de déclencheurs et leurs cas d'utilisation
  • Hook Actions - Détails des actions de commande et d'agent
  • Management - Organisez, modifiez et entretenez les Hooks
  • Best Practices - Modèles pour une conception efficace des Hooks
  • Examples - Modèles que vous pouvez utiliser
  • Troubleshooting - Problèmes courants et solutions
Page mise à jour : 11 août 2026
Steering
Déclencheurs de Hook