Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Plan de modernisation des applications
Objectif
Faire évoluer l’application vers un produit plus propre, plus rapide et plus maintenable sans rompre les flux de travail actuels ni dissimuler les risques dans de vastes refactorisations. Le travail doit être livré en petites tranches révisables, avec des preuves pour chaque surface touchée.Principes
- Préserver l’architecture actuelle, sauf si une frontière provoque de façon démontrable de la friction, un coût de performance ou des bugs visibles pour l’utilisateur.
- Préférer le plus petit correctif correct pour chaque problème, puis répéter.
- Séparer les correctifs requis des améliorations facultatives afin que les mainteneurs puissent livrer un travail à forte valeur sans attendre des décisions subjectives.
- Conserver un comportement orienté Plugin documenté et rétrocompatible.
- Vérifier le comportement livré, les contrats de dépendance et les tests avant d’affirmer qu’une régression est corrigée.
- Améliorer d’abord le chemin utilisateur principal : onboarding, authentification, chat, configuration des fournisseurs, gestion des plugins et diagnostics.
Phase 1 : Audit de référence
Inventorier l’application actuelle avant de la modifier.- Identifier les principaux flux de travail utilisateur et les surfaces de code qui en sont responsables.
- Lister les affordances mortes, les paramètres dupliqués, les états d’erreur peu clairs et les chemins de rendu coûteux.
- Capturer les commandes de validation actuelles pour chaque surface.
- Marquer les problèmes comme requis, recommandés ou facultatifs.
- Documenter les blocages connus qui nécessitent une revue du responsable, en particulier pour les changements d’API, de sécurité, de publication et de contrat de Plugin.
- Une seule liste de problèmes avec des références de fichiers à la racine du dépôt.
- Chaque problème comporte une gravité, une surface propriétaire, l’impact utilisateur attendu et un chemin de validation proposé.
- Aucun élément de nettoyage spéculatif n’est mélangé aux correctifs requis.
Phase 2 : Nettoyage produit et UX
Prioriser les flux visibles et supprimer la confusion.- Affiner les textes d’onboarding et les états vides autour de l’authentification des modèles, de l’état de la Gateway et de la configuration des plugins.
- Supprimer ou désactiver les affordances mortes lorsqu’aucune action n’est possible.
- Garder les actions importantes visibles sur les largeurs responsives au lieu de les cacher derrière des hypothèses de mise en page fragiles.
- Consolider le langage d’état répété afin que les erreurs aient une seule source de vérité.
- Ajouter une divulgation progressive pour les paramètres avancés tout en gardant une configuration de base rapide.
- Parcours manuel du chemin nominal pour la configuration au premier lancement et le démarrage d’un utilisateur existant.
- Tests ciblés pour toute logique de routage, de persistance de configuration ou de dérivation d’état.
- Captures d’écran du navigateur pour les surfaces responsives modifiées.
Phase 3 : Renforcement de l’architecture frontend
Améliorer la maintenabilité sans réécriture générale.- Déplacer les transformations répétées d’état UI dans des helpers typés et étroits.
- Garder séparées les responsabilités de récupération des données, de persistance et de présentation.
- Préférer les hooks, stores et modèles de composants existants plutôt que de nouvelles abstractions.
- Scinder les composants surdimensionnés uniquement lorsque cela réduit le couplage ou clarifie les tests.
- Éviter d’introduire un état global étendu pour des interactions locales de panneau.
- Ne pas modifier le comportement public comme effet de bord d’un découpage de fichier.
- Préserver le comportement d’accessibilité pour les menus, boîtes de dialogue, onglets et la navigation au clavier.
- Vérifier que les états de chargement, vide, erreur et optimiste s’affichent toujours.
Phase 4 : Performance et fiabilité
Cibler la douleur mesurée plutôt qu’une optimisation théorique générale.- Mesurer les coûts du démarrage, des transitions de route, des grandes listes et des transcriptions de chat.
- Remplacer les données dérivées coûteuses répétées par des sélecteurs mémoïsés ou des helpers mis en cache lorsque le profilage prouve leur valeur.
- Réduire les scans réseau ou système de fichiers évitables sur les chemins critiques.
- Conserver un ordre déterministe pour les entrées de prompt, de registre, de fichiers, de plugins et de réseau avant la construction de la charge utile du modèle.
- Ajouter des tests de régression légers pour les helpers critiques et les frontières de contrat.
- Chaque changement de performance enregistre la référence, l’impact attendu, l’impact réel et l’écart restant.
- Aucun correctif de performance n’est livré sur la seule intuition lorsqu’une mesure peu coûteuse est disponible.
Phase 5 : Renforcement des types, contrats et tests
Renforcer la justesse aux points de frontière dont dépendent les utilisateurs et les auteurs de plugins.- Remplacer les chaînes d’exécution vagues par des unions discriminées ou des listes de codes fermées.
- Valider les entrées externes avec les helpers de schéma existants ou zod.
- Ajouter des tests de contrat autour des manifestes de plugins, des catalogues de fournisseurs, des messages du protocole Gateway et du comportement de migration de configuration.
- Conserver les chemins de compatibilité dans les flux doctor ou de réparation au lieu de migrations cachées au démarrage.
- Éviter le couplage des tests uniquement aux internes des plugins ; utiliser les façades SDK et les barrels documentés.
pnpm check:changed- Tests ciblés pour chaque frontière modifiée.
pnpm buildlorsque les frontières paresseuses, le packaging ou les surfaces publiées changent.
Phase 6 : Documentation et préparation de la publication
Garder la documentation orientée utilisateur alignée sur le comportement.- Mettre à jour la documentation avec les changements de comportement, d’API, de configuration, d’onboarding ou de Plugin.
- Ajouter des entrées de changelog uniquement pour les changements visibles par l’utilisateur.
- Conserver une terminologie Plugin orientée utilisateur ; n’utiliser les noms de packages internes que lorsque c’est nécessaire pour les contributeurs.
- Confirmer que les instructions de publication et d’installation correspondent toujours à la surface de commande actuelle.
- La documentation pertinente est mise à jour dans la même branche que les changements de comportement.
- Les vérifications de dérive de documentation générée ou d’API passent lorsqu’elles sont touchées.
- La transmission nomme toute validation ignorée et pourquoi elle a été ignorée.
Première tranche recommandée
Commencer par une passe ciblée sur l’interface utilisateur de contrôle et l’onboarding :- Auditer les surfaces de configuration au premier lancement, de préparation de l’authentification du fournisseur, d’état de la Gateway et de configuration des plugins.
- Supprimer les actions mortes et clarifier les états d’échec.
- Ajouter ou mettre à jour des tests ciblés pour la dérivation d’état et la persistance de configuration.
- Exécuter
pnpm check:changed.
Mise à jour de la skill frontend
Utilisez cette section pour mettre à jour leSKILL.md orienté frontend fourni avec la tâche de modernisation. Si vous adoptez cette directive comme une skill OpenClaw locale au dépôt, créez d’abord .agents/skills/openclaw-frontend/SKILL.md, conservez le frontmatter qui appartient à cette skill cible, puis ajoutez ou remplacez les directives du corps par le contenu suivant.