@maincode-ai/matilda-code 0.21.13 → 0.22.0-nightly.20261101.b0ad315a4

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 (252) hide show
  1. package/chunks/agent-IUINB66G.js +3 -0
  2. package/chunks/agent-headless-YA2RKYEZ.js +3 -0
  3. package/chunks/{askUserQuestion-BNSWGD26.js → askUserQuestion-RZYBOPLR.js} +3 -3
  4. package/chunks/ca-JKEHLTNL.js +23 -0
  5. package/chunks/chunk-225CZWD7.js +89 -0
  6. package/chunks/{chunk-MEV5XQI2.js → chunk-2XSB5XHX.js} +1 -1
  7. package/chunks/chunk-453BANK3.js +8 -0
  8. package/chunks/{chunk-6M5G5FBH.js → chunk-4UGPARBR.js} +1 -1
  9. package/chunks/{chunk-RNKDFE2S.js → chunk-5B2QERWR.js} +1 -1
  10. package/chunks/chunk-5ETLURI6.js +3 -0
  11. package/chunks/chunk-6NXVLJ3X.js +56 -0
  12. package/chunks/{chunk-QZI2ZGZY.js → chunk-7B65UIHB.js} +1 -1
  13. package/chunks/{chunk-27Q5KW3A.js → chunk-7E2YCGHS.js} +13 -13
  14. package/chunks/{chunk-DHDD5YJC.js → chunk-ARAB5QTM.js} +69 -69
  15. package/chunks/chunk-DUB7JMQV.js +13 -0
  16. package/chunks/chunk-G3F3ZCH2.js +9 -0
  17. package/chunks/chunk-GT6MSEK4.js +3 -0
  18. package/chunks/chunk-HEJO7OBH.js +3 -0
  19. package/chunks/{chunk-6T2GIM76.js → chunk-IHWAOFCQ.js} +1 -1
  20. package/chunks/chunk-ILHNCXBC.js +8 -0
  21. package/chunks/chunk-J3ZCE3TA.js +8 -0
  22. package/chunks/{chunk-AOOZREGV.js → chunk-LBQNFSZ2.js} +1 -1
  23. package/chunks/{chunk-5OHGYMKP.js → chunk-LM6OIN4B.js} +1 -1
  24. package/chunks/{chunk-EZDV7A76.js → chunk-LMZBADPW.js} +1 -1
  25. package/chunks/chunk-MGRXOZAG.js +8 -0
  26. package/chunks/chunk-NBLBE7PE.js +2609 -0
  27. package/chunks/chunk-POGNX7U3.js +31 -0
  28. package/chunks/chunk-PQZ6HKKW.js +80 -0
  29. package/chunks/chunk-QXSBPCBA.js +8 -0
  30. package/chunks/chunk-RHSUTILA.js +9 -0
  31. package/chunks/{chunk-P5TG5CON.js → chunk-RPXRN7E6.js} +1 -1
  32. package/chunks/chunk-TUKNB5CQ.js +33 -0
  33. package/chunks/chunk-UM6CLO7D.js +7 -0
  34. package/chunks/chunk-V2VUANFI.js +120 -0
  35. package/chunks/chunk-V4VILMIK.js +14 -0
  36. package/chunks/chunk-ZSGBDQXU.js +11 -0
  37. package/chunks/{computer-use-J4GAM4M6.js → computer-use-PBCWDTJR.js} +1 -1
  38. package/chunks/{cron-create-IDWSZENI.js → cron-create-PHQ43NYA.js} +1 -1
  39. package/chunks/cron-delete-7RCQIU2U.js +3 -0
  40. package/chunks/cron-list-KKNLLMNN.js +5 -0
  41. package/chunks/de-GMGNR5CZ.js +23 -0
  42. package/chunks/{devtools-XRQ4YJ5S.js → devtools-7YNCRYZV.js} +1 -1
  43. package/chunks/{chunk-OOEH6ZSV.js → dist-UWUWLWTO.js} +2 -2
  44. package/chunks/{edit-X2S2ZXRN.js → edit-ELHNQB5E.js} +1 -1
  45. package/chunks/en-3NQMLVKW.js +23 -0
  46. package/chunks/{enter-worktree-TUCGNCLO.js → enter-worktree-UZIBOBV3.js} +1 -1
  47. package/chunks/enterPlanMode-UHY3DZXE.js +18 -0
  48. package/chunks/{exit-worktree-7FLITFZI.js → exit-worktree-HLG4PDMX.js} +1 -1
  49. package/chunks/{exitPlanMode-O5UUJ3GM.js → exitPlanMode-V4HYNH3J.js} +2 -2
  50. package/chunks/fr-WS3EBB36.js +23 -0
  51. package/chunks/{getMachineId-bsd-ZYBNK2JG.js → getMachineId-bsd-ETKQTB6C.js} +1 -1
  52. package/chunks/{getMachineId-darwin-CM2MQGUI.js → getMachineId-darwin-AKNRWOWB.js} +1 -1
  53. package/chunks/{getMachineId-linux-SYE2KMCW.js → getMachineId-linux-2QSD7FTP.js} +1 -1
  54. package/chunks/{getMachineId-unsupported-6IHVG2XO.js → getMachineId-unsupported-UXSV7I24.js} +1 -1
  55. package/chunks/{getMachineId-win-S3J3JSUM.js → getMachineId-win-4MTFXGP3.js} +1 -1
  56. package/chunks/glob-C5CTWXLP.js +22 -0
  57. package/chunks/{goal-tools-YQOA6OKU.js → goal-tools-BGIWEJ3K.js} +3 -3
  58. package/chunks/{grep-VAB2VSXM.js → grep-BEFTGKHW.js} +1 -1
  59. package/chunks/ja-GBCDQ43R.js +23 -0
  60. package/chunks/keychain-token-storage-FEJZYJBB.js +3 -0
  61. package/chunks/ls-XH55NAD3.js +15 -0
  62. package/chunks/{lsp-NGLDRHZU.js → lsp-BKDCR37G.js} +1 -1
  63. package/chunks/mcp-client-GAQG7MCT.js +3 -0
  64. package/chunks/monitor-NSVUUKCM.js +32 -0
  65. package/chunks/{multipart-parser-JI75T2O5.js → multipart-parser-FKHYAVGR.js} +1 -1
  66. package/chunks/notebook-edit-AXKYC64C.js +17 -0
  67. package/chunks/openaiContentGenerator-66YY6CIM.js +47 -0
  68. package/chunks/pt-VID6J2CM.js +23 -0
  69. package/chunks/read-file-YFJMLS7V.js +3 -0
  70. package/chunks/ripGrep-BEHEB23R.js +3 -0
  71. package/chunks/ru-EB6V6EAN.js +23 -0
  72. package/chunks/scheduler-GKQOREMS.js +8 -0
  73. package/chunks/send-message-GJSEMAZB.js +8 -0
  74. package/chunks/shell-J5Q2UEXH.js +3 -0
  75. package/chunks/{skill-ETQM5NI3.js → skill-3RWNSUNE.js} +1 -1
  76. package/chunks/src-LZEU4AYF.js +5 -0
  77. package/chunks/symbol-search-4VM6J5Y4.js +19 -0
  78. package/chunks/{syntheticOutput-WZDPECYS.js → syntheticOutput-O7LEF3AM.js} +1 -1
  79. package/chunks/task-create-N4IRJBTF.js +3 -0
  80. package/chunks/{task-detach-TBAVUOTC.js → task-detach-RGNQUX3H.js} +1 -1
  81. package/chunks/task-list-Z7JUB4QK.js +9 -0
  82. package/chunks/{task-stop-HDSARSJ6.js → task-stop-L2OWK2PJ.js} +1 -1
  83. package/chunks/{task-update-MW2VT2XV.js → task-update-H5AXVXDS.js} +1 -1
  84. package/chunks/{team-create-VMYNLZCC.js → team-create-FWTIQ2FT.js} +2 -2
  85. package/chunks/team-delete-D45ALROH.js +8 -0
  86. package/chunks/todoWrite-LCQOQBI7.js +3 -0
  87. package/chunks/{tool-search-WX6FOE35.js → tool-search-X6UUCSPU.js} +1 -1
  88. package/chunks/{web-fetch-CKYBHGLF.js → web-fetch-244KUWSX.js} +17 -17
  89. package/chunks/web-search-YRZ3BZ3X.js +26 -0
  90. package/chunks/{workflow-WBSRQG3N.js → workflow-EP4AFR24.js} +2 -2
  91. package/chunks/write-file-EXWGRN4Q.js +15 -0
  92. package/cli.js +641 -678
  93. package/examples/starter/README.md +0 -3
  94. package/locales/ca.js +3 -87
  95. package/locales/de.js +3 -91
  96. package/locales/en.js +3 -91
  97. package/locales/fr.js +3 -88
  98. package/locales/ja.js +3 -92
  99. package/locales/pt.js +3 -92
  100. package/locales/ru.js +3 -91
  101. package/package.json +2 -2
  102. package/sandbox-macos-permissive-proxied.sb +1 -1
  103. package/sandbox-macos-restrictive-closed.sb +14 -1
  104. package/sandbox-macos-restrictive-open.sb +14 -1
  105. package/sandbox-macos-restrictive-proxied.sb +15 -2
  106. package/bundled/mainy/SKILL.md +0 -157
  107. package/bundled/mainy/docs/_meta.ts +0 -32
  108. package/bundled/mainy/docs/common-workflow.md +0 -571
  109. package/bundled/mainy/docs/configuration/_meta.ts +0 -7
  110. package/bundled/mainy/docs/configuration/auth.md +0 -82
  111. package/bundled/mainy/docs/configuration/matilda-ignore.md +0 -55
  112. package/bundled/mainy/docs/configuration/model-providers.md +0 -516
  113. package/bundled/mainy/docs/configuration/settings.md +0 -818
  114. package/bundled/mainy/docs/configuration/themes.md +0 -199
  115. package/bundled/mainy/docs/configuration/trusted-folders.md +0 -67
  116. package/bundled/mainy/docs/extension/_meta.ts +0 -9
  117. package/bundled/mainy/docs/extension/extension-releasing.md +0 -204
  118. package/bundled/mainy/docs/extension/getting-started-extensions.md +0 -299
  119. package/bundled/mainy/docs/extension/introduction.md +0 -338
  120. package/bundled/mainy/docs/features/_meta.ts +0 -27
  121. package/bundled/mainy/docs/features/approval-mode.md +0 -388
  122. package/bundled/mainy/docs/features/arena.md +0 -219
  123. package/bundled/mainy/docs/features/auto-mode.md +0 -308
  124. package/bundled/mainy/docs/features/channels/_meta.ts +0 -5
  125. package/bundled/mainy/docs/features/channels/overview.md +0 -328
  126. package/bundled/mainy/docs/features/channels/plugins.md +0 -87
  127. package/bundled/mainy/docs/features/channels/telegram.md +0 -120
  128. package/bundled/mainy/docs/features/code-review.md +0 -291
  129. package/bundled/mainy/docs/features/commands.md +0 -528
  130. package/bundled/mainy/docs/features/dual-output.md +0 -627
  131. package/bundled/mainy/docs/features/followup-suggestions.md +0 -109
  132. package/bundled/mainy/docs/features/headless.md +0 -448
  133. package/bundled/mainy/docs/features/hooks.md +0 -1308
  134. package/bundled/mainy/docs/features/language.md +0 -144
  135. package/bundled/mainy/docs/features/lsp.md +0 -496
  136. package/bundled/mainy/docs/features/markdown-rendering.md +0 -183
  137. package/bundled/mainy/docs/features/mcp.md +0 -423
  138. package/bundled/mainy/docs/features/memory.md +0 -185
  139. package/bundled/mainy/docs/features/sandbox.md +0 -249
  140. package/bundled/mainy/docs/features/scheduled-tasks.md +0 -139
  141. package/bundled/mainy/docs/features/skills.md +0 -347
  142. package/bundled/mainy/docs/features/status-line.md +0 -397
  143. package/bundled/mainy/docs/features/structured-output.md +0 -309
  144. package/bundled/mainy/docs/features/sub-agents.md +0 -737
  145. package/bundled/mainy/docs/features/tips.md +0 -54
  146. package/bundled/mainy/docs/features/token-caching.md +0 -29
  147. package/bundled/mainy/docs/features/tool-use-summaries.md +0 -178
  148. package/bundled/mainy/docs/features/worktree.md +0 -343
  149. package/bundled/mainy/docs/ide-integration/_meta.ts +0 -4
  150. package/bundled/mainy/docs/ide-integration/ide-companion-spec.md +0 -182
  151. package/bundled/mainy/docs/ide-integration/ide-integration.md +0 -144
  152. package/bundled/mainy/docs/integration-github-action.md +0 -241
  153. package/bundled/mainy/docs/integration-jetbrains.md +0 -81
  154. package/bundled/mainy/docs/integration-vscode.md +0 -39
  155. package/bundled/mainy/docs/integration-zed.md +0 -72
  156. package/bundled/mainy/docs/matilda-serve-deploy-local.md +0 -221
  157. package/bundled/mainy/docs/matilda-serve.md +0 -661
  158. package/bundled/mainy/docs/overview.md +0 -64
  159. package/bundled/mainy/docs/quickstart.md +0 -234
  160. package/bundled/mainy/docs/reference/_meta.ts +0 -3
  161. package/bundled/mainy/docs/reference/keyboard-shortcuts.md +0 -91
  162. package/bundled/mainy/docs/support/Uninstall.md +0 -65
  163. package/bundled/mainy/docs/support/_meta.ts +0 -6
  164. package/bundled/mainy/docs/support/tos-privacy.md +0 -94
  165. package/bundled/mainy/docs/support/troubleshooting.md +0 -127
  166. package/chunks/agent-SRAIVZEE.js +0 -3
  167. package/chunks/agent-headless-XRDOZESG.js +0 -3
  168. package/chunks/anthropicContentGenerator-LLDIKDMQ.js +0 -39
  169. package/chunks/ca-NPYL24ME.js +0 -25
  170. package/chunks/chunk-27HUYW23.js +0 -22
  171. package/chunks/chunk-2HTPVSGT.js +0 -3
  172. package/chunks/chunk-3B2HABK7.js +0 -30
  173. package/chunks/chunk-3MTZTNAU.js +0 -101
  174. package/chunks/chunk-3YLXGE6T.js +0 -8
  175. package/chunks/chunk-47XR7IMP.js +0 -8
  176. package/chunks/chunk-4F4DA5UI.js +0 -8
  177. package/chunks/chunk-4Q2SNBUH.js +0 -18
  178. package/chunks/chunk-6EQMZNIY.js +0 -8
  179. package/chunks/chunk-6I6VGTKD.js +0 -8
  180. package/chunks/chunk-DC7LAFZZ.js +0 -8
  181. package/chunks/chunk-DE3HKC2W.js +0 -9
  182. package/chunks/chunk-FWDMPRKU.js +0 -3
  183. package/chunks/chunk-G7R2XEEF.js +0 -7
  184. package/chunks/chunk-GOJCMVJJ.js +0 -8
  185. package/chunks/chunk-GTVCJCHR.js +0 -8
  186. package/chunks/chunk-IJEGHQ7Z.js +0 -32
  187. package/chunks/chunk-JCE3JAVC.js +0 -25
  188. package/chunks/chunk-KHHJYBR5.js +0 -9
  189. package/chunks/chunk-LUNDTQ3G.js +0 -8
  190. package/chunks/chunk-LWARA7JY.js +0 -37
  191. package/chunks/chunk-M53RP3YP.js +0 -31
  192. package/chunks/chunk-MTMU7JYZ.js +0 -11
  193. package/chunks/chunk-O44XK65C.js +0 -8
  194. package/chunks/chunk-OA56BXPD.js +0 -3
  195. package/chunks/chunk-PEKAUGYV.js +0 -2621
  196. package/chunks/chunk-PGUG43HG.js +0 -24
  197. package/chunks/chunk-PGXQZVLX.js +0 -8
  198. package/chunks/chunk-QKYGQLWC.js +0 -8
  199. package/chunks/chunk-QN6Y6NPA.js +0 -3
  200. package/chunks/chunk-RI54U73U.js +0 -56
  201. package/chunks/chunk-RPFSFS7Z.js +0 -39
  202. package/chunks/chunk-SDTWBD62.js +0 -8
  203. package/chunks/chunk-SOEIVSM5.js +0 -113
  204. package/chunks/chunk-SVSY6AWS.js +0 -59
  205. package/chunks/chunk-T2T2UEPY.js +0 -4
  206. package/chunks/chunk-TISQNFB5.js +0 -3
  207. package/chunks/chunk-TWJLOEAI.js +0 -31
  208. package/chunks/chunk-VI74YQQO.js +0 -8
  209. package/chunks/chunk-VYZOOSMP.js +0 -30
  210. package/chunks/chunk-W4QSMIWO.js +0 -9
  211. package/chunks/chunk-WC2VTVCE.js +0 -27
  212. package/chunks/chunk-YV3PUOBU.js +0 -65
  213. package/chunks/chunk-ZX34M2GF.js +0 -14
  214. package/chunks/contextCommand-5F5M7NA4.js +0 -3
  215. package/chunks/cron-delete-NQCDZDUI.js +0 -3
  216. package/chunks/cron-list-Z4XMC3TO.js +0 -5
  217. package/chunks/de-34YZHGC6.js +0 -25
  218. package/chunks/dist-7UYRLSLE.js +0 -3
  219. package/chunks/dist-PH6JW7XD.js +0 -42
  220. package/chunks/en-QLGMD6OS.js +0 -25
  221. package/chunks/enterPlanMode-SQEZAAIR.js +0 -18
  222. package/chunks/fileFromPath-7UCWPD4W.js +0 -3
  223. package/chunks/fr-EDNBQACJ.js +0 -25
  224. package/chunks/geminiContentGenerator-FIZFLPU3.js +0 -8
  225. package/chunks/glob-GSFTYAS2.js +0 -22
  226. package/chunks/ja-LV4RLM3M.js +0 -25
  227. package/chunks/keychain-token-storage-KQK6MNOJ.js +0 -3
  228. package/chunks/ls-IZJ3CKZY.js +0 -15
  229. package/chunks/matildaAgentContentGenerator-QQHPCFJ5.js +0 -8
  230. package/chunks/matildaContentGenerator-W7Z33ONU.js +0 -8
  231. package/chunks/matildaOAuth2-7COTQQR2.js +0 -3
  232. package/chunks/mcp-client-DXUNIEIB.js +0 -3
  233. package/chunks/monitor-4PFIGAGG.js +0 -32
  234. package/chunks/notebook-edit-MWJYAATJ.js +0 -17
  235. package/chunks/openaiContentGenerator-NDVJL6QL.js +0 -3
  236. package/chunks/pt-5SQ4DGL7.js +0 -25
  237. package/chunks/read-file-WPZKPXWA.js +0 -3
  238. package/chunks/ripGrep-7LZDZFTX.js +0 -3
  239. package/chunks/ru-7K24S53N.js +0 -25
  240. package/chunks/scheduler-DK2MVKXX.js +0 -8
  241. package/chunks/send-message-TCPX5UDU.js +0 -8
  242. package/chunks/serve-GSZPJI2O.js +0 -1026
  243. package/chunks/shell-PRS47PDP.js +0 -3
  244. package/chunks/src-UB7DZRYK.js +0 -3
  245. package/chunks/src-WZTRMETQ.js +0 -5
  246. package/chunks/symbol-search-HARHZ5AH.js +0 -19
  247. package/chunks/task-create-XRNIDT4T.js +0 -3
  248. package/chunks/task-list-Z6BDZZID.js +0 -9
  249. package/chunks/team-delete-F7QDC2TE.js +0 -8
  250. package/chunks/todoWrite-SCF5M24M.js +0 -3
  251. package/chunks/web-search-67DFNS5V.js +0 -26
  252. package/chunks/write-file-S5FAX4JJ.js +0 -15
@@ -1,397 +0,0 @@
1
- # Status Line
2
-
3
- > Display custom information in the footer.
4
-
5
- The status line shows session-aware information — model name, token usage, git branch, and more — in the footer's left section. There are two configuration modes:
6
-
7
- - **Preset mode** — pick from built-in data items via an interactive dialog or JSON config. No scripting required.
8
- - **Command mode** — run a shell command that receives structured JSON context via stdin. Full flexibility for custom formatting.
9
-
10
- ```
11
- Single-line status (default approval mode — 1 row):
12
- ┌─────────────────────────────────────────────────────────────────┐
13
- │ user@host ~/project (main) ctx:34% 🔒 docker | Debug | 67% │ ← status line
14
- └─────────────────────────────────────────────────────────────────┘
15
-
16
- Multi-line status (up to 2 lines — 2 rows):
17
- ┌─────────────────────────────────────────────────────────────────┐
18
- │ user@host ~/project (main) ctx:34% 🔒 docker | Debug | 67% │ ← status line 1
19
- │ ████████░░░░░░░░░░ 34% context │ ← status line 2
20
- └─────────────────────────────────────────────────────────────────┘
21
-
22
- Multi-line status + non-default mode (3 rows max):
23
- ┌─────────────────────────────────────────────────────────────────┐
24
- │ user@host ~/project (main) ctx:34% 🔒 docker | Debug | 67% │ ← status line 1
25
- │ ████████░░░░░░░░░░ 34% context │ ← status line 2
26
- │ auto-accept edits (shift + tab to cycle) │ ← mode indicator
27
- └─────────────────────────────────────────────────────────────────┘
28
- ```
29
-
30
- When configured, the status line replaces the default "? for shortcuts" hint. High-priority messages (Ctrl+C/D exit prompts, Esc, vim INSERT mode) temporarily override the status line. The status line text is truncated to fit within the available width.
31
-
32
- ## Quick setup
33
-
34
- The easiest way to configure a status line is the `/statusline` command. It opens an interactive dialog where you can select preset items, toggle theme colors, and see a live preview:
35
-
36
- ```
37
- /statusline
38
- ```
39
-
40
- This opens the preset mode configurator. Use arrow keys to navigate, space to toggle items, and enter to confirm. Your selection is saved to settings automatically.
41
-
42
- You can also give `/statusline` specific instructions to have it generate a command-mode configuration:
43
-
44
- ```
45
- /statusline show model name and context usage percentage
46
- ```
47
-
48
- ---
49
-
50
- ## Preset mode
51
-
52
- Preset mode provides a set of built-in data items that you can pick and combine — no shell commands, no `jq`, no scripting. Items are rendered as `item1 | item2 | item3` in a single line.
53
-
54
- ### Configuration
55
-
56
- Add a `statusLine` object under the `ui` key in `~/.matilda/settings.json`:
57
-
58
- ```json
59
- {
60
- "ui": {
61
- "statusLine": {
62
- "type": "preset",
63
- "items": [
64
- "model-with-reasoning",
65
- "git-branch",
66
- "context-remaining",
67
- "current-dir",
68
- "context-used"
69
- ],
70
- "useThemeColors": true
71
- }
72
- }
73
- }
74
- ```
75
-
76
- | Field | Type | Required | Description |
77
- | ---------------------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------------- |
78
- | `type` | `"preset"` | Yes | Must be `"preset"` |
79
- | `items` | string[] | Yes | Ordered list of preset item IDs to display (see table below). Items are joined with `\|` as the separator. |
80
- | `useThemeColors` | boolean | No | Apply the active `/theme` color to the status line text. Defaults to `true`. |
81
- | `hideContextIndicator` | boolean | No | Hide the built-in context usage indicator in the footer right section. Defaults to `false`. |
82
-
83
- ### Available preset items
84
-
85
- | Item ID | Default | Description |
86
- | ---------------------- | ------- | -------------------------------------------------------------------- |
87
- | `model-with-reasoning` | Yes | Current model name with reasoning level (e.g. `matilda-3-235b high`) |
88
- | `model` | | Current model name without reasoning level |
89
- | `git-branch` | Yes | Current Git branch name (hidden when not in a git repo) |
90
- | `context-remaining` | Yes | Percentage of context window remaining (e.g. `Context 65.7% left`) |
91
- | `total-input-tokens` | | Total input tokens used in session (e.g. `30.0k in`) |
92
- | `total-output-tokens` | | Total output tokens used in session (e.g. `5.0k out`) |
93
- | `current-dir` | Yes | Current working directory |
94
- | `project-name` | | Project name (basename of working directory) |
95
- | `pull-request-number` | | Open PR number for the current branch (requires `gh` CLI) |
96
- | `branch-changes` | | Session file change stats (e.g. `+120 -30`) |
97
- | `context-used` | Yes | Percentage of context window used (e.g. `Context 34.3% used`) |
98
- | `run-state` | | Compact session state (`Ready`, `Working`, or `Confirm`) |
99
- | `matilda-version` | | Matilda Code version (e.g. `v0.14.1`) |
100
- | `context-window-size` | | Total context window size (e.g. `131.1k window`) |
101
- | `used-tokens` | | Current prompt token count (e.g. `45.0k used`) |
102
- | `session-id` | | Current session identifier |
103
-
104
- Items marked **Default** are pre-selected when you first open the `/statusline` dialog.
105
-
106
- ### Example output
107
-
108
- With the default items, the status line looks like:
109
-
110
- ```
111
- matilda-3-235b high | main | Context 65.7% left | /home/user/project | Context 34.3% used
112
- ```
113
-
114
- ### Customizing via the dialog
115
-
116
- Running `/statusline` opens an interactive multi-select dialog:
117
-
118
- ```
119
- ┌ Configure Status Line ────────────────────────────────────────┐
120
- │ Select which items to display in the status line. │
121
- │ │
122
- │ Type to search │
123
- │ > │
124
- │ │
125
- │ [x] Use theme colors Apply colors from the active /theme│
126
- │ ─────────────────────── │
127
- │ [x] model-with-reasoning Current model name with reasoning │
128
- │ [ ] model-only Current model name without reason │
129
- │ [x] git-branch Current Git branch when available │
130
- │ [x] context-remaining Percentage of context remaining │
131
- │ ... │
132
- │ │
133
- │ Preview │
134
- │ matilda-3-235b high | main | Context 65.7% left │
135
- │ │
136
- │ Use up/down to navigate, space to select, enter to confirm │
137
- └───────────────────────────────────────────────────────────────┘
138
- ```
139
-
140
- - Type to filter items by name or description
141
- - A live preview updates as you toggle items
142
- - Press enter to save the configuration
143
-
144
- ---
145
-
146
- ## Command mode
147
-
148
- Command mode runs a shell command whose stdout is displayed in the status line. The command receives structured JSON context via stdin for session-aware output.
149
-
150
- ### Prerequisites
151
-
152
- - [`jq`](https://jqlang.github.io/jq/) is recommended for parsing the JSON input (install via `brew install jq`, `apt install jq`, etc.)
153
- - Simple commands that don't need JSON data (e.g. `git branch --show-current`) work without `jq`
154
-
155
- ### Configuration
156
-
157
- Add a `statusLine` object under the `ui` key in `~/.matilda/settings.json`:
158
-
159
- ```json
160
- {
161
- "ui": {
162
- "statusLine": {
163
- "type": "command",
164
- "command": "input=$(cat); model=$(echo \"$input\" | jq -r '.model.display_name'); pct=$(echo \"$input\" | jq -r '.context_window.used_percentage'); echo \"$model ctx:${pct}%\""
165
- }
166
- }
167
- }
168
- ```
169
-
170
- | Field | Type | Required | Description |
171
- | ---------------------- | ----------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
172
- | `type` | `"command"` | Yes | Must be `"command"` |
173
- | `command` | string | Yes | Shell command to execute. Receives JSON via stdin, stdout is displayed (up to 2 lines). |
174
- | `refreshInterval` | number | No | Re-run the command every N seconds (minimum 1). Useful for data that changes without an Agent state event (clock, quota, uptime). |
175
- | `respectUserColors` | boolean | No | Preserve ANSI color codes in command output instead of applying dimmed footer styling. Defaults to `false`. |
176
- | `hideContextIndicator` | boolean | No | Hide the built-in context usage indicator in the footer right section. Defaults to `false`. |
177
-
178
- ### JSON input
179
-
180
- The command receives a JSON object via stdin with the following fields:
181
-
182
- ```json
183
- {
184
- "session_id": "abc-123",
185
- "version": "0.14.1",
186
- "model": {
187
- "display_name": "matilda-3-235b"
188
- },
189
- "context_window": {
190
- "context_window_size": 131072,
191
- "used_percentage": 34.3,
192
- "remaining_percentage": 65.7,
193
- "current_usage": 45000,
194
- "total_input_tokens": 30000,
195
- "total_output_tokens": 5000
196
- },
197
- "workspace": {
198
- "current_dir": "/home/user/project"
199
- },
200
- "git": {
201
- "branch": "main"
202
- },
203
- "worktree": {
204
- "name": "fix-auth",
205
- "path": "/home/user/project/.matilda/worktrees/fix-auth",
206
- "branch": "fix-auth",
207
- "original_cwd": "/home/user/project",
208
- "original_branch": "main"
209
- },
210
- "metrics": {
211
- "models": {
212
- "matilda-3-235b": {
213
- "api": {
214
- "total_requests": 10,
215
- "total_errors": 0,
216
- "total_latency_ms": 5000
217
- },
218
- "tokens": {
219
- "prompt": 30000,
220
- "completion": 5000,
221
- "total": 35000,
222
- "cached": 10000,
223
- "thoughts": 2000
224
- }
225
- }
226
- },
227
- "files": {
228
- "total_lines_added": 120,
229
- "total_lines_removed": 30
230
- }
231
- },
232
- "vim": {
233
- "mode": "INSERT"
234
- }
235
- }
236
- ```
237
-
238
- | Field | Type | Description |
239
- | ------------------------------------- | ---------------- | ---------------------------------------------------------------------------------- |
240
- | `session_id` | string | Unique session identifier |
241
- | `version` | string | Matilda Code version |
242
- | `model.display_name` | string | Current model name |
243
- | `context_window.context_window_size` | number | Total context window size in tokens |
244
- | `context_window.used_percentage` | number | Context window usage as percentage (0–100) |
245
- | `context_window.remaining_percentage` | number | Context window remaining as percentage (0–100) |
246
- | `context_window.current_usage` | number | Token count from the last API call (current context size) |
247
- | `context_window.total_input_tokens` | number | Total input tokens consumed this session |
248
- | `context_window.total_output_tokens` | number | Total output tokens consumed this session |
249
- | `workspace.current_dir` | string | Current working directory |
250
- | `git` | object \| absent | Present only inside a git repository. |
251
- | `git.branch` | string | Current branch name |
252
- | `worktree` | object \| absent | Present only when inside an active worktree (created by `enter_worktree`). |
253
- | `worktree.name` | string | Worktree slug name |
254
- | `worktree.path` | string | Absolute path to the worktree directory |
255
- | `worktree.branch` | string | Branch checked out in the worktree |
256
- | `worktree.original_cwd` | string | Working directory before entering the worktree |
257
- | `worktree.original_branch` | string | Branch that was active before entering the worktree |
258
- | `metrics.models.<id>.api` | object | Per-model API stats: `total_requests`, `total_errors`, `total_latency_ms` |
259
- | `metrics.models.<id>.tokens` | object | Per-model token usage: `prompt`, `completion`, `total`, `cached`, `thoughts` |
260
- | `metrics.files` | object | File change stats: `total_lines_added`, `total_lines_removed` |
261
- | `vim` | object \| absent | Present only when vim mode is enabled. Contains `mode` (`"INSERT"` or `"NORMAL"`). |
262
-
263
- > **Important:** stdin can only be read once. Always store it in a variable first: `input=$(cat)`.
264
-
265
- ### Examples
266
-
267
- #### Model and token usage
268
-
269
- ```json
270
- {
271
- "ui": {
272
- "statusLine": {
273
- "type": "command",
274
- "command": "input=$(cat); model=$(echo \"$input\" | jq -r '.model.display_name'); pct=$(echo \"$input\" | jq -r '.context_window.used_percentage'); echo \"$model ctx:${pct}%\""
275
- }
276
- }
277
- }
278
- ```
279
-
280
- Output: `matilda-3-235b ctx:34%`
281
-
282
- #### Git branch + directory
283
-
284
- ```json
285
- {
286
- "ui": {
287
- "statusLine": {
288
- "type": "command",
289
- "command": "input=$(cat); branch=$(echo \"$input\" | jq -r '.git.branch // empty'); dir=$(basename \"$(echo \"$input\" | jq -r '.workspace.current_dir')\"); echo \"$dir${branch:+ ($branch)}\""
290
- }
291
- }
292
- }
293
- ```
294
-
295
- Output: `my-project (main)`
296
-
297
- > Note: The `git.branch` field is provided directly in the JSON input — no need to shell out to `git`.
298
-
299
- #### File change stats
300
-
301
- ```json
302
- {
303
- "ui": {
304
- "statusLine": {
305
- "type": "command",
306
- "command": "input=$(cat); added=$(echo \"$input\" | jq -r '.metrics.files.total_lines_added'); removed=$(echo \"$input\" | jq -r '.metrics.files.total_lines_removed'); echo \"+$added/-$removed lines\""
307
- }
308
- }
309
- }
310
- ```
311
-
312
- Output: `+120/-30 lines`
313
-
314
- #### Live clock and git branch
315
-
316
- Use `refreshInterval` when the statusline shows data that changes without an Agent event (e.g. the clock, uptime, or rate-limit counters):
317
-
318
- ```json
319
- {
320
- "ui": {
321
- "statusLine": {
322
- "type": "command",
323
- "command": "input=$(cat); branch=$(echo \"$input\" | jq -r '.git.branch // \"no-git\"'); echo \"$(date +%H:%M:%S) ($branch)\"",
324
- "refreshInterval": 1
325
- }
326
- }
327
- }
328
- ```
329
-
330
- Output (refreshed every second): `14:32:07 (main)`
331
-
332
- #### Script file for complex commands
333
-
334
- For longer commands, save a script file at `~/.matilda/statusline-command.sh`:
335
-
336
- ```bash
337
- #!/bin/bash
338
- input=$(cat)
339
- model=$(echo "$input" | jq -r '.model.display_name')
340
- pct=$(echo "$input" | jq -r '.context_window.used_percentage')
341
- branch=$(echo "$input" | jq -r '.git.branch // empty')
342
- added=$(echo "$input" | jq -r '.metrics.files.total_lines_added')
343
- removed=$(echo "$input" | jq -r '.metrics.files.total_lines_removed')
344
-
345
- parts=()
346
- [ -n "$model" ] && parts+=("$model")
347
- [ -n "$branch" ] && parts+=("($branch)")
348
- [ "$pct" != "0" ] 2>/dev/null && parts+=("ctx:${pct}%")
349
- ([ "$added" -gt 0 ] || [ "$removed" -gt 0 ]) 2>/dev/null && parts+=("+${added}/-${removed}")
350
-
351
- echo "${parts[*]}"
352
- ```
353
-
354
- Then reference it in settings:
355
-
356
- ```json
357
- {
358
- "ui": {
359
- "statusLine": {
360
- "type": "command",
361
- "command": "bash ~/.matilda/statusline-command.sh"
362
- }
363
- }
364
- }
365
- ```
366
-
367
- ## Behavior
368
-
369
- **Both modes:**
370
-
371
- - **Update triggers**: The status line updates when the model changes, a new message is sent (token count changes), vim mode is toggled, git branch changes, tool calls complete, or file changes occur. Updates are debounced (300ms).
372
- - **Output**: Up to 2 lines. Each line is rendered as a separate row in the footer's left section. Lines that exceed the available width are truncated.
373
- - **Hot reload**: Changes to `ui.statusLine` in settings take effect immediately — no restart required.
374
- - **Removal**: Delete the `ui.statusLine` key from settings to disable. The "? for shortcuts" hint returns.
375
-
376
- **Command mode only:**
377
-
378
- - **Timeout**: Commands that take longer than 5 seconds are killed. The status line clears on failure.
379
- - **Refresh**: Set `refreshInterval` (seconds) to additionally re-run the command on a timer — useful for data that changes without an Agent event (clock, rate limits, build status).
380
- - **Shell**: Commands run via `/bin/sh` on macOS/Linux. On Windows, `cmd.exe` is used by default — wrap POSIX commands with `bash -c "..."` or point to a bash script (e.g. `bash ~/.matilda/statusline-command.sh`).
381
-
382
- **Preset mode only:**
383
-
384
- - **No external dependencies**: Preset items are computed internally — no shell commands, no `jq`, no timeouts.
385
- - **Theme integration**: When `useThemeColors` is `true` (default), the status line text uses the active `/theme` color. When `false`, dimmed footer styling is applied.
386
- - **PR lookup**: The `pull-request-number` item runs `gh pr view` in the background (2s timeout). It only triggers when the branch changes, not on every update.
387
-
388
- ## Troubleshooting
389
-
390
- | Problem | Cause | Fix |
391
- | --------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
392
- | Status line not showing | Config at wrong path | Must be under `ui.statusLine`, not root-level `statusLine` |
393
- | Empty output (command mode) | Command fails silently | Test manually: `echo '{"session_id":"test","version":"0.14.1","model":{"display_name":"test"},"context_window":{"context_window_size":0,"used_percentage":0,"remaining_percentage":100,"current_usage":0,"total_input_tokens":0,"total_output_tokens":0},"workspace":{"current_dir":"/tmp"},"metrics":{"models":{},"files":{"total_lines_added":0,"total_lines_removed":0}}}' \| sh -c 'your_command'` |
394
- | Stale data (command mode) | No trigger fired | Send a message or switch models to trigger an update — or set `refreshInterval` to re-run the command on a timer |
395
- | Command too slow | Complex script | Optimize the script or move heavy work to a background cache |
396
- | Preset items missing | Conditional items have no data | `git-branch` is hidden outside git repos; `context-used` is hidden when usage is 0; `branch-changes` is hidden when no files changed. This is expected — items appear once their data is available |
397
- | PR number not showing | `gh` CLI not installed | Install [GitHub CLI](https://cli.github.com/) and authenticate with `gh auth login`. The lookup runs with a 2s timeout |