@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,199 +0,0 @@
1
- # Themes
2
-
3
- Matilda Code supports a variety of themes to customize its color scheme and appearance. You can change the theme to suit your preferences via the `/theme` command or `"theme":` configuration setting.
4
-
5
- ## Available Themes
6
-
7
- Matilda Code comes with a selection of pre-defined themes, which you can list using the `/theme` command within the CLI:
8
-
9
- - **Dark Themes:**
10
- - `ANSI`
11
- - `Atom One`
12
- - `Ayu`
13
- - `Default`
14
- - `Dracula`
15
- - `GitHub`
16
- - **Light Themes:**
17
- - `ANSI Light`
18
- - `Ayu Light`
19
- - `Default Light`
20
- - `GitHub Light`
21
- - `Google Code`
22
- - `Xcode`
23
-
24
- ### Changing Themes
25
-
26
- 1. Enter `/theme` into Matilda Code.
27
- 2. A dialog or selection prompt appears, listing the available themes.
28
- 3. Using the arrow keys, select a theme. Some interfaces might offer a live preview or highlight as you select.
29
- 4. Confirm your selection to apply the theme.
30
-
31
- **Note:** If a theme is defined in your `settings.json` file (either by name or by a file path), you must remove the `"theme"` setting from the file before you can change the theme using the `/theme` command.
32
-
33
- ### Theme Persistence
34
-
35
- Selected themes are saved in Matilda Code's [configuration](../configuration/settings) so your preference is remembered across sessions.
36
-
37
- ---
38
-
39
- ## Auto Theme Detection
40
-
41
- When the theme is set to `"auto"` (or left unset), Matilda Code automatically detects whether your terminal uses a dark or light background and selects the matching Matilda theme (`Matilda Dark` or `Matilda Light`).
42
-
43
- ### How to enable
44
-
45
- Set the theme to `"auto"` in `settings.json`:
46
-
47
- ```json
48
- {
49
- "ui": {
50
- "theme": "auto"
51
- }
52
- }
53
- ```
54
-
55
- Or select **Auto** in the `/theme` dialog. This is the default behavior when no theme is explicitly configured.
56
-
57
- ### Detection methods
58
-
59
- Matilda Code uses multiple detection methods in a fallback chain. At startup (async path), the order is:
60
-
61
- | Priority | Method | Platform | How it works |
62
- | -------- | ----------------------- | ---------- | ---------------------------------------------------------------------------------------------------- |
63
- | 1 | `COLORFGBG` | All | Reads the `COLORFGBG` environment variable (set by terminals like iTerm2, rxvt, Konsole) |
64
- | 2 | OSC 11 | All (TTY) | Sends an `ESC]11;?` query to the terminal and parses the background color from the response (~200ms) |
65
- | 3 | macOS system appearance | macOS only | Runs `defaults read -g AppleInterfaceStyle` to check if macOS Dark Mode is active |
66
- | 4 | Default | All | Falls back to dark theme if no method succeeds |
67
-
68
- The first method that returns a result wins. The detected value is cached for the session so subsequent theme resolutions (e.g. reselecting Auto in the `/theme` dialog) stay consistent.
69
-
70
- ### When to use Auto
71
-
72
- - **Most users** — Auto works well if your terminal background matches your OS appearance or if your terminal sets `COLORFGBG` / supports OSC 11.
73
- - **tmux / screen users** — OSC 11 may not pass through multiplexers. Detection falls back to `COLORFGBG` or macOS system appearance. If neither is available, the default dark theme is used. Set a specific theme if auto-detection gives the wrong result.
74
- - **SSH sessions** — detection depends on the remote environment. If `COLORFGBG` is not forwarded and the remote terminal doesn't respond to OSC 11, the default dark theme is used.
75
-
76
- ---
77
-
78
- ## Custom Color Themes
79
-
80
- Matilda Code allows you to create your own custom color themes by specifying them in your `settings.json` file. This gives you full control over the color palette used in the CLI.
81
-
82
- ### How to Define a Custom Theme
83
-
84
- Add a `customThemes` block to your user, project, or system `settings.json` file. Each custom theme is defined as an object with a unique name and a set of color keys. For example:
85
-
86
- ```json
87
- {
88
- "ui": {
89
- "customThemes": {
90
- "MyCustomTheme": {
91
- "name": "MyCustomTheme",
92
- "type": "custom",
93
- "Background": "#181818",
94
- ...
95
- }
96
- }
97
- }
98
- }
99
- ```
100
-
101
- **Color keys:**
102
-
103
- - `Background`
104
- - `Foreground`
105
- - `LightBlue`
106
- - `AccentBlue`
107
- - `AccentPurple`
108
- - `AccentCyan`
109
- - `AccentGreen`
110
- - `AccentYellow`
111
- - `AccentRed`
112
- - `Comment`
113
- - `Gray`
114
- - `DiffAdded` (optional, for added lines in diffs)
115
- - `DiffRemoved` (optional, for removed lines in diffs)
116
- - `DiffModified` (optional, for modified lines in diffs)
117
-
118
- **Required Properties:**
119
-
120
- - `name` (must match the key in the `customThemes` object and be a string)
121
- - `type` (must be the string `"custom"`)
122
- - `Background`
123
- - `Foreground`
124
- - `LightBlue`
125
- - `AccentBlue`
126
- - `AccentPurple`
127
- - `AccentCyan`
128
- - `AccentGreen`
129
- - `AccentYellow`
130
- - `AccentRed`
131
- - `Comment`
132
- - `Gray`
133
-
134
- You can use either hex codes (e.g., `#FF0000`) **or** standard CSS color names (e.g., `coral`, `teal`, `blue`) for any color value. See [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#color_keywords) for a full list of supported names.
135
-
136
- You can define multiple custom themes by adding more entries to the `customThemes` object.
137
-
138
- ### Loading Themes from a File
139
-
140
- In addition to defining custom themes in `settings.json`, you can also load a theme directly from a JSON file by specifying the file path in your `settings.json`. This is useful for sharing themes or keeping them separate from your main configuration.
141
-
142
- To load a theme from a file, set the `theme` property in your `settings.json` to the path of your theme file:
143
-
144
- ```json
145
- {
146
- "ui": {
147
- "theme": "/path/to/your/theme.json"
148
- }
149
- }
150
- ```
151
-
152
- The theme file must be a valid JSON file that follows the same structure as a custom theme defined in `settings.json`.
153
-
154
- **Example `my-theme.json`:**
155
-
156
- ```json
157
- {
158
- "name": "My File Theme",
159
- "type": "custom",
160
- "Background": "#282A36",
161
- "Foreground": "#F8F8F2",
162
- "LightBlue": "#82AAFF",
163
- "AccentBlue": "#61AFEF",
164
- "AccentPurple": "#BD93F9",
165
- "AccentCyan": "#8BE9FD",
166
- "AccentGreen": "#50FA7B",
167
- "AccentYellow": "#F1FA8C",
168
- "AccentRed": "#FF5555",
169
- "Comment": "#6272A4",
170
- "Gray": "#ABB2BF",
171
- "DiffAdded": "#A6E3A1",
172
- "DiffRemoved": "#F38BA8",
173
- "DiffModified": "#89B4FA",
174
- "GradientColors": ["#4796E4", "#847ACE", "#C3677F"]
175
- }
176
- ```
177
-
178
- **Security Note:** For your safety, Gemini CLI will only load theme files that are located within your home directory. If you attempt to load a theme from outside your home directory, a warning will be displayed and the theme will not be loaded. This is to prevent loading potentially malicious theme files from untrusted sources.
179
-
180
- ### Example Custom Theme
181
-
182
- <img src="https://gw.alicdn.com/imgextra/i1/O1CN01Em30Hc1jYXAdIgls3_!!6000000004560-2-tps-1009-629.png" alt=" " style="zoom:100%;text-align:center;margin: 0 auto;" />
183
-
184
- ### Using Your Custom Theme
185
-
186
- - Select your custom theme using the `/theme` command in Matilda Code. Your custom theme will appear in the theme selection dialog.
187
- - Or, set it as the default by adding `"theme": "MyCustomTheme"` to the `ui` object in your `settings.json`.
188
- - Custom themes can be set at the user, project, or system level, and follow the same [configuration precedence](../configuration/settings) as other settings.
189
-
190
- ## Themes Preview
191
-
192
- | Dark Theme | Preview | Light Theme | Preview |
193
- | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
194
- | ANSI | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01ZInJiq1GdSZc9gHsI_!!6000000000645-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | ANSI Light | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01IiJQFC1h9E3MXQj6W_!!6000000004234-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> |
195
- | Atom OneDark | <img src="https://gw.alicdn.com/imgextra/i2/O1CN01Zlx1SO1Sw21SkTKV3_!!6000000002310-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | Ayu Light | <img src="https://gw.alicdn.com/imgextra/i3/O1CN01zEUc1V1jeUJsnCgQb_!!6000000004573-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
196
- | Ayu | <img src="https://gw.alicdn.com/imgextra/i3/O1CN019upo6v1SmPhmRjzfN_!!6000000002289-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> | Default Light | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01RHjrEs1u7TXq3M6l3_!!6000000005990-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
197
- | Default | <img src="https://gw.alicdn.com/imgextra/i4/O1CN016pIeXz1pFC8owmR4Q_!!6000000005330-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | GitHub Light | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01US2b0g1VETCPAVWLA_!!6000000002621-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
198
- | Dracula | <img src="https://gw.alicdn.com/imgextra/i4/O1CN016htnWH20c3gd2LpUR_!!6000000006869-2-tps-1140-934.png" style="zoom:30%;text-align:center;margin: 0 auto;" /> | Google Code | <img src="https://gw.alicdn.com/imgextra/i1/O1CN01Ng29ab23iQ2BuYKz8_!!6000000007289-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
199
- | GitHub | <img src="https://gw.alicdn.com/imgextra/i4/O1CN01fFCRda1IQIQ9qDNqv_!!6000000000887-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> | Xcode | <img src="https://gw.alicdn.com/imgextra/i1/O1CN010E3QAi1Huh5o1E9LN_!!6000000000818-2-tps-1140-934.png" alt=" " style="zoom:30%;text-align:center;margin: 0 auto;" /> |
@@ -1,67 +0,0 @@
1
- # Trusted Folders
2
-
3
- The Trusted Folders feature is a security setting that gives you control over which projects can use the full capabilities of the Matilda Code. It asks you to approve a folder before the CLI admits its workspace settings and project hooks.
4
-
5
- ## Default Policy
6
-
7
- Folder trust is **enabled by default** for interactive CLI sessions. An unknown folder uses the existing trust dialog before its workspace settings and project hooks are admitted.
8
-
9
- To disable folder trust explicitly, add the following to your user `settings.json` file:
10
-
11
- ```json
12
- {
13
- "security": {
14
- "folderTrust": {
15
- "enabled": false
16
- }
17
- }
18
- }
19
- ```
20
-
21
- ## How It Works: The Trust Dialog
22
-
23
- Once the feature is enabled, the first time you run the Matilda Code from a folder, a dialog will automatically appear, prompting you to make a choice:
24
-
25
- - **Trust folder**: Grants full trust to the current folder (e.g. `my-project`).
26
- - **Trust parent folder**: Grants trust to the parent directory (e.g. `safe-projects`), which automatically trusts all of its subdirectories as well. This is useful if you keep all your safe projects in one place.
27
- - **Don't trust**: Marks the folder as untrusted. The CLI will operate in a restricted "safe mode."
28
-
29
- Your choice is saved in a central file (`~/.matilda/trustedFolders.json`), so you will only be asked once per folder.
30
-
31
- Explicit headless requests, including `-p` and piped input, retain implicit consent for unknown folders. Desktop uses its approved workspace and additional-directory manifest. These runtime decisions do not rewrite saved trust rules, and explicit rejections still apply. Generic ACP requests do not receive blanket consent.
32
-
33
- ## Why Trust Matters: The Impact of an Untrusted Workspace
34
-
35
- When a folder is **untrusted**, the Matilda Code runs in a restricted "safe mode" to protect you. In this mode, the following features are disabled:
36
-
37
- 1. **Workspace Settings are Ignored**: The CLI will **not** load the `.matilda/settings.json` file from the project. This prevents the loading of custom tools and other potentially dangerous configurations.
38
-
39
- 2. **Project Environment Files Need Trust**: Unknown and rejected folders do not load project `.env` files. User-level environment files remain available.
40
-
41
- 3. **Extension Management is Restricted**: You **cannot install, update, or uninstall** extensions.
42
-
43
- 4. **Tool Auto-Acceptance is Disabled**: You will always be prompted before any tool is run, even if you have auto-acceptance enabled globally.
44
-
45
- 5. **Automatic Memory Loading is Disabled**: The CLI will not automatically load files into context from directories specified in local settings.
46
-
47
- Granting trust to a folder unlocks the full functionality of the Matilda Code for that workspace.
48
-
49
- Even in trusted folders, project `.env`, `.matilda/.env` and workspace `settings.env` cannot change process bootstrap or policy variables, including `NODE_OPTIONS`, `NODE_PATH`, `BASH_ENV`, `LD_PRELOAD`, `PATH`, storage locations, trust-file locations and Desktop directory consent. Ordinary variables, including gateway `*_BASE_URL` values, remain available. User-level files keep their initial loading behavior.
50
-
51
- ## Managing Your Trust Settings
52
-
53
- If you need to change a decision or see all your settings, you have a couple of options:
54
-
55
- - **Change the Current Folder's Trust**: Run the `/permissions` command from within the CLI. This will bring up the same interactive dialog, allowing you to change the trust level for the current folder.
56
-
57
- - **View All Trust Rules**: To see a complete list of all your trusted and untrusted folder rules, you can inspect the contents of the `~/.matilda/trustedFolders.json` file in your home directory.
58
-
59
- ## The Trust Check Process (Advanced)
60
-
61
- For advanced users, it's helpful to know the exact order of operations for how trust is determined:
62
-
63
- 1. **IDE Trust Signal**: If you are using the [IDE Integration](../ide-integration/ide-integration), the CLI first asks the IDE if the workspace is trusted. The IDE's response takes highest priority.
64
-
65
- 2. **Local Trust File**: If the IDE is not connected, the CLI checks the central `~/.matilda/trustedFolders.json` file.
66
-
67
- 3. **Runtime Consent**: If no saved decision exists, explicit headless use or Desktop's approved-directory manifest can grant trust for that runtime. Other unknown folders remain unresolved until the interactive choice.
@@ -1,9 +0,0 @@
1
- export default {
2
- introduction: 'Introduction',
3
- 'getting-started-extensions': {
4
- display: 'hidden',
5
- },
6
- 'extension-releasing': {
7
- display: 'hidden',
8
- },
9
- };
@@ -1,204 +0,0 @@
1
- # Extension Releasing
2
-
3
- There are three primary ways of releasing extensions to users:
4
-
5
- - [Git repository](#releasing-through-a-git-repository)
6
- - [Github Releases](#releasing-through-github-releases)
7
- - [npm Registry](#releasing-through-npm-registry)
8
-
9
- Git repository releases tend to be the simplest and most flexible approach, while GitHub releases can be more efficient on initial install as they are shipped as single archives instead of requiring a git clone which downloads each file individually. Github releases may also contain platform specific archives if you need to ship platform specific binary files. npm registry releases are ideal for teams that already use npm for package distribution, especially with private registries.
10
-
11
- ## Releasing through a git repository
12
-
13
- This is the most flexible and simple option. All you need to do us create a publicly accessible git repo (such as a public github repository) and then users can install your extension using `matilda extensions install <your-repo-uri>`, or for a GitHub repository they can use the simplified `matilda extensions install <org>/<repo>` format. They can optionally depend on a specific ref (branch/tag/commit) using the `--ref=<some-ref>` argument, this defaults to the default branch.
14
-
15
- Whenever commits are pushed to the ref that a user depends on, they will be prompted to update the extension. Note that this also allows for easy rollbacks, the HEAD commit is always treated as the latest version regardless of the actual version in the `matilda-extension.json` file.
16
-
17
- ### Managing release channels using a git repository
18
-
19
- Users can depend on any ref from your git repo, such as a branch or tag, which allows you to manage multiple release channels.
20
-
21
- For instance, you can maintain a `stable` branch, which users can install this way `matilda extensions install <your-repo-uri> --ref=stable`. Or, you could make this the default by treating your default branch as your stable release branch, and doing development in a different branch (for instance called `dev`). You can maintain as many branches or tags as you like, providing maximum flexibility for you and your users.
22
-
23
- Note that these `ref` arguments can be tags, branches, or even specific commits, which allows users to depend on a specific version of your extension. It is up to you how you want to manage your tags and branches.
24
-
25
- ### Example releasing flow using a git repo
26
-
27
- While there are many options for how you want to manage releases using a git flow, we recommend treating your default branch as your "stable" release branch. This means that the default behavior for `matilda extensions install <your-repo-uri>` is to be on the stable release branch.
28
-
29
- Lets say you want to maintain three standard release channels, `stable`, `preview`, and `dev`. You would do all your standard development in the `dev` branch. When you are ready to do a preview release, you merge that branch into your `preview` branch. When you are ready to promote your preview branch to stable, you merge `preview` into your stable branch (which might be your default branch or a different branch).
30
-
31
- You can also cherry pick changes from one branch into another using `git cherry-pick`, but do note that this will result in your branches having a slightly divergent history from each other, unless you force push changes to your branches on each release to restore the history to a clean slate (which may not be possible for the default branch depending on your repository settings). If you plan on doing cherry picks, you may want to avoid having your default branch be the stable branch to avoid force-pushing to the default branch which should generally be avoided.
32
-
33
- ## Releasing through Github releases
34
-
35
- Matilda Code extensions can be distributed through [GitHub Releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases). This provides a faster and more reliable initial installation experience for users, as it avoids the need to clone the repository.
36
-
37
- Each release includes at least one archive file, which contains the full contents of the repo at the tag that it was linked to. Releases may also include [pre-built archives](#custom-pre-built-archives) if your extension requires some build step or has platform specific binaries attached to it.
38
-
39
- When checking for updates, matilda code will just look for the latest release on github (you must mark it as such when creating the release), unless the user installed a specific release by passing `--ref=<some-release-tag>`. We do not at this time support opting in to pre-release releases or semver.
40
-
41
- ### Custom pre-built archives
42
-
43
- Custom archives must be attached directly to the github release as assets and must be fully self-contained. This means they should include the entire extension, see [archive structure](#archive-structure).
44
-
45
- If your extension is platform-independent, you can provide a single generic asset. In this case, there should be only one asset attached to the release.
46
-
47
- Custom archives may also be used if you want to develop your extension within a larger repository, you can build an archive which has a different layout from the repo itself (for instance it might just be an archive of a subdirectory containing the extension).
48
-
49
- #### Platform specific archives
50
-
51
- To ensure Matilda Code can automatically find the correct release asset for each platform, you must follow this naming convention. The CLI will search for assets in the following order:
52
-
53
- 1. **Platform and Architecture-Specific:** `{platform}.{arch}.{name}.{extension}`
54
- 2. **Platform-Specific:** `{platform}.{name}.{extension}`
55
- 3. **Generic:** If only one asset is provided, it will be used as a generic fallback.
56
-
57
- - `{name}`: The name of your extension.
58
- - `{platform}`: The operating system. Supported values are:
59
- - `darwin` (macOS)
60
- - `linux`
61
- - `win32` (Windows)
62
- - `{arch}`: The architecture. Supported values are:
63
- - `x64`
64
- - `arm64`
65
- - `{extension}`: The file extension of the archive (e.g., `.tar.gz` or `.zip`).
66
-
67
- **Examples:**
68
-
69
- - `darwin.arm64.my-tool.tar.gz` (specific to Apple Silicon Macs)
70
- - `darwin.my-tool.tar.gz` (for all Macs)
71
- - `linux.x64.my-tool.tar.gz`
72
- - `win32.my-tool.zip`
73
-
74
- #### Archive structure
75
-
76
- Archives must be fully contained extensions and have all the standard requirements - specifically the `matilda-extension.json` file must be at the root of the archive.
77
-
78
- The rest of the layout should look exactly the same as a typical extension, see [extensions.md](extension.md).
79
-
80
- #### Example GitHub Actions workflow
81
-
82
- Here is an example of a GitHub Actions workflow that builds and releases a Matilda Code extension for multiple platforms:
83
-
84
- ```yaml
85
- name: Release Extension
86
-
87
- on:
88
- push:
89
- tags:
90
- - 'v*'
91
-
92
- jobs:
93
- release:
94
- runs-on: ubuntu-latest
95
- steps:
96
- - uses: actions/checkout@v3
97
-
98
- - name: Set up Node.js
99
- uses: actions/setup-node@v3
100
- with:
101
- node-version: '22'
102
-
103
- - name: Install dependencies
104
- run: npm ci
105
-
106
- - name: Build extension
107
- run: npm run build
108
-
109
- - name: Create release assets
110
- run: |
111
- npm run package -- --platform=darwin --arch=arm64
112
- npm run package -- --platform=linux --arch=x64
113
- npm run package -- --platform=win32 --arch=x64
114
-
115
- - name: Create GitHub Release
116
- uses: softprops/action-gh-release@v1
117
- with:
118
- files: |
119
- release/darwin.arm64.my-tool.tar.gz
120
- release/linux.arm64.my-tool.tar.gz
121
- release/win32.arm64.my-tool.zip
122
- ```
123
-
124
- ## Releasing through npm registry
125
-
126
- You can publish Matilda Code extensions as scoped npm packages (e.g. `@your-org/my-extension`). This is a good fit when:
127
-
128
- - Your team already uses npm for package distribution
129
- - You need private registry support with existing auth infrastructure
130
- - You want version resolution and access control handled by npm
131
-
132
- ### Package requirements
133
-
134
- Your npm package must include a `matilda-extension.json` file at the package root. This is the same config file used by all Matilda Code extensions — the npm tarball is simply another delivery mechanism.
135
-
136
- A minimal package structure looks like:
137
-
138
- ```
139
- my-extension/
140
- ├── package.json
141
- ├── matilda-extension.json
142
- ├── MATILDA.md # optional context file
143
- ├── commands/ # optional custom commands
144
- ├── skills/ # optional custom skills
145
- └── agents/ # optional custom subagents
146
- ```
147
-
148
- Make sure `matilda-extension.json` is included in your published package (i.e. not excluded by `.npmignore` or the `files` field in `package.json`).
149
-
150
- ### Publishing
151
-
152
- Use standard npm publishing tools:
153
-
154
- ```bash
155
- # Publish to the default registry
156
- npm publish
157
-
158
- # Publish to a private/custom registry
159
- npm publish --registry https://your-registry.com
160
- ```
161
-
162
- ### Installation
163
-
164
- Users install your extension using the scoped package name:
165
-
166
- ```bash
167
- # Install latest version
168
- matilda extensions install @your-org/my-extension
169
-
170
- # Install a specific version
171
- matilda extensions install @your-org/my-extension@1.2.0
172
-
173
- # Install from a custom registry
174
- matilda extensions install @your-org/my-extension --registry https://your-registry.com
175
- ```
176
-
177
- ### Update behavior
178
-
179
- - Extensions installed without a version pin (e.g. `@scope/pkg`) track the `latest` dist-tag.
180
- - Extensions installed with a dist-tag (e.g. `@scope/pkg@beta`) track that specific tag.
181
- - Extensions pinned to an exact version (e.g. `@scope/pkg@1.2.0`) are always considered up-to-date and will not prompt for updates.
182
-
183
- ### Authentication for private registries
184
-
185
- Matilda Code reads npm auth credentials automatically:
186
-
187
- 1. **`NPM_TOKEN` environment variable** — highest priority
188
- 2. **`.npmrc` file** — supports both host-level and path-scoped `_authToken` entries (e.g. `//your-registry.com/:_authToken=TOKEN` or `//pkgs.dev.azure.com/org/_packaging/feed/npm/registry/:_authToken=TOKEN`)
189
-
190
- `.npmrc` files are read from the current directory and the user's home directory.
191
-
192
- ### Managing release channels
193
-
194
- You can use npm dist-tags to manage release channels:
195
-
196
- ```bash
197
- # Publish a beta release
198
- npm publish --tag beta
199
-
200
- # Users install beta channel
201
- matilda extensions install @your-org/my-extension@beta
202
- ```
203
-
204
- This works similarly to git branch-based release channels but uses npm's native dist-tag mechanism.