L'App Kit est ce qui transforme Crew en plateforme. Une application est un paquet qui contribue toute combinaison d'agents, de skills, de serveurs MCP, de tâches cron, de pages d'interface du tableau de bord ou de processus backend à Crew. Les utilisateurs installent des applications à partir de l'App Store intégré; les développeurs publient des applications en ajoutant une entrée au registre d'applications.
Cette section couvre la page d'accueil des applications, ainsi que quatre sous-pages :
app.jsonUne application peut contribuer tout sous-ensemble de ces éléments :
| Contribution | Objectif |
|---|---|
| Agents et Skills | Définitions d'agents spécialisés et instructions à la demande |
| Serveurs MCP | Nouveaux outils qu'un agent peut appeler |
| Tâches cron et tâches en arrière-plan | Travail planifié ou durable côté serveur appartenant à l'application |
| Pages d'interface | Pages d'application affichées dans le tableau de bord |
| Onglets du panneau latéral | Onglets fournis par l'application à côté d'un clavardage |
| Actions sur fichiers | Lignes dans les menus de fichiers, d'arborescence d'espace de travail et de dossiers |
| Contrôles de session | Jusqu'à deux commandes actives à côté des puces de contexte du compositeur |
| Lignes de la barre de commandes | Actions d'application disponibles depuis Cmd+K ou Ctrl+K |
| Processus backend et hooks | Services et rappels de cycle de vie gérés avec l'application |
Une application ne comportant qu'un seul Skill peut tenir en un seul fichier. Une application complète peut combiner un agent, un backend, une interface, des planifications et des intégrations de clavardage.
Une application peut démarrer, orienter et arrêter des sessions uniquement après que vous lui avez accordé cette capacité dans sa boîte de dialogue de confiance. L'autorisation est désactivée par défaut pour chaque application. Une application avec du travail planifié affiche également l'état des tâches en cours d'exécution, terminées ou échouées sur l'icône de son rail.
Ouvrez Applications → Bibliothèque pour voir les applications installées. Chaque vignette peut ouvrir, épingler, mettre à jour, désactiver ou désinstaller l'application. Créer des dossiers à partir d'un projet peut également transformer les paquets de projet sélectionnés en dossiers imbriqués dans la barre latérale.
Depuis Applications → Découvrir :
Le développement local peut s'installer via l'API ou utiliser le mode rechargement en direct :
curl -X POST http://localhost:5476/api/apps/install \ -H 'Content-Type: application/json' \ -d '{"source": "/path/to/my-app"}' kirocrew app dev my-app
| Mode | Enregistrement des ressources | Cycle de vie d'installation et de mise à jour |
|---|---|---|
resources: "gateway", lifecycle: "gateway" (par défaut) | Crew | Crew |
resources: "app", lifecycle: "app" | L'application | L'application |
lifecycle: "locked" | Crew | Intégré et non désinstallable |
Le mode géré par la passerelle est le plus simple : déclarez les ressources dans app.json et laissez Crew les réconcilier. Les applications autogérées utilisent l'API d'enregistrement à l'exécution lorsqu'un processus natif ou externe possède son propre cycle de vie.
La page Applications peut filtrer le catalogue par source et par niveau de révision. Un registre externe épinglé affiche son libellé et son niveau dans le catalogue, de sorte que l'origine et le degré de contrôle sont visibles avant toute installation.
Le registre intégré reste organisé via des pull requests vers le dépôt KiroCrew. Les équipes peuvent opter pour un registre externe pour leur propre catalogue; l'ajout d'un registre est une décision de confiance explicite, et ses applications restent soumises à la boîte de dialogue d'installation et à la politique locale.
Convertissez un plugin basé sur un manifeste provenant d'un autre environnement d'agent en application Crew. Le convertisseur lit le manifeste du paquet et copie les ressources reconnues dans un nouveau répertoire d'application sans exécuter de code provenant du paquet source :
kirocrew app import /path/to/plugin kirocrew app import /path/to/plugin --install
Le convertisseur copie les ressources reconnues dans un nouveau répertoire d'application et signale les déclarations qu'il ne peut pas mapper. Il n'importe pas ni n'exécute le code du paquet source, ignore les liens symboliques lors de la copie et refuse tout chemin déclaré qui sort de la racine du paquet. Sans --install, il affiche la commande d'installation locale pour l'application générée.
Les applications avec des processus backend sont accessibles via le proxy inverse de la passerelle à /apps/{name}/api/*. La passerelle signe chaque requête proxy avec X-Crew-Proxy: <timestamp>:<hmac-sha256> — les backends vérifient cette signature pour authentifier l'appelant comme étant la passerelle elle-même.
Cela évite les problèmes CORS pour les pages d'interface du tableau de bord et donne aux applications un moyen stable et authentifié par la passerelle de communiquer avec leur propre backend sans émettre de jetons.
Activez le mode développement pour une application installée et la passerelle :
Cache-Control: no-storeui/ de l'applicationapp_reload à chaque changement de fichierFlux de travail local recommandé :
# 1. Symlink your source tree into Crew's app directory ln -sfn /path/to/my-app-src/ui ~/.kiro/crew/apps/my-app/ui # 2. Turn on dev mode kirocrew app dev my-app # 3. Edit → save → dashboard hot-reloads
Désactivez-le lorsque vous avez terminé — le mode développement ajoute une surcharge de surveillance des fichiers.
Les applications déclarent ce à quoi elles peuvent accéder dans app.json :
{ "permissions": { "api": ["/api/crons", "/api/status"], "events": ["notification", "slots"], "mcpTools": ["cron_add", "cron_list"], "storage": true, "cron": true, "network": false } }
Les applications vivent dans des dépôts git séparés. À l'installation, Crew clone le dépôt (superficiel, branche spécifique) dans ~/.kiro/crew/app-sources/{name}/, exécute l'étape de build (npm install && npm run build pour les paquets JS/TS, pip install . pour Python), puis copie l'application dans ~/.kiro/crew/apps/{name}/.
Les liens symboliques ne sont jamais suivis lors de la copie — un lien symbolique vers l'intérieur du code source de l'application est conservé tel quel; un lien symbolique vers l'extérieur est supprimé. Les répertoires d'entrée de build et de VCS (node_modules, .git, __pycache__, .venv) sont exclus de la copie installée — committez les artefacts de build dans ui/dist/ si l'application en a besoin à l'exécution.
Contribue des agents et des skills. Pas d'interface, pas de backend. Exemple : un agent de triage des astreintes.
{ "name": "oncall-triage", "agents": ["agents/triage.json"], "skills": ["skills/ticket-analysis"] }
Agents + skills + backend + page d'interface du tableau de bord. Exemple : un tableau de bord de surveillance.
{ "name": "service-monitor", "agents": ["agents/monitor.json"], "backend": { "entryPoint": "backend/app.py" }, "ui": { "entry": "dist/index.mjs", "pages": [{ "route": "/apps/service-monitor", "label": "Monitor", "icon": "Activity" }] } }
Application externe (Electron, outil CLI, binaire natif) qui s'enregistre auprès de Crew à l'exécution. Exemple : l'animal de compagnie virtuel Mochi.
{ "name": "mochi", "resources": "app", "lifecycle": "app", "platform": { "os": ["macos"], "installMode": "client" } }
L'application appelle POST /api/apps/register au démarrage et gère ses propres ressources.
Les applications déclarent minKiroCrewVersion dans app.json. L'installation et la mise à jour vérifient cette valeur — si la version actuelle est trop ancienne, l'opération est rejetée avec un message d'erreur clair.
Applications