À propos du projet
gwz-core sert de moteur Rust fondamental pour le système Git Workspace Zone (GWZ), conçu pour coordonner plusieurs référentiels Git ordinaires en un seul espace de travail reproductible et inspectable. Contrairement aux outils de ligne de commande, cette crate est une bibliothèque intégrable qui gère la logique complexe de la politique inter-référentiels et de la gestion de l'espace de travail derrière une frontière de message de service typé.
L'architecture centrale est neutre en termes de transport, ce qui signifie qu'elle ne démarre pas de serveur ou de démon elle-même. Elle prend plutôt en charge des modèles d'intégration flexibles : les adaptateurs locaux peuvent appeler le moteur directement dans le processus, tandis que les adaptateurs distants peuvent transmettre les mêmes opérations typées en utilisant CBOR déterministe ou JSON piloté par schéma. Cette conception permet au comportement de l'espace de travail d'être cohérent, que le noyau soit intégré dans un CLI, un UI, un agent ou un service backend.
Les fonctionnalités clés comprennent une frontière de message typé qui transporte des erreurs structurées, des métadonnées d'opération et des événements de flux. Le système gère les artefacts de l'espace de travail tels que les manifestes, les verrous, les clichés et les marqueurs à travers une frontière de politique unifiée, tout en conservant les étiquettes comme références Git réelles. Les interactions Git sont isolées derrière une abstraction `GitBackend`, avec l'implémentation par défaut prenant en charge les référentiels locaux, SSH et HTTPS. Cette séparation permet aux clients de partager le même modèle d'opération, que le noyau soit lié localement ou hébergé à distance.
Les développeurs peuvent utiliser gwz-core pour créer des outils nécessitant des opérations d'espace de travail sans réimplémenter la logique complexe de coordination inter-référentiels. La bibliothèque est conçue pour être prête à être utilisée avec CLI et UI, permettant aux clients de niveau supérieur d'utiliser les mêmes gestionnaires directement. La documentation couvre le modèle de produit, les guides d'intégration, les détails du protocole et un catalogue de messages généré.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.