- Fix awareness state: setLocalState({ user: cursorUser }) so the default
y-prosemirror cursorBuilder reads state.user correctly
- Custom cursorBuilder: span.botsu-collab-cursor with inline borderColor,
div.botsu-collab-cursor-label with explicit color (no color:transparent
inheritance issue)
- CSS: caret 2px solid, label absolute below caret, 0.625rem, opacity 0.85
- Unwrap state.user ?? state in builder for robustness
BOTSU Collaborative Suite
Monorepo de la suite collaborative BOTSU.
Applications
apps/client: client Matrix basé sur Cinnyv4.12.6
Structure
apps/: applications déployablespackages/: bibliothèques partagées BOTSUdocs/: architecture, décisions et sécuritéinfra/: modèles de déploiement et migrations sans secretsscripts/: vérifications reproductibles du dépôt
Commandes actuelles
npm test
npm run typecheck:ui
npm run build:client
npm run typecheck:client
npm run lint:client
npm test vérifie actuellement la structure du monorepo. Le build Cinny est
vert. Les échecs hérités de typecheck:client et lint:client sont documentés
dans docs/adr/0001-development-isolation.md et ne doivent pas être masqués.
Les futurs packages BOTSU auront leurs propres gates vertes dès leur création.
La direction visuelle et ses tokens normatifs sont décrits dans DESIGN.md.
Le moteur @botsu/ui permet de régler bordures, rayon, opacité du verre, flou,
police et accent tout en conservant des valeurs sûres et accessibles.
Le premier shell applicatif est intégré à Cinny sous /botsu/. Il fournit le
catalogue Discussions/Documents/Tableaux/Fichiers/Transferts/Services, un
lanceur à origines strictes et les réglages visuels persistants. Voir
docs/architecture/application-shell.md.
Dépôts Git
origin: dépôt privé BOTSU surgit.botsu.netupstream: source officielle Cinny sur GitHub
Le développement reste isolé de la production jusqu’à validation explicite.