terminal-integration

Par elophanto · elophanto

Émulation de terminal, optimisation du rendu de texte et intégration SwiftTerm pour les applications Swift modernes sur les plateformes Apple. Adapté de msitarzewski/agency-agents.

npx skills add https://github.com/elophanto/elophanto --skill terminal-integration

Déclencheurs

  • Émulation de terminal
  • SwiftTerm
  • Rendu de terminal
  • Séquences d'échappement ANSI
  • VT100
  • Intégration terminale
  • Terminal SSH
  • Performance du terminal
  • Tampon de défilement
  • Accessibilité du terminal
  • Thématisation du terminal
  • Gestion des entrées terminales
  • Terminal iOS
  • Terminal macOS
  • Terminal visionOS

Instructions

Émulation de terminal

  • Implémenter un support complet des séquences d'échappement ANSI VT100/xterm, le contrôle du curseur et la gestion de l'état du terminal.
  • Supporter UTF-8 et Unicode avec rendu approprié des caractères internationaux et des emojis.
  • Gérer les modes terminaux : mode brut, mode cuit et comportement spécifique à l'application.
  • Implémenter une gestion efficace du tampon de défilement pour les historiques de terminal volumineux avec capacités de recherche.

Intégration SwiftTerm

  • Intégrer les vues SwiftTerm dans les applications SwiftUI avec gestion appropriée du cycle de vie.
  • Traiter le traitement des entrées clavier, les combinaisons de touches spéciales et les opérations de collage.
  • Implémenter la gestion de la sélection de texte, l'intégration du presse-papiers et le support d'accessibilité.
  • Configurer le rendu de police, les jeux de couleurs, les styles de curseur et la gestion des thèmes.

Optimisation des performances

  • Optimiser le rendu de texte Core Graphics pour un défilement fluide et des mises à jour de texte à haute fréquence.
  • Implémenter une gestion efficace du tampon pour les sessions terminales volumineuses sans fuite mémoire.
  • Utiliser un traitement approprié en arrière-plan pour les I/O terminales sans bloquer les mises à jour d'interface utilisateur.
  • Optimiser les cycles de rendu et réduire l'utilisation du CPU pendant les périodes d'inactivité pour l'efficacité énergétique.

Modèles d'intégration SSH

  • Relier efficacement les flux SSH aux entrées/sorties de l'émulateur de terminal.
  • Gérer le comportement du terminal lors de la connexion, la déconnexion et les scénarios de reconnexion.
  • Afficher les erreurs de connexion, les échecs d'authentification et les problèmes réseau dans le terminal.
  • Gérer plusieurs sessions terminales, la gestion des fenêtres et la persistance de l'état.

Capacités techniques

  • Maîtrise et personnalisation de l'API SwiftTerm.
  • Spécifications de protocole terminal et cas limites.
  • Support VoiceOver, type dynamique et intégration de technologie d'assistance.
  • Considérations multi-plateformes pour le rendu terminal iOS, macOS et visionOS.

Technologies clés

  • Principal : Bibliothèque SwiftTerm (licence MIT)
  • Rendu : Core Graphics, Core Text
  • Systèmes d'entrée : Gestion des entrées UIKit/AppKit et traitement des événements
  • Réseau : Intégration avec les bibliothèques SSH (SwiftNIO SSH, NMSSH)

Livrables

  • Émulateur de terminal basé sur SwiftTerm avec support complet VT100/xterm
  • Couche d'intégration SwiftUI avec gestion appropriée du cycle de vie
  • Pontage de flux SSH pour les sessions terminales distantes
  • Moteur de thèmes pour la personnalisation des polices, jeux de couleurs et curseur
  • Pipeline de rendu optimisé en performance pour les mises à jour haute fréquence
  • Intégration d'accessibilité (VoiceOver, type dynamique)
  • Système de gestion multi-sessions terminales

Métriques de succès

  • Couverture complète des séquences d'échappement ANSI pour les normes VT100/xterm
  • Défilement fluide à 60 fps lors de la sortie texte haute fréquence
  • Zéro fuite mémoire pendant les sessions terminales prolongées
  • Entrée clavier réactive sans latence perceptible
  • Compatibilité VoiceOver pour tout le contenu du terminal
  • Support multi-plateforme pour iOS, macOS et visionOS

Vérification

  • L'agent/outil/canal destinataire a bien reçu le message ; un accusé, un identifiant de message ou une charge utile de réponse est capturé
  • L'identité, les scopes et les permissions utilisés par l'appel étaient le minimum requis ; les tokens sur-permissionnés sont signalés
  • La gestion des défaillances a été exercée : au moins un chemin de relance/délai d'expiration/accès refusé est montré comme fonctionnant comme prévu
  • Le contexte transmis à l'acteur suivant est suffisamment complet pour que le destinataire puisse agir sans question de suivi
  • Tout état muté (config, mémoire, queue, fichier) est listé avec des valeurs avant/après, pas simplement « mis à jour »
  • Le matériel sensible (clés, tokens, informations personnelles) a été supprimé des logs/transcriptions partagés dans les éléments de preuve de vérification

Skills similaires