GaoSSR/Kiri : un CLI Rust pour la gestion des ports de développement locaux
Voyez à travers le brouillard des ports de développement local. Plateforme de support de plateforme | Statut | - | - | MacOS arm64/x64 | Pris en charge | Linuxx64 | Pris en charge | Windowsx64 | Pris en charge | Linux arm64 / Windows arm64 | Prévu | Sous MacOS, Kiri utilise lsof, ps, tail, les commandes de journal MacOS et les métadonnées Docker facultatives.
En bref
- De quoi s’agit-il ?
- Kiri est un outil en ligne de commande qui montre quels services locaux sont en cours d'exécution, quels ports ils utilisent, et permet de gérer le processus derrière un port.
- À qui s’adresse-t-il ?
- Kiri regroupe le flux de travail des ports de développement locaux dans une seule commande : lister les services, identifier les processus, suivre les journaux et tuer le processus derrière un port. Le README documente la prise en charge actuelle des plateformes MacOS arm64/x64, Linux x64 et Windows x64, avec Linux arm64 et Windows arm64 encore prévus.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 32 jours.
- En quel langage est-il écrit ?
- Principalement Rust, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
La vue en une commande des ports de développement locaux
Kiri est un outil en ligne de commande écrit en Rust pour gérer les ports de développement locaux. Sa commande principale est `ports`, qui affiche un aperçu ciblé des services de développement locaux : le port, le processus, le PID, l'utilisation de la mémoire, le nom du projet, le framework détecté, la durée de fonctionnement et l'état de santé. Le README décrit Kiri comme performant et indique qu'il aide à voir rapidement quels services locaux sont en cours d'exécution, quels ports ils utilisent et à traiter le processus derrière un port si nécessaire.
La gamme de commandes
Le README documente un ensemble de commandes autour du binaire `ports`. `ports` liste les services de développement locaux et leurs ports ; `ports --all` affiche tous les ports en écoute ; `ports <port>` affiche les détails d'un port. `ports ps` affiche les processus d'arrière-plan de développement qui n'écoutent pas nécessairement sur un port, comme les processus de serveur MCP lancés par Codex, Claude Code ou d'autres outils de codage IA, et `ports ps --all` affiche tous les processus. `ports kill <port>` tue le processus derrière un port, prend en charge une plage comme `ports kill 3000-3010` et accepte `--force` pour utiliser SIGKILL au lieu de SIGTERM. `ports logs <port|pid>` affiche les journaux récents et se termine, avec `-f` pour suivre, `--lines` pour limiter la sortie et `--err` pour seulement stderr. Il existe aussi `ports clean`, qui demande avant de nettoyer les processus de développement orphelins ou zombies, et `ports watch`, qui diffuse les événements de démarrage et d'arrêt des ports.
Étiquettes de statut pour les processus
Le tableau `ports` utilise trois étiquettes de statut. `healthy` signifie que le processus est en cours d'exécution et a toujours un processus parent normal. `orphaned` signifie que le processus est toujours vivant et peut encore écouter sur un port, mais le processus parent qui l'a lancé est sorti ; le README précise qu'il s'agit d'un processus orphelin et non d'un zombie. `zombie` signifie que le processus est sorti mais que le système d'exploitation conserve un enregistrement de processus résiduel qui n'a pas été récupéré par son parent. En pratique, `orphaned` signifie que le processus tourne encore mais que son lanceur d'origine, comme un terminal, une tâche IDE, un exécuteur de script, une session Codex ou une session Claude Code, a disparu.
Prise en charge des plateformes et dépendances système
Kiri prend en charge MacOS arm64/x64, Linux x64 et Windows x64 ; Linux arm64 et Windows arm64 sont prévus. Sur MacOS, Kiri utilise `lsof`, `ps`, `tail`, les commandes `log` de MacOS et des métadonnées Docker facultatives. Sur Linux, il utilise `ss`, `ps`, `/proc` et des métadonnées Docker facultatives. Sur Windows, il utilise PowerShell/CIM et `Get-NetTCPConnection`, avec les répertoires de travail des processus déduits au mieux des chemins d'exécutables. Docker est facultatif ; si Docker n'est pas disponible ou si aucun conteneur ne tourne, Kiri continue sans mappages Docker.
Sortie des journaux et formatage du terminal
`ports logs` ajoute des couleurs ANSI pour les formats de journaux de développement courants, notamment les journaux Java, Python, Go, Node.js, logfmt et JSON, en colorant les horodatages, les niveaux de journalisation, les identifiants de processus, les identifiants de trace, les classes sources, les valeurs HTTP et les champs structurés. Le tableau `ports` par défaut rend intentionnellement le logo ASCII Kiri et la sortie terminal ANSI et inclut une colonne `Mem`. Pour les services démarrés via un terminal, le README recommande un journal stable adossé à un fichier tel que `.dev-logs/service.log` afin que `ports logs <port|pid> -f` puisse suivre la sortie d'un autre processus.
Installation · gaossr kiri
Kiri fournit des artefacts de version précompilés pour MacOS, Linux x64 et Windows x64. Le README documente trois voies d'installation : npm avec `npm install -g @gaossr/kiri@latest`, Homebrew sur MacOS avec `brew install gaossr/tap/kiri`, et les scripts d'installation des versions GitHub. Le script MacOS/Linux est `curl -fsSL https://raw.githubusercontent.com/GaoSSR/Kiri/main/scripts/install.sh | bash` ; les utilisateurs Windows exécutent `irm https://raw.githubusercontent.com/GaoSSR/Kiri/main/scripts/install.ps1 | iex` dans PowerShell. Le README recommande Homebrew sur MacOS et indique que npm et les scripts d'installation utilisent des binaires natifs précompilés et ne compilent pas Rust localement.
Commandes de développement et licence
Pour les mainteneurs et les contributeurs, le README liste les commandes à exécuter à partir des sources : `cargo fmt`, `cargo test`, `cargo clippy --all-targets -- -D warnings`, `cargo build --release --bin ports`, `scripts/perf-smoke.sh`, `scripts/verify-release.sh v0.1.24`, ainsi que `cargo run --bin ports` et ses variantes. Kiri est sous licence Apache-2.0. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite, sans redevance et irrévocable pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter publiquement, sous-licencier et distribuer l'œuvre et les œuvres dérivées. Le texte de la licence ne traite pas du support de sécurité, de la garantie ou des garanties de performance.
Conclusion éditoriale
Kiri regroupe le flux de travail des ports de développement locaux dans une seule commande : lister les services, identifier les processus, suivre les journaux et tuer le processus derrière un port. Le README documente la prise en charge actuelle des plateformes MacOS arm64/x64, Linux x64 et Windows x64, avec Linux arm64 et Windows arm64 encore prévus.
Notes de la communauté