@paradow/ledge 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cli/{action-MAPPYLUM.js → action-CFYJM2A2.js} +4 -4
  2. package/dist/cli/{attach-OC64CLB2.js → attach-23PTEIAA.js} +9 -8
  3. package/dist/cli/{bridge-TWX4V37E.js → bridge-UJKWEKA5.js} +1 -1
  4. package/dist/cli/{chunk-RFFTWAAF.js → chunk-6YBIZZQG.js} +1 -1
  5. package/dist/cli/{chunk-TREGH6WM.js → chunk-GMG3ROBU.js} +504 -302
  6. package/dist/cli/{chunk-MZVMW356.js → chunk-HEYHVOD6.js} +2 -2
  7. package/dist/cli/{chunk-XZYQMKKO.js → chunk-HNC5Q5PV.js} +3 -3
  8. package/dist/cli/{chunk-WCBXS3EU.js → chunk-HUY4CFMX.js} +107 -15
  9. package/dist/cli/{chunk-73YNZ3BN.js → chunk-MIPE2FWL.js} +2 -1
  10. package/dist/cli/{chunk-7S7ZLGIY.js → chunk-MYIBYAZC.js} +36 -8
  11. package/dist/cli/{chunk-WIUJNSAZ.js → chunk-NXNIRIGI.js} +5 -5
  12. package/dist/cli/{chunk-353WRRGG.js → chunk-QXH2L4UH.js} +3 -3
  13. package/dist/cli/{chunk-UWDE365N.js → chunk-TCJG3EHB.js} +47 -3
  14. package/dist/cli/{chunk-K3SDHHZF.js → chunk-TLFKLMBN.js} +1 -1
  15. package/dist/cli/{chunk-TNYBWWRO.js → chunk-WF27BASF.js} +2 -2
  16. package/dist/cli/chunk-WY5WSK2D.js +6 -0
  17. package/dist/cli/{chunk-ETGOWBUL.js → chunk-YI4V7YVW.js} +3 -3
  18. package/dist/cli/{daemon-ZTZ7VMYA.js → daemon-WW2P7RDV.js} +7 -7
  19. package/dist/cli/{decide-4BIYS3Y2.js → decide-HLRD37PW.js} +8 -6
  20. package/dist/cli/{handover-IS7BJYGZ.js → handover-56M4LIOP.js} +4 -4
  21. package/dist/cli/{hook-3VKVD4IP.js → hook-UJVKYSQ5.js} +34 -13
  22. package/dist/cli/index.js +16 -16
  23. package/dist/cli/{launch-XAPN2M3Q.js → launch-GIPQDPAC.js} +9 -8
  24. package/dist/cli/{send-ZLF2ZXMJ.js → send-HWZHE65N.js} +4 -4
  25. package/dist/cli/{status-NONO6E2S.js → status-V6ITP7VT.js} +2 -2
  26. package/dist/cli/{task-47MVWDCY.js → task-N53TM34B.js} +4 -4
  27. package/dist/cli/{team-EJ4YIXJH.js → team-CZFZ24P6.js} +6 -6
  28. package/dist/cli/{tui-CAP4O4YQ.js → tui-K32C34XI.js} +1274 -1176
  29. package/dist/cli/{version-EHBPJO7K.js → version-QIFJVKAQ.js} +1 -1
  30. package/dist/cli/{who-FHAXYCM2.js → who-NIOLHHB3.js} +3 -3
  31. package/dist/ledge-guide.md +268 -0
  32. package/package.json +1 -1
  33. package/dist/cli/chunk-JZEWCO6X.js +0 -6
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LEDGE_VERSION
3
- } from "./chunk-JZEWCO6X.js";
3
+ } from "./chunk-WY5WSK2D.js";
4
4
  import "./chunk-U67V476Y.js";
5
5
  export {
6
6
  LEDGE_VERSION
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  formatWho,
3
3
  printWho
4
- } from "./chunk-TNYBWWRO.js";
5
- import "./chunk-RFFTWAAF.js";
6
- import "./chunk-7S7ZLGIY.js";
4
+ } from "./chunk-WF27BASF.js";
5
+ import "./chunk-6YBIZZQG.js";
6
+ import "./chunk-MYIBYAZC.js";
7
7
  import "./chunk-HOOHS3MX.js";
8
8
  import "./chunk-U67V476Y.js";
9
9
  export {
@@ -0,0 +1,268 @@
1
+ # Ledge, le guide
2
+
3
+ Ce guide est écrit à la main et versionné avec le code. Ledge le recopie dans le `ledge.md` de son chat. Il sert à répondre aux questions sur Ledge lui-même : ce qu'il est, ce que permet chaque écran, et vers quel écran renvoyer l'utilisateur. Chaque écran porte entre parenthèses son identifiant dans le code. Un test vérifie que chaque écran déclaré dans le code figure ici : un nouvel écran s'ajoute donc aussi à ce guide.
4
+
5
+ ## Ce qu'est Ledge
6
+
7
+ Ledge veille sur les sessions d'agents de l'utilisateur : Claude Code, Codex, Cursor Agent et OMP, lancés dans WSL ou sur un serveur SSH. Il montre ce que fait chaque agent et ce qu'il attend. Il permet de répondre à une demande sans ouvrir son terminal, de lancer des sessions et de monter des équipes.
8
+
9
+ - **Le daemon** (`ledge daemon`, paquet npm `@paradow/ledge`) tourne dans WSL ou sur un serveur. Il suit les sessions par leurs hooks et par tmux, garde les projets, les équipes, les tâches et les messages entre sessions, et fait tourner le chat de Ledge. La CLI `ledge` lui parle :
10
+ - `ledge claude|codex|cursor` lance un agent suivi ;
11
+ - `ledge attach <id>` met le terminal sur une session ;
12
+ - `ledge who` et `ledge status` listent les sessions ;
13
+ - `ledge send` et `ledge read` servent aux messages entre sessions ;
14
+ - `ledge task`, `ledge decide`, `ledge team`, `ledge handover` et `ledge close` gèrent les tâches, les décisions, les équipes, la passation de relais et la fermeture ;
15
+ - `ledge tui` est Ledge dans un terminal ;
16
+ - `ledge setup` et `ledge uninstall` installent et retirent les hooks et `~/.ledge`.
17
+ - **Ledge Desktop** est l'application Windows : la fenêtre principale (accueil, atelier, sessions, réglages) et l'**encoche**.
18
+ - **L'encoche** (l'île) est une pastille en haut de l'écran : la mascotte de Ledge, puis une mascotte par session, de la couleur de son état (rouge : une autorisation à donner ; ambre : une question ; bleu : au travail ; vert : attend une consigne).
19
+ - Une demande étire l'encoche en bulle, avec « Refuser » et « Autoriser ».
20
+ - Survoler l'encoche, ou `Ctrl+Alt+L`, ouvre la liste des sessions, le champ « Demander à Ledge » et la vue d'une session.
21
+ - `Ctrl+Alt+N` ouvre « Nouvelle session » dans Ledge Desktop.
22
+ - Ses réglages sont dans Réglages › Encoche.
23
+ - **Ledge mobile** est une application web pour le téléphone, servie par un relais. Elle se lie au PC depuis Réglages › Accès mobile.
24
+ - **Le chat de Ledge** (toi) lit et ne touche à rien. Une action passe par une carte que l'utilisateur valide.
25
+
26
+ Les notes de l'utilisateur se rangent dans `~/.ledge/context/*.md`. Le front matter est optionnel : `title`, et `when`, qui dit quand lire la note. Ledge les recopie à chaque question.
27
+
28
+ ## Ledge Desktop
29
+
30
+ La fenêtre principale a une barre latérale :
31
+ - « Accueil » ;
32
+ - « À toi » : les demandes en attente, avec « Oui », « Non », « Répondre » et « Voir » ;
33
+ - « Projets » : l'arbre des sessions par branche ;
34
+ - « Machines » ;
35
+ - « Archives » ;
36
+ - « Réglages ».
37
+
38
+ Raccourcis principaux :
39
+ - `/` ouvre l'accueil ;
40
+ - `Ctrl+/` ouvre le chat ancré ;
41
+ - `Ctrl+K` ouvre « Aller à une session » ;
42
+ - `N` ouvre « Nouvelle session » (depuis l'atelier) ;
43
+ - `Ctrl+,` ouvre les réglages ;
44
+ - `?` liste les raccourcis ;
45
+ - Échap revient en arrière.
46
+
47
+ ### Accueil (`home`)
48
+
49
+ L'application s'ouvre ici. On y vient aussi par `/` ou par l'entrée « Accueil » de la barre latérale. C'est la vue de Ledge, l'opérateur, en lecture seule. Elle a quatre onglets.
50
+
51
+ #### Conversation (`conversation`)
52
+
53
+ C'est la conversation avec Ledge, en pleine largeur.
54
+ - On y pose des questions et on mentionne une session ou une équipe.
55
+ - On y valide les cartes que Ledge propose.
56
+ - Le panneau « Le point » résume trois sections : « À toi », « Équipes » et « Confiées par Ledge ». Le bouton « Résumer la journée » est là aussi.
57
+
58
+ Y renvoyer l'utilisateur pour une longue discussion avec Ledge, ou pour faire le point sur la journée.
59
+
60
+ #### Équipes (`teams`)
61
+
62
+ Le catalogue a trois parties : « En cours » (les équipes actives), « Modèles » et « Rôles ».
63
+ - Les boutons « Lancer une session », « Monter une équipe… » et « Lancer cette équipe… » sont ici.
64
+ - Les rôles et les modèles se lisent ici mais se modifient dans leurs fichiers : `~/.ledge/roles/<id>.md` et `~/.ledge/teams/<id>.yaml`, ou les mêmes sous `<dépôt>/.ledge/`.
65
+
66
+ Y renvoyer l'utilisateur pour voir ou monter une équipe, ou pour consulter un rôle.
67
+
68
+ #### Tâches (`tasks`)
69
+
70
+ Toutes les tâches données entre sessions et par Ledge.
71
+ - Filtres : « Toutes / Ouvertes / Closes », donneur, équipe, « Décisions ».
72
+ - Une tâche ouverte montre son résultat, sa raison et son historique.
73
+ - Une décision se tranche ici : « Répondre », puis « Envoyer la réponse », puis « Confirmer l'envoi ».
74
+
75
+ Y renvoyer l'utilisateur pour suivre une tâche ou trancher une décision qui l'attend.
76
+
77
+ #### Historique (`history`)
78
+
79
+ Les conversations du jour avec Ledge, chacune avec « Voir dans la conversation ».
80
+
81
+ ### Atelier (`overview`)
82
+
83
+ On y vient par Échap depuis l'accueil ou une session, par « Retour à l'atelier », ou par la vue « Atelier » de la barre latérale. Chaque projet est une table, avec ses agents assis autour et leurs sous-agents en petits bots. Une équipe a sa pièce.
84
+ - Le menu d'une table propose « Nouvelle session », « Modifier le projet » et « Isoler cette table ».
85
+ - Le menu d'une pièce propose « Nouvelle équipe ici… ».
86
+ - Le menu d'une équipe propose « Voir les tâches » et « Dissoudre l'équipe ».
87
+ - On range une session en la glissant sur une table.
88
+ - Le zoom se règle au clavier (+, −, 0) ou avec `Ctrl` + molette.
89
+ - Le bureau « Parler à Ledge » ouvre le chat ancré.
90
+ - La barre du haut propose « Masquer les sous-agents », « Figer les animations », « Plein écran » et « Détacher l'Atelier », qui ouvre l'atelier dans sa propre fenêtre.
91
+
92
+ Y renvoyer l'utilisateur pour avoir une vue d'ensemble de qui travaille où, ou pour ranger une session dans un projet.
93
+
94
+ ### Session (`session`)
95
+
96
+ On l'ouvre en cliquant sur un siège, sur une ligne de la barre latérale ou sur un élément « À toi ». On y accède aussi par `Alt+1…9`, par `Alt+←/→`, ou par `Ctrl+K`. Un sous-agent a sa propre page.
97
+ - **Vues :** « Fil » (les échanges) et « Modifications » (les fichiers modifiés, avec un diff par fichier).
98
+ - **Demandes :** une demande épinglée se tranche par « Autoriser » ou « Refuser » (`Y`/`N`). On peut aussi choisir « Toujours autoriser pour cette session » ou « … dans ce projet ». Un plan s'approuve ou continue. Une question se répond par une option ou par un texte libre.
99
+ - **Échanges :** `R` répond, « Interrompre » coupe le tour en cours, « Arrêter » stoppe l'agent.
100
+ - **Terminal :** `O` l'affiche. Il a un onglet « Nouveau shell » et le bouton « Ouvrir dans un terminal externe ».
101
+ - **Menu « Gérer la session »** (clic droit) : « Renommer… », « Ranger dans… », « Terminer la session », « Archiver », « Supprimer… ». Une session archivée offre « Reprendre ».
102
+ - **Passer le relais :** quand le contexte de l'agent approche de sa limite, ce menu propose de passer le relais à une session neuve.
103
+
104
+ Y renvoyer l'utilisateur pour répondre à un agent, lire ses modifications, l'interrompre, ou gérer la session (renommer, archiver, supprimer, passer le relais).
105
+
106
+ ### Réglages (`settings`)
107
+
108
+ On y vient par `Ctrl+,` ou par « Réglages » dans la barre latérale.
109
+
110
+ #### Général (`general`)
111
+
112
+ - Langue.
113
+ - Lancement au démarrage de Windows.
114
+ - **Agent par défaut :** le harnais qui fait tourner le chat de Ledge et les sessions proposées.
115
+ - **Contexte max :** le seuil de passation de relais.
116
+ - Vérification des mises à jour.
117
+
118
+ #### Apparence (`appearance`)
119
+
120
+ Photo de profil, thème (Galet clair, Signal sombre), couleur d'accent, échelle de l'interface, mouvements réduits, agents autour d'une table.
121
+
122
+ #### Encoche (`island`)
123
+
124
+ - Afficher l'encoche, l'écran où elle se trouve, et sa position (gauche, centre, droite).
125
+ - « Mode discret sous une fenêtre ».
126
+ - Taille de l'encoche et de ses fenêtres.
127
+ - « Autoriser et répondre depuis l'encoche ».
128
+ - « Bulle quand un agent a terminé ».
129
+ - Bulles de parole, sous-agents.
130
+ - Raccourci d'ouverture.
131
+
132
+ #### Notifications (`notifications`)
133
+
134
+ « Ne pas déranger », et ce qui se passe quand un agent a terminé : bulle et son, bulle, son, ou état de session seul.
135
+
136
+ #### Sons (`sounds`)
137
+
138
+ Marche ou arrêt, volume et bouton de test, catégories de sons, « Seulement quand le terminal est derrière ».
139
+
140
+ #### Machines (`machines`)
141
+
142
+ La machine locale (WSL) et les serveurs SSH : « Ajouter une machine » (un alias `Host` de `~/.ssh/config`), Tester, Modifier, Retirer. Y renvoyer l'utilisateur pour suivre des agents sur un serveur.
143
+
144
+ #### Accès mobile (`mobile`)
145
+
146
+ Activer l'accès mobile, choisir le serveur relais, se connecter avec GitHub, voir l'état, gérer les appareils liés (« Comparer le code », « Révoquer »). Y renvoyer l'utilisateur pour lier un téléphone.
147
+
148
+ #### Projets (`projects`)
149
+
150
+ « Nouveau projet », modifier, supprimer ; « Dossiers mémorisés » (« Oublier ») ; « Laisser Ledge organiser » pour que Ledge propose des projets.
151
+
152
+ #### Raccourcis clavier (`shortcuts`)
153
+
154
+ Les raccourcis valables partout dans Windows. Le raccourci de l'encoche se change ici.
155
+
156
+ #### À propos (`about`)
157
+
158
+ Les versions de Ledge Desktop et de chaque daemon, la dernière version publiée, « Mettre à jour ». La mise à jour met à jour les serveurs, puis le daemon WSL, puis l'application, sans couper les sessions. Ledge ne se met jamais à jour sans un clic.
159
+
160
+ ### Fenêtres de dialogue
161
+
162
+ #### Aller à une session (`search`)
163
+
164
+ S'ouvre par `Ctrl+K`. On y cherche une session par agent, tâche, projet ou machine.
165
+
166
+ #### Raccourcis clavier (`shortcuts`)
167
+
168
+ S'ouvre par `?`. Liste complète des raccourcis.
169
+
170
+ #### Nouvelle session (`launch`)
171
+
172
+ S'ouvre par `N` dans l'atelier, `Ctrl+Alt+N` partout, « Nouvelle session » dans la barre latérale ou un menu de table.
173
+ - **Champs :** consigne, agent (Claude Code, Codex, Cursor Agent, OMP), modèle et effort, projet, machine, dossiers et dépôts, rôle éventuel.
174
+ - **Mode équipe :** « Nouvelle équipe ». On choisit un modèle, ou des sièges un par un, et le nom de l'équipe.
175
+
176
+ Y renvoyer l'utilisateur pour lancer lui-même une session ou une équipe avec des réglages précis.
177
+
178
+ #### Projet (`project`)
179
+
180
+ Crée (« Nouveau projet »), modifie ou supprime un projet. On y donne son nom, sa couleur, sa description, ses dossiers et ses dépôts. On l'ouvre aussi pour ranger une session dans un nouveau projet, ou pour vérifier un projet que Ledge a proposé.
181
+
182
+ ### Chat ancré
183
+
184
+ `Ctrl+/` ouvre le chat de Ledge à droite de la vue courante. On y pose les mêmes questions et on y valide les mêmes cartes que dans la conversation de l'accueil. « Nouvelle conversation » repart de zéro. Les conversations sont quotidiennes.
185
+
186
+ ## Ledge mobile
187
+
188
+ Une application web pour le téléphone, avec quatre onglets en bas : « À traiter », « Agents », « Ledge », « Équipes ». Pour la lier :
189
+ 1. Sur le PC, dans Réglages › Accès mobile, activer l'accès, choisir le relais et se connecter avec GitHub.
190
+ 2. Sur le téléphone, ouvrir l'adresse du relais et se connecter avec le même compte.
191
+ 3. Comparer le code affiché sur les deux appareils et approuver sur le PC.
192
+
193
+ ### À traiter (`inbox`)
194
+
195
+ Les demandes en attente, les plus anciennes d'abord, filtrées par type (autorisations, questions, tâches). « Examiner » ouvre une demande. « Vous êtes à jour » quand rien n'attend.
196
+
197
+ ### Agents (`agents`)
198
+
199
+ Les sessions par projet et par table, avec les tables d'équipe. Une session ouvre son fil, l'en-tête d'une équipe ouvre l'équipe en cours.
200
+
201
+ ### Ledge (`chat`)
202
+
203
+ Le chat de Ledge sur le téléphone, avec « Le point ». Les cartes proposent une session, une équipe ou une tâche. Cette conversation est propre au téléphone.
204
+
205
+ ### Fil d'une session (`thread`)
206
+
207
+ Les échanges avec un agent et le champ pour lui écrire. « Examiner la demande » quand une décision attend. Un bouton ouvre son terminal.
208
+
209
+ ### Terminal (`terminal`)
210
+
211
+ Le terminal d'un agent, en direct et en lecture seule, avec « Interrompre ».
212
+
213
+ ### Demande (`request`)
214
+
215
+ Une demande seule : autorisation, question, plan ou modifications. On l'approuve, la refuse ou y répond. Les notifications et les liens partagés ouvrent cet écran.
216
+
217
+ ### Connexion (`connection`)
218
+
219
+ S'ouvre depuis l'état de la liaison en en-tête. On y voit le PC, le compte, le serveur et les empreintes, et on y règle l'apparence. « Le PC » met à jour ou redémarre le daemon du PC. On peut aussi s'y déconnecter.
220
+
221
+ ### Équipes (`teams`)
222
+
223
+ Les équipes et les rôles. « Nouvelle équipe », « Nouveau rôle ». « Lever » lance une équipe dans un projet, après confirmation par passkey.
224
+
225
+ ### Éditeur d'équipe (`team`)
226
+
227
+ Les sièges d'une équipe, où la ranger (maison ou dépôt), Enregistrer ou Supprimer.
228
+
229
+ ### Copier une équipe (`team-copy`)
230
+
231
+ Enregistre la composition d'une équipe en cours comme nouvelle équipe.
232
+
233
+ ### Éditeur de rôle (`role`)
234
+
235
+ Identifiant, libellé, consigne, et les valeurs par défaut : outil, modèle, effort, autonomie.
236
+
237
+ ### Équipe en cours (`live`)
238
+
239
+ La fiche d'une équipe active : ses sièges, sa consigne, « Modifier la composition », « Enregistrer comme équipe », « Dissoudre l'équipe ».
240
+
241
+ ### Composition (`compose`)
242
+
243
+ Modifier les sièges d'une équipe en cours, puis « Appliquer ».
244
+
245
+ ### Écrans qui s'affichent d'eux-mêmes
246
+
247
+ Ces écrans ne sont pas des adresses : l'application les montre d'elle-même, selon l'état de la liaison avec le PC.
248
+ - **Connexion GitHub :** quand le téléphone n'est pas lié, « Continuer avec GitHub », puis la comparaison du code avec le PC.
249
+ - **Clé changée :** si la clé du PC a changé, « Refaire la liaison » ou « Se déconnecter ».
250
+ - **Nouvelle version :** quand une nouvelle version de l'application mobile est prête, « Mettre à jour » ou « Plus tard ».
251
+
252
+ ## Où renvoyer l'utilisateur
253
+
254
+ | Il veut… | Écran |
255
+ |---|---|
256
+ | répondre à un agent, voir ses modifications | Session (desktop), Demande ou Fil (mobile) |
257
+ | voir ce qui l'attend | « À toi » (desktop), À traiter (mobile) |
258
+ | lancer une session ou une équipe lui-même | Nouvelle session (`N`, `Ctrl+Alt+N`) |
259
+ | créer, modifier ou supprimer un projet | Réglages › Projets, ou le menu d'une table |
260
+ | renommer, archiver, supprimer une session, passer le relais | Session › « Gérer la session » |
261
+ | trancher une décision, suivre une tâche | Accueil › Tâches |
262
+ | écrire un rôle ou un modèle d'équipe | Ses fichiers `.ledge/roles` et `.ledge/teams`, ou Équipes (mobile) |
263
+ | ajouter un serveur | Réglages › Machines |
264
+ | lier un téléphone | Réglages › Accès mobile |
265
+ | changer l'agent du chat | Réglages › Général › Agent par défaut |
266
+ | régler l'encoche, les notifications, les sons | Réglages › Encoche, Notifications, Sons |
267
+ | mettre Ledge à jour | Réglages › À propos |
268
+ | donner du contexte durable à Ledge | une note dans `~/.ledge/context/` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paradow/ledge",
3
- "version": "0.29.0",
3
+ "version": "0.31.0",
4
4
  "description": "Follow and answer your WSL agent sessions (Claude Code, Codex, Cursor Agent) from the Ledge island on Windows.",
5
5
  "type": "module",
6
6
  "bin": { "ledge": "dist/cli/index.js" },
@@ -1,6 +0,0 @@
1
- // src/version.ts
2
- var LEDGE_VERSION = true ? "0.29.0" : "0.0.0-dev";
3
-
4
- export {
5
- LEDGE_VERSION
6
- };