chore(typo): retire tous les tirets cadratins/demi-cadratins + garde CI
Some checks failed
CI / Build & test (Node 24) (push) Has been cancelled
CI / Pack & boot smoke (Node 22) (push) Has been cancelled
CI / No em/en dashes (push) Has been cancelled
CI / Build & test (Node 22) (push) Has been cancelled
Deploy site (production) / build-and-deploy (push) Successful in 20s

Remplace les 547 tirets cadratins (U+2014) et demi-cadratins (U+2013) des fichiers versionnés par la ponctuation contextuelle adaptée (point médian, deux-points, virgule, parenthèses ; tiret simple pour les plages), sur 122 fichiers (appli, vitrine, doc, tests, workflows, scripts).

Ajoute le job CI « lint-dashes » (git grep -P) qui échoue si un tiret cadratin/demi-cadratin réapparaît, hors logo binaire et captures brutes du terminal (fidélité des fixtures de détection de dialogue).
This commit is contained in:
2026-07-17 16:44:00 +02:00
parent 985531a986
commit 65ef616867
122 changed files with 538 additions and 521 deletions

View File

@@ -1,6 +1,6 @@
# Spike S5 Extension VSCode (intégration native) ÉTUDE : ✅ GO (phasé)
# Spike S5 · Extension VSCode (intégration native) · ÉTUDE : ✅ GO (phasé)
> **✅ IMPLÉMENTÉ** dans `packages/vscode` (`git-arboretum`, privé) phases A→D livrées : connexion +
> **✅ IMPLÉMENTÉ** dans `packages/vscode` (`git-arboretum`, privé) : phases A→D livrées : connexion +
> auth SecretStorage, arbres temps réel (Repos/Groups), terminaux natifs `Pseudoterminal`, status bar +
> notifications `waiting` (commande `answer`), mutations git, conscience du workspace. Bundle esbuild
> (shared inliné), packagé en VSIX (`npm run build:vscode` puis `vsce package --no-dependencies`).
@@ -9,7 +9,7 @@
Étude de conception (pas de mesure Go/No-Go : c'est un design + plan d'implémentation phasé). Objectif
validé avec l'utilisateur : **une vraie intégration native dans VSCode, pas un simple webview** une
validé avec l'utilisateur : **une vraie intégration native dans VSCode, pas un simple webview** : une
connexion réelle avec ce qui se passe dans l'éditeur (terminaux natifs, arbre, statut, notifications,
conscience du workspace).
@@ -35,7 +35,7 @@ de VSCode ». Le webview (iframe du dashboard) reste un *fallback* optionnel ; c
- Une intégration native réutilise le **rendu terminal, le scrollback, le copier/coller, les liens** de
VSCode (gratuitement robustes), et place Arboretum là où l'utilisateur travaille déjà.
## Architecture proposée `packages/vscode`
## Architecture proposée · `packages/vscode`
Nouveau workspace privé `@arboretum/vscode`, extension TypeScript, packagée en **VSIX** via `vsce`
(build `esbuild`). Le `@arboretum/shared` est résolu en dev par le symlink workspace et **inliné** au
@@ -92,21 +92,21 @@ restent **synchronisés** avec le serveur par construction.
7. **Webview** : seulement en *option* (vue dashboard complète pour qui la veut). UX primaire = native.
## Découpage phasé (livrable séparé non implémenté dans ce lot)
## Découpage phasé (livrable séparé, non implémenté dans ce lot)
- **A Lecture & connexion** : auth (SecretStorage) + client REST/WS + TreeView lecture seule
- **A · Lecture & connexion** : auth (SecretStorage) + client REST/WS + TreeView lecture seule
(repos/worktrees/sessions/groupes) en temps réel. *Valeur immédiate, risque faible.*
- **B Terminaux natifs** : `Pseudoterminal` attach/observe via pont WS réutilisant `@arboretum/shared`
- **B · Terminaux natifs** : `Pseudoterminal` attach/observe via pont WS réutilisant `@arboretum/shared`
(flow-control inclus). *Le cœur de la valeur ; à faire juste après A.*
- **C Actions & supervision** : mutations (créer worktree, commit/push/promote, start/hide), status
- **C · Actions & supervision** : mutations (créer worktree, commit/push/promote, start/hide), status
bar `waiting`, notifications + commande `answer`.
- **D Workspace-aware** : mapping dossier ↔ repo/worktree + actions contextuelles.
- **D · Workspace-aware** : mapping dossier ↔ repo/worktree + actions contextuelles.
## Intégration monorepo & packaging
- `packages/vscode/` : `package.json` d'extension (`engines.vscode`, `activationEvents`,
`contributes.{commands,views,viewsContainers,configuration}`), build `esbuild` (bundle Node), test via
`@vscode/test-electron` (optionnel). Publication : VSIX (`vsce package`) — le registre privé Gitea ne
`@vscode/test-electron` (optionnel). Publication : VSIX (`vsce package`). Le registre privé Gitea ne
sert pas d'extensions VSCode, donc distribution par VSIX (et/ou Open VSX) plutôt que le Marketplace si
l'on veut rester privé.
- Le `tsconfig` reste hors du `tsc -b` server/shared actuel (build séparé) pour ne pas alourdir le