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
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
Créez votre première application
Référence du manifeste
Référence SDK / API
Publication et lignes directrices
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. Crew
  3. Applications
  4. Créez votre première application
Afficher en Markdown

Créez votre première application

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

Créez, installez et exécutez votre première application Crew en environ cinq minutes. Nous allons créer une application avec un manifeste, un agent, un skill et une simple page d'interface utilisateur de tableau de bord.

Prérequis

  • Crew installé et en cours d'exécution (kirocrew gateway)
  • Node.js 18+ (pour les applications avec interface utilisateur)

1. Créez un répertoire d'application

my-dashboard/ ├── app.json ← manifest (required) ├── agents/ │ └── sample-agent.json ← agent definition ├── skills/ │ └── sample-skill/ │ └── SKILL.md ← skill knowledge file ├── ui/ ← frontend (if app has UI) │ ├── package.json │ ├── vite.config.ts │ ├── src/App.tsx │ └── .gitignore └── README.md

2. Rédigez app.json

Chaque application a besoin d'un app.json à la racine du dépôt. C'est la source unique de vérité pour l'identité, les ressources et la fiche du magasin.

json
{ "name": "my-dashboard", "version": "0.1.0", "displayName": "My Dashboard", "description": "A Crew app: My Dashboard", "author": "yourname", "agents": ["agents/sample-agent.json"], "skills": ["skills/sample-skill"], "ui": { "entry": "dist/index.mjs", "pages": [ { "route": "/apps/my-dashboard", "label": "My Dashboard", "icon": "Package" } ] }, "permissions": { "api": ["/api/crons", "/api/status"], "events": ["notification"] } }

Consultez la référence du manifeste pour tous les champs.

3. Rédigez la page d'interface utilisateur

ui/src/App.tsx est le point d'entrée React de votre application. C'est un composant React standard qui utilise les hooks @kirocrew/app-sdk et des composants d'interface utilisateur partagés.

tsx
import { useAppApi, useAppEvents } from '@kirocrew/app-sdk' import { Card, CardTitle, PageHeader, StatCard } from '@kirocrew/app-sdk/ui' import { useState, useEffect } from 'react' export default function MyDashboard() { const api = useAppApi() const [data, setData] = useState(null) useEffect(() => { api.get('/api/status').then(setData) }, []) useAppEvents('notification', (event) => { console.log('New notification:', event) }) return ( <> <PageHeader title="My Dashboard" subtitle="Custom app page" /> <div className="px-6 pb-8 overflow-y-auto flex-1 min-h-0"> <div className="grid gap-3.5 grid-cols-[repeat(auto-fit,minmax(150px,1fr))] mb-6"> <StatCard label="Status" value={data ? 'Online' : '...'} accent /> </div> <Card> <CardTitle>Content</CardTitle> <p className="text-sm text-muted">Your app content here.</p> </Card> </div> </> ) }
Astuce

Vous n'exécutez pas npm install @kirocrew/app-sdk. L'hôte du tableau de bord le fournit (ainsi que React, ReactDOM, lucide-react) à l'exécution via sa carte d'importation. Le spécificateur nu @kirocrew/app-sdk se résout vers la copie fournie par l'hôte via window.__kirocrew_modules.

Cela garantit que votre application partage exactement l'instance React de l'hôte (afin que les hooks fonctionnent) et reste un petit paquet. Marquez-les comme externes dans votre build (ne les regroupez pas).

4. Rédigez l'agent

agents/sample-agent.json :

json
{ "name": "my-agent", "model": "auto", "description": "Analyzes data and generates reports", "prompt": "You are a data analyst assistant.", "tools": ["@kirocrew-core"] }

La référence d'outil @kirocrew-core indique à Crew d'inclure le serveur MCP principal (spawn, learn, task, wait, register hook, send message).

5. Rédigez le skill

skills/sample-skill/SKILL.md :

markdown
--- name: sample-skill description: A sample skill that teaches the agent about my domain. triggers: [sample, domain] always: false --- # Sample skill When the user asks about the sample domain: 1. Do the domain-specific first thing 2. Then check for the domain-specific second thing 3. Return the result in the standard format

La liste triggers correspond aux mots du message de l'utilisateur. Lorsqu'un déclencheur apparaît dans un message, le corps du skill est chargé pour ce tour.

6. Compilez l'interface utilisateur

bash
cd my-dashboard/ui npm install npm run build

Cela produit dist/index.mjs — le paquet ESM chargé par le tableau de bord.

Votre vite.config.ts doit marquer React, ReactDOM, lucide-react et @kirocrew/app-sdk comme externes :

ts
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], build: { lib: { entry: 'src/App.tsx', formats: ['es'], fileName: 'index', }, rollupOptions: { external: ['react', 'react-dom', 'react/jsx-runtime', 'lucide-react', /^@kirocrew\/app-sdk/], }, }, })

7. Installez et activez

bash
# Install via REST API curl -X POST http://localhost:5476/api/apps/install \ -H 'Content-Type: application/json' \ -d '{"source": "./my-dashboard"}' # Enable curl -X POST http://localhost:5476/api/apps/my-dashboard/enable

Ou utilisez l'interface utilisateur de l'App Store dans le tableau de bord → Installer depuis un chemin local.

Votre application apparaît dans la barre latérale du tableau de bord Crew.

8. Itérez

Activez le mode développement :

bash
kirocrew app dev my-dashboard

Maintenant, le flux de travail est le suivant :

  1. Modifiez ui/src/App.tsx
  2. cd ui && npm run build
  3. Le tableau de bord se recharge à chaud automatiquement (le mode développement surveille ui/ et diffuse un événement WebSocket app_reload à chaque changement)

Les changements d'agent et de skill prennent effet dès la prochaine invocation de l'agent — aucune recompilation n'est nécessaire.

Pour une itération plus rapide, créez un lien symbolique vers votre arborescence source afin que les changements de fichiers apparaissent directement :

bash
ln -sfn /path/to/my-dashboard/ui ~/.kiro/crew/apps/my-dashboard/ui

Ajout d'un backend

Si votre application a besoin de son propre serveur HTTP :

json
{ "backend": { "entryPoint": "backend/server.py", "port": "auto", "healthCheck": "/health", "routes": "/api/apps/my-dashboard", "type": "python" } }

La passerelle lance votre backend comme sous-processus, fait un proxy inverse de /apps/my-dashboard/api/* vers celui-ci, et signe chaque requête proxifiée avec un en-tête HMAC. Votre backend vérifie la signature à l'aide de kirocrew-client :

python
from kirocrew_client import verify_proxy_request if not verify_proxy_request(request, 'my-dashboard'): return Response(status=401)

La signature porte sur timestamp:method:/api/path[?query]:sha256(body) avec le secret de l'application comme clé. Les horodatages doivent se situer à ±60 s de l'heure actuelle.

Ajout d'une tâche cron

Déclarez-la dans le manifeste :

json
{ "crons": [ { "name": "daily-check", "cron_expr": "0 9 * * 1-5", "message": "Run the daily check for my-dashboard", "agent": "my-agent" } ] }

Crew enregistre la tâche cron à l'activation et la désenregistre à la désactivation. Elle appartient à created_by='app:my-dashboard' dans le registre.

Ajout d'un hook de cycle de vie

Pour les étapes de compilation au moment de l'installation :

json
{ "setup": { "onInstall": "cd ui && npm install && npm run build", "onUpdate": "cd ui && npm install && npm run build" } }

Les scripts s'exécutent avec set -euo pipefail, NONINTERACTIVE=1, et un environnement minimal. Ils doivent se terminer par le code 0 en cas de succès.

Hooks de l'App SDK

Disponibles dans @kirocrew/app-sdk :

HookPurpose
useAppApi()Client HTTP à portée limitée par permission (GET/POST/PUT/PATCH/DELETE)
useAppEvents(event, cb)S'abonner aux événements WebSocket en temps réel
useTheme()Thème réactif (mode, accent, colorTheme)
useAppInfo()Métadonnées de l'application (nom, version, permissions)
useNavigate()Naviguer vers les routes Crew
useNotify()Afficher des notifications toast
useNavBadge()Mettre à jour le compte du badge de la barre latérale
useChatLauncher()Naviguer vers le clavardage avec un agent et un message optionnels

Composants d'interface utilisateur partagés

Disponibles dans @kirocrew/app-sdk/ui :

Card, CardTitle, Btn, SendBtn, Input, SearchInput, Badge, AimBadge, StatCard, Skeleton, ContentSkeleton, EmptyState, PageHeader, Toggle, InfoTip, SegmentedControl, MarkdownRenderer.

Page mise à jour : 11 août 2026
Applications
Référence du manifeste