Chargement de l'image...Kiro

Produit

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

Pour

  • Entreprise
  • Startups
  • Étudiants

Communauté

  • Aperçu
  • Ambassadeurs
  • Études de cas
  • 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
  • Agents
  • Entreprise
  • Tarification
  • Docs
SE CONNECTERTÉLÉCHARGER
Chargement de l'image...Kiro

Pour commencer

InstallationAuthentificationVotre premier projet

Modèles

AperçuModèles disponiblesEffort de raisonnementModèles AWS GovCloud (US)

Fonctionnalités

Comment fonctionne KiroIntégrations ACP
Specs
Steering
Hooks
Déclencheurs de Hook
Actions des hooks
Exemples
Gestion
Meilleures pratiques
Dépannage
MCP
Autorisations
Agents personnalisés
Workflows
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 V3
Configuration et première exécution
Interface utilisateur du terminal
Clavardage
Mode plein écranMode vocalMode sans interfaceACPAutocomplétion
Expérimental
Référence 2.x

Crew

Démarrage rapideInstallationFonctionnement 24/7
Chat
Agent Capabilities
Fonctionnalités
Interfaces
Applications
Système et stockageConfigurationSécuritéDépannage

Web

Configuration et première exécutionIdentity Center
Connectez vos dépôts
Utilisation de l'agent
Mode autonomeAutomatisationsMémoireSynchronisation de la configuration
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é
Options de déploiementAbonnez 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 - l'agent modifie un fichier, invoque un outil ou termine une tâche. Vous définissez le déclencheur et l'action; Kiro se charge de l'exécution.

CapacitéIDECLIWebMobile
Hooks basés sur des événements✓✓✓—
Actions de commande shell✓✓✓—
Actions de requête d'agent✓✓✓—
Créer des Hooks en le demandant à l'agent dans le 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 après les modifications de fichiers par l'agent
  • Encadrer les opérations dangereuses - bloquez l'exécution d'un outil à moins que les conditions préalables ne soient respectées (PreToolUse)
  • Générer des fichiers complémentaires - créez automatiquement des tests, de la documentation ou des traductions lorsque de nouveaux fichiers source apparaissent
  • Valider avant le 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 l'agent enregistre ou modifie 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 la session via STDIN. Consultez Actions de Hook pour en savoir plus sur la façon dont les commandes reçoivent les données d'événement.

Comment fonctionnent les Hooks

Les configurations de Hook 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 la session en JSON sur 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 déclencheIDECLIWebPeut bloquer?
Prompt SubmitLorsqu'un message est envoyé à l'agent✓✓—Oui
Agent StopLorsque l'agent termine sa réponse✓✓—Non
Session StartLorsqu'une nouvelle session commence (IDE)✓——Non
Agent SpawnLorsque l'agent est activé (CLI)—✓—Non
Pre Tool UseAvant qu'un outil ne s'exécute✓✓—Oui
Post Tool UseAprès l'exécution d'un outil✓✓—Non
File CreateAprès que l'agent crée un nouveau fichier✓——Non
File SaveAprès que l'agent enregistre ou modifie un fichier✓——Non
File DeleteAprès que l'agent supprime un fichier✓——Non
Pre Task ExecutionAvant le début d'une tâche de spec✓——Oui
Post Task ExecutionAprès qu'une tâche de spec est terminée✓——Non
Legacy Manual HookHooks IDE 0.x hérités, exécutés manuellementHéritage seulement——Non
Info

Les déclencheurs de fichier réagissent uniquement aux modifications effectuées par l'agent. Enregistrer, créer ou supprimer un fichier manuellement dans l'éditeur ne déclenche pas PostFileSave, PostFileCreate ni PostFileDelete.

Info

Les Hooks manuels existants provenant d'IDE 0.x continuent d'apparaître comme des Hooks hérités et peuvent toujours être exécutés depuis le panneau Agent Hooks. Pour créer un nouveau flux de travail à la demande, créez plutôt un fichier Steering à inclusion manuelle.

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

Schéma de fichier 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 Hook
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 les événements qui 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 (requis 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 qu'un Hook de commande Stop ne s'exécute. Voir Requêtes de confirmation.

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, une label affichée sur le bouton et un indicateur run qui détermine 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 demander une confirmation et quoi demander, 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 sous forme de JSON :

  • { "skip": true } supprime la requête et ignore le Hook pour ce tour
  • { "question": "...", "options": [...] } remplace la question statique et les options
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 sont utilisées comme solution de repli. Cela le rend 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.

Nom 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, puis sélectionnez Ask Kiro to create a hook. Décrivez ce que vous voulez en langage naturel - par exemple, « exécuter les tests après chaque enregistrement de fichier » - et Kiro génère la configuration du Hook au fil de la conversation.

Le Hook résultant est enregistré comme fichier JSON dans .kiro/hooks/.

Versions précédentes

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éclencheur en PascalCase. Consultez Quoi de neuf dans 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 effectuer la conversion automatique, ou consultez Migration des Hooks CLI 3.0 pour la correspondance manuelle.

Prochaines étapes

  • Déclencheurs de Hook - Types de déclencheurs et leurs cas d'utilisation
  • Actions de Hook - Détails sur les actions de commande et d'agent
  • Gestion - Organisez, modifiez et maintenez les Hooks
  • Bonnes pratiques - Modèles pour une conception efficace des Hooks
  • Exemples - Modèles que vous pouvez utiliser
  • Dépannage - Problèmes courants et solutions
Page mise à jour : 2 octobre 2026
Steering
Déclencheurs de Hook