indusagi-coding-agent 0.1.0 → 0.1.2

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 (558) hide show
  1. package/CHANGELOG.md +2249 -2249
  2. package/README.md +540 -546
  3. package/dist/cli/args.d.ts +47 -0
  4. package/dist/cli/args.d.ts.map +1 -0
  5. package/dist/cli/args.js +122 -121
  6. package/dist/cli/args.js.map +1 -0
  7. package/dist/cli/config-selector.d.ts +14 -0
  8. package/dist/cli/config-selector.d.ts.map +1 -0
  9. package/dist/cli/config-selector.js +1 -0
  10. package/dist/cli/config-selector.js.map +1 -0
  11. package/dist/cli/file-processor.d.ts +15 -0
  12. package/dist/cli/file-processor.d.ts.map +1 -0
  13. package/dist/cli/file-processor.js +1 -0
  14. package/dist/cli/file-processor.js.map +1 -0
  15. package/dist/cli/list-models.d.ts +9 -0
  16. package/dist/cli/list-models.d.ts.map +1 -0
  17. package/dist/cli/list-models.js +1 -0
  18. package/dist/cli/list-models.js.map +1 -0
  19. package/dist/cli/session-picker.d.ts +9 -0
  20. package/dist/cli/session-picker.d.ts.map +1 -0
  21. package/dist/cli/session-picker.js +1 -0
  22. package/dist/cli/session-picker.js.map +1 -0
  23. package/dist/cli.d.ts +3 -0
  24. package/dist/cli.d.ts.map +1 -0
  25. package/dist/cli.js +1 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/config.d.ts +66 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +1 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/core/agent-session.d.ts +588 -0
  32. package/dist/core/agent-session.d.ts.map +1 -0
  33. package/dist/core/agent-session.js +118 -98
  34. package/dist/core/agent-session.js.map +1 -0
  35. package/dist/core/auth-storage.d.ts +107 -0
  36. package/dist/core/auth-storage.d.ts.map +1 -0
  37. package/dist/core/auth-storage.js +5 -2
  38. package/dist/core/auth-storage.js.map +1 -0
  39. package/dist/core/bash-executor.d.ts +47 -0
  40. package/dist/core/bash-executor.d.ts.map +1 -0
  41. package/dist/core/bash-executor.js +1 -0
  42. package/dist/core/bash-executor.js.map +1 -0
  43. package/dist/core/compaction/branch-summarization.d.ts +86 -0
  44. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  45. package/dist/core/compaction/branch-summarization.js +31 -30
  46. package/dist/core/compaction/branch-summarization.js.map +1 -0
  47. package/dist/core/compaction/compaction.d.ts +121 -0
  48. package/dist/core/compaction/compaction.d.ts.map +1 -0
  49. package/dist/core/compaction/compaction.js +82 -81
  50. package/dist/core/compaction/compaction.js.map +1 -0
  51. package/dist/core/compaction/index.d.ts +7 -0
  52. package/dist/core/compaction/index.d.ts.map +1 -0
  53. package/dist/core/compaction/index.js +1 -0
  54. package/dist/core/compaction/index.js.map +1 -0
  55. package/dist/core/compaction/utils.d.ts +35 -0
  56. package/dist/core/compaction/utils.d.ts.map +1 -0
  57. package/dist/core/compaction/utils.js +3 -2
  58. package/dist/core/compaction/utils.js.map +1 -0
  59. package/dist/core/diagnostics.d.ts +15 -0
  60. package/dist/core/diagnostics.d.ts.map +1 -0
  61. package/dist/core/diagnostics.js +1 -0
  62. package/dist/core/diagnostics.js.map +1 -0
  63. package/dist/core/event-bus.d.ts +9 -0
  64. package/dist/core/event-bus.d.ts.map +1 -0
  65. package/dist/core/event-bus.js +1 -0
  66. package/dist/core/event-bus.js.map +1 -0
  67. package/dist/core/exec.d.ts +29 -0
  68. package/dist/core/exec.d.ts.map +1 -0
  69. package/dist/core/exec.js +1 -0
  70. package/dist/core/exec.js.map +1 -0
  71. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  72. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  73. package/dist/core/export-html/ansi-to-html.js +1 -0
  74. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  75. package/dist/core/export-html/index.d.ts +34 -0
  76. package/dist/core/export-html/index.d.ts.map +1 -0
  77. package/dist/core/export-html/index.js +1 -0
  78. package/dist/core/export-html/index.js.map +1 -0
  79. package/dist/core/export-html/template.css +905 -905
  80. package/dist/core/export-html/template.html +54 -54
  81. package/dist/core/export-html/template.js +1549 -1549
  82. package/dist/core/export-html/tool-renderer.d.ts +35 -0
  83. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  84. package/dist/core/export-html/tool-renderer.js +1 -0
  85. package/dist/core/export-html/tool-renderer.js.map +1 -0
  86. package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
  87. package/dist/core/export-html/vendor/marked.min.js +6 -6
  88. package/dist/core/extensions/index.d.ts +10 -0
  89. package/dist/core/extensions/index.d.ts.map +1 -0
  90. package/dist/core/extensions/index.js +1 -0
  91. package/dist/core/extensions/index.js.map +1 -0
  92. package/dist/core/extensions/loader.d.ts +25 -0
  93. package/dist/core/extensions/loader.d.ts.map +1 -0
  94. package/dist/core/extensions/loader.js +1 -0
  95. package/dist/core/extensions/loader.js.map +1 -0
  96. package/dist/core/extensions/runner.d.ts +104 -0
  97. package/dist/core/extensions/runner.d.ts.map +1 -0
  98. package/dist/core/extensions/runner.js +20 -13
  99. package/dist/core/extensions/runner.js.map +1 -0
  100. package/dist/core/extensions/types.d.ts +834 -0
  101. package/dist/core/extensions/types.d.ts.map +1 -0
  102. package/dist/core/extensions/types.js +1 -0
  103. package/dist/core/extensions/types.js.map +1 -0
  104. package/dist/core/extensions/wrapper.d.ts +27 -0
  105. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  106. package/dist/core/extensions/wrapper.js +1 -0
  107. package/dist/core/extensions/wrapper.js.map +1 -0
  108. package/dist/core/footer-data-provider.d.ts +32 -0
  109. package/dist/core/footer-data-provider.d.ts.map +1 -0
  110. package/dist/core/footer-data-provider.js +6 -5
  111. package/dist/core/footer-data-provider.js.map +1 -0
  112. package/dist/core/index.d.ts +9 -0
  113. package/dist/core/index.d.ts.map +1 -0
  114. package/dist/core/index.js +1 -0
  115. package/dist/core/index.js.map +1 -0
  116. package/dist/core/keybindings.d.ts +55 -0
  117. package/dist/core/keybindings.d.ts.map +1 -0
  118. package/dist/core/keybindings.js +3 -0
  119. package/dist/core/keybindings.js.map +1 -0
  120. package/dist/core/messages.d.ts +77 -0
  121. package/dist/core/messages.d.ts.map +1 -0
  122. package/dist/core/messages.js +8 -7
  123. package/dist/core/messages.js.map +1 -0
  124. package/dist/core/model-registry.d.ts +99 -0
  125. package/dist/core/model-registry.d.ts.map +1 -0
  126. package/dist/core/model-registry.js +7 -4
  127. package/dist/core/model-registry.js.map +1 -0
  128. package/dist/core/model-resolver.d.ts +76 -0
  129. package/dist/core/model-resolver.d.ts.map +1 -0
  130. package/dist/core/model-resolver.js +1 -0
  131. package/dist/core/model-resolver.js.map +1 -0
  132. package/dist/core/package-manager.d.ts +134 -0
  133. package/dist/core/package-manager.d.ts.map +1 -0
  134. package/dist/core/package-manager.js +6 -0
  135. package/dist/core/package-manager.js.map +1 -0
  136. package/dist/core/prompt-templates.d.ts +50 -0
  137. package/dist/core/prompt-templates.d.ts.map +1 -0
  138. package/dist/core/prompt-templates.js +1 -0
  139. package/dist/core/prompt-templates.js.map +1 -0
  140. package/dist/core/resource-loader.d.ts +160 -0
  141. package/dist/core/resource-loader.d.ts.map +1 -0
  142. package/dist/core/resource-loader.js +35 -0
  143. package/dist/core/resource-loader.js.map +1 -0
  144. package/dist/core/sdk.d.ts +90 -0
  145. package/dist/core/sdk.d.ts.map +1 -0
  146. package/dist/core/sdk.js +1 -0
  147. package/dist/core/sdk.js.map +1 -0
  148. package/dist/core/session-manager.d.ts +321 -0
  149. package/dist/core/session-manager.d.ts.map +1 -0
  150. package/dist/core/session-manager.js +11 -6
  151. package/dist/core/session-manager.js.map +1 -0
  152. package/dist/core/settings-manager.d.ts +173 -0
  153. package/dist/core/settings-manager.d.ts.map +1 -0
  154. package/dist/core/settings-manager.js +7 -0
  155. package/dist/core/settings-manager.js.map +1 -0
  156. package/dist/core/skills.d.ts +58 -0
  157. package/dist/core/skills.d.ts.map +1 -0
  158. package/dist/core/skills.js +1 -0
  159. package/dist/core/skills.js.map +1 -0
  160. package/dist/core/system-prompt.d.ts +24 -0
  161. package/dist/core/system-prompt.d.ts.map +1 -0
  162. package/dist/core/system-prompt.js +17 -16
  163. package/dist/core/system-prompt.js.map +1 -0
  164. package/dist/core/timings.d.ts +7 -0
  165. package/dist/core/timings.d.ts.map +1 -0
  166. package/dist/core/timings.js +1 -0
  167. package/dist/core/timings.js.map +1 -0
  168. package/dist/core/tools/bash.d.ts +44 -0
  169. package/dist/core/tools/bash.d.ts.map +1 -0
  170. package/dist/core/tools/bash.js +1 -0
  171. package/dist/core/tools/bash.js.map +1 -0
  172. package/dist/core/tools/edit-diff.d.ts +63 -0
  173. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  174. package/dist/core/tools/edit-diff.js +1 -0
  175. package/dist/core/tools/edit-diff.js.map +1 -0
  176. package/dist/core/tools/edit.d.ts +37 -0
  177. package/dist/core/tools/edit.d.ts.map +1 -0
  178. package/dist/core/tools/edit.js +1 -0
  179. package/dist/core/tools/edit.js.map +1 -0
  180. package/dist/core/tools/find.d.ts +37 -0
  181. package/dist/core/tools/find.d.ts.map +1 -0
  182. package/dist/core/tools/find.js +1 -0
  183. package/dist/core/tools/find.js.map +1 -0
  184. package/dist/core/tools/grep.d.ts +43 -0
  185. package/dist/core/tools/grep.d.ts.map +1 -0
  186. package/dist/core/tools/grep.js +1 -0
  187. package/dist/core/tools/grep.js.map +1 -0
  188. package/dist/core/tools/index.d.ts +73 -0
  189. package/dist/core/tools/index.d.ts.map +1 -0
  190. package/dist/core/tools/index.js +1 -0
  191. package/dist/core/tools/index.js.map +1 -0
  192. package/dist/core/tools/ls.d.ts +38 -0
  193. package/dist/core/tools/ls.d.ts.map +1 -0
  194. package/dist/core/tools/ls.js +1 -0
  195. package/dist/core/tools/ls.js.map +1 -0
  196. package/dist/core/tools/path-utils.d.ts +8 -0
  197. package/dist/core/tools/path-utils.d.ts.map +1 -0
  198. package/dist/core/tools/path-utils.js +1 -0
  199. package/dist/core/tools/path-utils.js.map +1 -0
  200. package/dist/core/tools/read.d.ts +37 -0
  201. package/dist/core/tools/read.d.ts.map +1 -0
  202. package/dist/core/tools/read.js +1 -0
  203. package/dist/core/tools/read.js.map +1 -0
  204. package/dist/core/tools/truncate.d.ts +70 -0
  205. package/dist/core/tools/truncate.d.ts.map +1 -0
  206. package/dist/core/tools/truncate.js +1 -0
  207. package/dist/core/tools/truncate.js.map +1 -0
  208. package/dist/core/tools/write.d.ts +27 -0
  209. package/dist/core/tools/write.d.ts.map +1 -0
  210. package/dist/core/tools/write.js +1 -0
  211. package/dist/core/tools/write.js.map +1 -0
  212. package/dist/index.d.ts +27 -0
  213. package/dist/index.d.ts.map +1 -0
  214. package/dist/index.js +1 -0
  215. package/dist/index.js.map +1 -0
  216. package/dist/main.d.ts +8 -0
  217. package/dist/main.d.ts.map +1 -0
  218. package/dist/main.js +1 -0
  219. package/dist/main.js.map +1 -0
  220. package/dist/migrations.d.ts +33 -0
  221. package/dist/migrations.d.ts.map +1 -0
  222. package/dist/migrations.js +1 -0
  223. package/dist/migrations.js.map +1 -0
  224. package/dist/modes/index.d.ts +9 -0
  225. package/dist/modes/index.d.ts.map +1 -0
  226. package/dist/modes/index.js +1 -0
  227. package/dist/modes/index.js.map +1 -0
  228. package/dist/modes/interactive/components/armin.d.ts +34 -0
  229. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  230. package/dist/modes/interactive/components/armin.js +11 -6
  231. package/dist/modes/interactive/components/armin.js.map +1 -0
  232. package/dist/modes/interactive/components/assistant-message.d.ts +16 -0
  233. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  234. package/dist/modes/interactive/components/assistant-message.js +5 -0
  235. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  236. package/dist/modes/interactive/components/bash-execution.d.ts +35 -0
  237. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  238. package/dist/modes/interactive/components/bash-execution.js +11 -4
  239. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  240. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  241. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  242. package/dist/modes/interactive/components/bordered-loader.js +4 -0
  243. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  244. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  245. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  246. package/dist/modes/interactive/components/branch-summary-message.js +4 -1
  247. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  248. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  249. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  250. package/dist/modes/interactive/components/compaction-summary-message.js +4 -1
  251. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  252. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  253. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  254. package/dist/modes/interactive/components/config-selector.js +16 -6
  255. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  256. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  257. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  258. package/dist/modes/interactive/components/countdown-timer.js +6 -0
  259. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  260. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  261. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  262. package/dist/modes/interactive/components/custom-editor.js +9 -1
  263. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  264. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  265. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  266. package/dist/modes/interactive/components/custom-message.js +7 -1
  267. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  268. package/dist/modes/interactive/components/diff.d.ts +12 -0
  269. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  270. package/dist/modes/interactive/components/diff.js +1 -0
  271. package/dist/modes/interactive/components/diff.js.map +1 -0
  272. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  273. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  274. package/dist/modes/interactive/components/dynamic-border.js +2 -0
  275. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  276. package/dist/modes/interactive/components/extension-editor.d.ts +17 -0
  277. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  278. package/dist/modes/interactive/components/extension-editor.js +6 -0
  279. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  280. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  281. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  282. package/dist/modes/interactive/components/extension-input.js +9 -2
  283. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  284. package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
  285. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  286. package/dist/modes/interactive/components/extension-selector.js +9 -1
  287. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  288. package/dist/modes/interactive/components/footer.d.ts +26 -0
  289. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  290. package/dist/modes/interactive/components/footer.js +4 -1
  291. package/dist/modes/interactive/components/footer.js.map +1 -0
  292. package/dist/modes/interactive/components/index.d.ts +31 -0
  293. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  294. package/dist/modes/interactive/components/index.js +1 -0
  295. package/dist/modes/interactive/components/index.js.map +1 -0
  296. package/dist/modes/interactive/components/keybinding-hints.d.ts +41 -0
  297. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  298. package/dist/modes/interactive/components/keybinding-hints.js +1 -0
  299. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  300. package/dist/modes/interactive/components/login-dialog.d.ts +42 -0
  301. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  302. package/dist/modes/interactive/components/login-dialog.js +10 -3
  303. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  304. package/dist/modes/interactive/components/model-selector.d.ts +47 -0
  305. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  306. package/dist/modes/interactive/components/model-selector.js +21 -8
  307. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  308. package/dist/modes/interactive/components/oauth-selector.d.ts +19 -0
  309. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  310. package/dist/modes/interactive/components/oauth-selector.js +8 -2
  311. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  312. package/dist/modes/interactive/components/scoped-models-selector.d.ts +49 -0
  313. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  314. package/dist/modes/interactive/components/scoped-models-selector.js +14 -9
  315. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  316. package/dist/modes/interactive/components/session-selector-search.d.ts +21 -0
  317. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  318. package/dist/modes/interactive/components/session-selector-search.js +1 -0
  319. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  320. package/dist/modes/interactive/components/session-selector.d.ts +85 -0
  321. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  322. package/dist/modes/interactive/components/session-selector.js +53 -31
  323. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  324. package/dist/modes/interactive/components/settings-selector.d.ts +49 -0
  325. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  326. package/dist/modes/interactive/components/settings-selector.js +3 -0
  327. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  328. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  329. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  330. package/dist/modes/interactive/components/show-images-selector.js +2 -0
  331. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  332. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  333. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  334. package/dist/modes/interactive/components/skill-invocation-message.js +4 -1
  335. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  336. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  337. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  338. package/dist/modes/interactive/components/theme-selector.js +3 -0
  339. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  340. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  341. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  342. package/dist/modes/interactive/components/thinking-selector.js +2 -0
  343. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  344. package/dist/modes/interactive/components/tool-execution.d.ts +70 -0
  345. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  346. package/dist/modes/interactive/components/tool-execution.js +19 -6
  347. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  348. package/dist/modes/interactive/components/tree-selector.d.ts +62 -0
  349. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  350. package/dist/modes/interactive/components/tree-selector.js +28 -13
  351. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  352. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  353. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  354. package/dist/modes/interactive/components/user-message-selector.js +7 -3
  355. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  356. package/dist/modes/interactive/components/user-message.d.ts +8 -0
  357. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  358. package/dist/modes/interactive/components/user-message.js +1 -0
  359. package/dist/modes/interactive/components/user-message.js.map +1 -0
  360. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  361. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  362. package/dist/modes/interactive/components/visual-truncate.js +1 -0
  363. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  364. package/dist/modes/interactive/interactive-mode.d.ts +323 -0
  365. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  366. package/dist/modes/interactive/interactive-mode.js +124 -101
  367. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  368. package/dist/modes/interactive/theme/dark.json +85 -85
  369. package/dist/modes/interactive/theme/light.json +84 -84
  370. package/dist/modes/interactive/theme/theme-schema.json +335 -335
  371. package/dist/modes/interactive/theme/theme.d.ts +78 -0
  372. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  373. package/dist/modes/interactive/theme/theme.js +6 -0
  374. package/dist/modes/interactive/theme/theme.js.map +1 -0
  375. package/dist/modes/print-mode.d.ts +28 -0
  376. package/dist/modes/print-mode.d.ts.map +1 -0
  377. package/dist/modes/print-mode.js +1 -0
  378. package/dist/modes/print-mode.js.map +1 -0
  379. package/dist/modes/rpc/rpc-client.d.ts +209 -0
  380. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  381. package/dist/modes/rpc/rpc-client.js +8 -6
  382. package/dist/modes/rpc/rpc-client.js.map +1 -0
  383. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  384. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  385. package/dist/modes/rpc/rpc-mode.js +1 -0
  386. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  387. package/dist/modes/rpc/rpc-types.d.ts +373 -0
  388. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  389. package/dist/modes/rpc/rpc-types.js +1 -0
  390. package/dist/modes/rpc/rpc-types.js.map +1 -0
  391. package/dist/utils/changelog.d.ts +21 -0
  392. package/dist/utils/changelog.d.ts.map +1 -0
  393. package/dist/utils/changelog.js +1 -0
  394. package/dist/utils/changelog.js.map +1 -0
  395. package/dist/utils/clipboard-image.d.ts +11 -0
  396. package/dist/utils/clipboard-image.d.ts.map +1 -0
  397. package/dist/utils/clipboard-image.js +1 -0
  398. package/dist/utils/clipboard-image.js.map +1 -0
  399. package/dist/utils/clipboard.d.ts +2 -0
  400. package/dist/utils/clipboard.d.ts.map +1 -0
  401. package/dist/utils/clipboard.js +1 -0
  402. package/dist/utils/clipboard.js.map +1 -0
  403. package/dist/utils/frontmatter.d.ts +8 -0
  404. package/dist/utils/frontmatter.d.ts.map +1 -0
  405. package/dist/utils/frontmatter.js +1 -0
  406. package/dist/utils/frontmatter.js.map +1 -0
  407. package/dist/utils/git.d.ts +2 -0
  408. package/dist/utils/git.d.ts.map +1 -0
  409. package/dist/utils/git.js +1 -0
  410. package/dist/utils/git.js.map +1 -0
  411. package/dist/utils/image-convert.d.ts +9 -0
  412. package/dist/utils/image-convert.d.ts.map +1 -0
  413. package/dist/utils/image-convert.js +1 -0
  414. package/dist/utils/image-convert.js.map +1 -0
  415. package/dist/utils/image-resize.d.ts +36 -0
  416. package/dist/utils/image-resize.d.ts.map +1 -0
  417. package/dist/utils/image-resize.js +1 -0
  418. package/dist/utils/image-resize.js.map +1 -0
  419. package/dist/utils/mime.d.ts +2 -0
  420. package/dist/utils/mime.d.ts.map +1 -0
  421. package/dist/utils/mime.js +1 -0
  422. package/dist/utils/mime.js.map +1 -0
  423. package/dist/utils/photon.d.ts +21 -0
  424. package/dist/utils/photon.d.ts.map +1 -0
  425. package/dist/utils/photon.js +1 -0
  426. package/dist/utils/photon.js.map +1 -0
  427. package/dist/utils/shell.d.ts +27 -0
  428. package/dist/utils/shell.d.ts.map +1 -0
  429. package/dist/utils/shell.js +1 -0
  430. package/dist/utils/shell.js.map +1 -0
  431. package/dist/utils/sleep.d.ts +5 -0
  432. package/dist/utils/sleep.d.ts.map +1 -0
  433. package/dist/utils/sleep.js +1 -0
  434. package/dist/utils/sleep.js.map +1 -0
  435. package/dist/utils/tools-manager.d.ts +3 -0
  436. package/dist/utils/tools-manager.d.ts.map +1 -0
  437. package/dist/utils/tools-manager.js +1 -0
  438. package/dist/utils/tools-manager.js.map +1 -0
  439. package/docs/compaction.md +390 -390
  440. package/docs/custom-provider.md +538 -538
  441. package/docs/development.md +69 -69
  442. package/docs/extensions.md +1733 -1733
  443. package/docs/json.md +79 -79
  444. package/docs/keybindings.md +162 -162
  445. package/docs/models.md +193 -193
  446. package/docs/packages.md +163 -163
  447. package/docs/prompt-templates.md +67 -67
  448. package/docs/providers.md +147 -147
  449. package/docs/rpc.md +1048 -1048
  450. package/docs/sdk.md +957 -957
  451. package/docs/session.md +412 -412
  452. package/docs/settings.md +216 -216
  453. package/docs/shell-aliases.md +13 -13
  454. package/docs/skills.md +226 -226
  455. package/docs/terminal-setup.md +65 -65
  456. package/docs/themes.md +295 -295
  457. package/docs/tree.md +219 -219
  458. package/docs/tui.md +887 -887
  459. package/docs/windows.md +17 -17
  460. package/examples/README.md +25 -25
  461. package/examples/extensions/README.md +192 -192
  462. package/examples/extensions/antigravity-image-gen.ts +414 -414
  463. package/examples/extensions/auto-commit-on-exit.ts +49 -49
  464. package/examples/extensions/bookmark.ts +50 -50
  465. package/examples/extensions/claude-rules.ts +86 -86
  466. package/examples/extensions/confirm-destructive.ts +59 -59
  467. package/examples/extensions/custom-compaction.ts +115 -115
  468. package/examples/extensions/custom-footer.ts +65 -65
  469. package/examples/extensions/custom-header.ts +73 -73
  470. package/examples/extensions/custom-provider-anthropic/index.ts +605 -605
  471. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
  472. package/examples/extensions/custom-provider-anthropic/package.json +19 -19
  473. package/examples/extensions/custom-provider-gitlab-duo/index.ts +350 -350
  474. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
  475. package/examples/extensions/custom-provider-gitlab-duo/test.ts +83 -83
  476. package/examples/extensions/dirty-repo-guard.ts +56 -56
  477. package/examples/extensions/doom-overlay/README.md +46 -46
  478. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
  479. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  480. package/examples/extensions/doom-overlay/doom/build.sh +152 -152
  481. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
  482. package/examples/extensions/doom-overlay/doom-component.ts +133 -133
  483. package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
  484. package/examples/extensions/doom-overlay/doom-keys.ts +105 -105
  485. package/examples/extensions/doom-overlay/index.ts +74 -74
  486. package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
  487. package/examples/extensions/event-bus.ts +43 -43
  488. package/examples/extensions/file-trigger.ts +41 -41
  489. package/examples/extensions/git-checkpoint.ts +53 -53
  490. package/examples/extensions/handoff.ts +151 -151
  491. package/examples/extensions/hello.ts +25 -25
  492. package/examples/extensions/inline-bash.ts +94 -94
  493. package/examples/extensions/input-transform.ts +43 -43
  494. package/examples/extensions/interactive-shell.ts +196 -196
  495. package/examples/extensions/mac-system-theme.ts +47 -47
  496. package/examples/extensions/message-renderer.ts +60 -60
  497. package/examples/extensions/modal-editor.ts +86 -86
  498. package/examples/extensions/model-status.ts +31 -31
  499. package/examples/extensions/notify.ts +25 -25
  500. package/examples/extensions/overlay-qa-tests.ts +882 -882
  501. package/examples/extensions/overlay-test.ts +151 -151
  502. package/examples/extensions/permission-gate.ts +34 -34
  503. package/examples/extensions/pirate.ts +47 -47
  504. package/examples/extensions/plan-mode/README.md +65 -65
  505. package/examples/extensions/plan-mode/index.ts +341 -341
  506. package/examples/extensions/plan-mode/utils.ts +168 -168
  507. package/examples/extensions/preset.ts +399 -399
  508. package/examples/extensions/protected-paths.ts +30 -30
  509. package/examples/extensions/qna.ts +120 -120
  510. package/examples/extensions/question.ts +265 -265
  511. package/examples/extensions/questionnaire.ts +428 -428
  512. package/examples/extensions/rainbow-editor.ts +88 -88
  513. package/examples/extensions/sandbox/index.ts +318 -318
  514. package/examples/extensions/sandbox/package-lock.json +92 -92
  515. package/examples/extensions/sandbox/package.json +19 -19
  516. package/examples/extensions/send-user-message.ts +97 -97
  517. package/examples/extensions/session-name.ts +27 -27
  518. package/examples/extensions/shutdown-command.ts +63 -63
  519. package/examples/extensions/snake.ts +344 -344
  520. package/examples/extensions/space-invaders.ts +561 -561
  521. package/examples/extensions/ssh.ts +220 -220
  522. package/examples/extensions/status-line.ts +40 -40
  523. package/examples/extensions/subagent/README.md +172 -172
  524. package/examples/extensions/subagent/agents/planner.md +37 -37
  525. package/examples/extensions/subagent/agents/reviewer.md +35 -35
  526. package/examples/extensions/subagent/agents/scout.md +50 -50
  527. package/examples/extensions/subagent/agents/worker.md +24 -24
  528. package/examples/extensions/subagent/agents.ts +127 -127
  529. package/examples/extensions/subagent/index.ts +964 -964
  530. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
  531. package/examples/extensions/subagent/prompts/implement.md +10 -10
  532. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
  533. package/examples/extensions/summarize.ts +196 -196
  534. package/examples/extensions/timed-confirm.ts +70 -70
  535. package/examples/extensions/todo.ts +300 -300
  536. package/examples/extensions/tool-override.ts +144 -144
  537. package/examples/extensions/tools.ts +147 -147
  538. package/examples/extensions/trigger-compact.ts +40 -40
  539. package/examples/extensions/truncated-tool.ts +193 -193
  540. package/examples/extensions/widget-placement.ts +17 -17
  541. package/examples/extensions/with-deps/index.ts +36 -36
  542. package/examples/extensions/with-deps/package-lock.json +31 -31
  543. package/examples/extensions/with-deps/package.json +22 -22
  544. package/examples/sdk/01-minimal.ts +22 -22
  545. package/examples/sdk/02-custom-model.ts +50 -50
  546. package/examples/sdk/03-custom-prompt.ts +55 -55
  547. package/examples/sdk/04-skills.ts +46 -46
  548. package/examples/sdk/05-tools.ts +56 -56
  549. package/examples/sdk/06-extensions.ts +88 -88
  550. package/examples/sdk/07-context-files.ts +40 -40
  551. package/examples/sdk/08-prompt-templates.ts +47 -47
  552. package/examples/sdk/09-api-keys-and-oauth.ts +48 -48
  553. package/examples/sdk/10-settings.ts +38 -38
  554. package/examples/sdk/11-sessions.ts +48 -48
  555. package/examples/sdk/12-full-control.ts +82 -82
  556. package/examples/sdk/13-codex-oauth.ts +37 -37
  557. package/examples/sdk/README.md +144 -144
  558. package/package.json +86 -85
package/docs/skills.md CHANGED
@@ -1,226 +1,226 @@
1
- > indusagi can create skills. Ask it to build one for your use case.
2
-
3
- # Skills
4
-
5
- Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
6
-
7
- Indusagi implements the [Agent Skills standard](https://agentskills.io/specification), warning about violations but remaining lenient.
8
-
9
- ## Table of Contents
10
-
11
- - [Locations](#locations)
12
- - [How Skills Work](#how-skills-work)
13
- - [Skill Commands](#skill-commands)
14
- - [Skill Structure](#skill-structure)
15
- - [Frontmatter](#frontmatter)
16
- - [Validation](#validation)
17
- - [Example](#example)
18
- - [Skill Repositories](#skill-repositories)
19
-
20
- ## Locations
21
-
22
- > **Security:** Skills can instruct the model to perform any action and may include executable code the model invokes. Review skill content before use.
23
-
24
- Indusagi loads skills from:
25
-
26
- - Global: `~/.indusagi/agent/skills/`
27
- - Project: `.indusagi/skills/`
28
- - Packages: `skills/` directories or `indusagi.skills` entries in `package.json`
29
- - Settings: `skills` array with files or directories
30
- - CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
31
-
32
- Discovery rules:
33
- - Direct `.md` files in the skills directory root
34
- - Recursive `SKILL.md` files under subdirectories
35
-
36
- Disable discovery with `--no-skills` (explicit `--skill` paths still load).
37
-
38
- ### Using Skills from Other Harnesses
39
-
40
- To use skills from Claude Code or OpenAI Codex, add their directories to settings:
41
-
42
- ```json
43
- {
44
- "skills": [
45
- "~/.claude/skills",
46
- "~/.codex/skills"
47
- ]
48
- }
49
- ```
50
-
51
- For project-level Claude Code skills, add to `.indusagi/settings.json`:
52
-
53
- ```json
54
- {
55
- "skills": ["../.claude/skills"]
56
- }
57
- ```
58
-
59
- ## How Skills Work
60
-
61
- 1. At startup, indusagi scans skill locations and extracts names and descriptions
62
- 2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
63
- 3. When a task matches, the agent uses `read` to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
64
- 4. The agent follows the instructions, using relative paths to reference scripts and assets
65
-
66
- This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
67
-
68
- ## Skill Commands
69
-
70
- Skills register as `/skill:name` commands:
71
-
72
- ```bash
73
- /skill:brave-search # Load and execute the skill
74
- /skill:pdf-tools extract # Load skill with arguments
75
- ```
76
-
77
- Arguments after the command are appended to the skill content as `User: <args>`.
78
-
79
- Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
80
-
81
- ```json
82
- {
83
- "enableSkillCommands": true
84
- }
85
- ```
86
-
87
- ## Skill Structure
88
-
89
- A skill is a directory with a `SKILL.md` file. Everything else is freeform.
90
-
91
- ```
92
- my-skill/
93
- ├── SKILL.md # Required: frontmatter + instructions
94
- ├── scripts/ # Helper scripts
95
- │ └── process.sh
96
- ├── references/ # Detailed docs loaded on-demand
97
- │ └── api-reference.md
98
- └── assets/
99
- └── template.json
100
- ```
101
-
102
- ### SKILL.md Format
103
-
104
- ```markdown
105
- ---
106
- name: my-skill
107
- description: What this skill does and when to use it. Be specific.
108
- ---
109
-
110
- # My Skill
111
-
112
- ## Setup
113
-
114
- Run once before first use:
115
- \`\`\`bash
116
- cd /path/to/skill && npm install
117
- \`\`\`
118
-
119
- ## Usage
120
-
121
- \`\`\`bash
122
- ./scripts/process.sh <input>
123
- \`\`\`
124
- ```
125
-
126
- Use relative paths from the skill directory:
127
-
128
- ```markdown
129
- See [the reference guide](references/REFERENCE.md) for details.
130
- ```
131
-
132
- ## Frontmatter
133
-
134
- Per the [Agent Skills specification](https://agentskills.io/specification#frontmatter-required):
135
-
136
- | Field | Required | Description |
137
- |-------|----------|-------------|
138
- | `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Must match parent directory. |
139
- | `description` | Yes | Max 1024 chars. What the skill does and when to use it. |
140
- | `license` | No | License name or reference to bundled file. |
141
- | `compatibility` | No | Max 500 chars. Environment requirements. |
142
- | `metadata` | No | Arbitrary key-value mapping. |
143
- | `allowed-tools` | No | Space-delimited list of pre-approved tools (experimental). |
144
- | `disable-model-invocation` | No | When `true`, skill is hidden from system prompt. Users must use `/skill:name`. |
145
-
146
- ### Name Rules
147
-
148
- - 1-64 characters
149
- - Lowercase letters, numbers, hyphens only
150
- - No leading/trailing hyphens
151
- - No consecutive hyphens
152
- - Must match parent directory name
153
-
154
- Valid: `pdf-processing`, `data-analysis`, `code-review`
155
- Invalid: `PDF-Processing`, `-pdf`, `pdf--processing`
156
-
157
- ### Description Best Practices
158
-
159
- The description determines when the agent loads the skill. Be specific.
160
-
161
- Good:
162
- ```yaml
163
- description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.
164
- ```
165
-
166
- Poor:
167
- ```yaml
168
- description: Helps with PDFs.
169
- ```
170
-
171
- ## Validation
172
-
173
- Indusagi validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
174
-
175
- - Name doesn't match parent directory
176
- - Name exceeds 64 characters or contains invalid characters
177
- - Name starts/ends with hyphen or has consecutive hyphens
178
- - Description exceeds 1024 characters
179
- - Unknown frontmatter fields
180
-
181
- **Exception:** Skills with missing description are not loaded.
182
-
183
- Name collisions (same name from different locations) warn and keep the first skill found.
184
-
185
- ## Example
186
-
187
- ```
188
- brave-search/
189
- ├── SKILL.md
190
- ├── search.js
191
- └── content.js
192
- ```
193
-
194
- **SKILL.md:**
195
- ```markdown
196
- ---
197
- name: brave-search
198
- description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
199
- ---
200
-
201
- # Brave Search
202
-
203
- ## Setup
204
-
205
- \`\`\`bash
206
- cd /path/to/brave-search && npm install
207
- \`\`\`
208
-
209
- ## Search
210
-
211
- \`\`\`bash
212
- ./search.js "query" # Basic search
213
- ./search.js "query" --content # Include page content
214
- \`\`\`
215
-
216
- ## Extract Page Content
217
-
218
- \`\`\`bash
219
- ./content.js https://example.com
220
- \`\`\`
221
- ```
222
-
223
- ## Skill Repositories
224
-
225
- - [Anthropic Skills](https://github.com/anthropics/skills) - Document processing (docx, pdf, pptx, xlsx), web development
226
- - [Indusagi Skills](https://github.com/badlogic/indusagi-skills) - Web search, browser automation, Google APIs, transcription
1
+ > indusagi can create skills. Ask it to build one for your use case.
2
+
3
+ # Skills
4
+
5
+ Skills are self-contained capability packages that the agent loads on-demand. A skill provides specialized workflows, setup instructions, helper scripts, and reference documentation for specific tasks.
6
+
7
+ Indusagi implements the [Agent Skills standard](https://agentskills.io/specification), warning about violations but remaining lenient.
8
+
9
+ ## Table of Contents
10
+
11
+ - [Locations](#locations)
12
+ - [How Skills Work](#how-skills-work)
13
+ - [Skill Commands](#skill-commands)
14
+ - [Skill Structure](#skill-structure)
15
+ - [Frontmatter](#frontmatter)
16
+ - [Validation](#validation)
17
+ - [Example](#example)
18
+ - [Skill Repositories](#skill-repositories)
19
+
20
+ ## Locations
21
+
22
+ > **Security:** Skills can instruct the model to perform any action and may include executable code the model invokes. Review skill content before use.
23
+
24
+ Indusagi loads skills from:
25
+
26
+ - Global: `~/.indusagi/agent/skills/`
27
+ - Project: `.indusagi/skills/`
28
+ - Packages: `skills/` directories or `indusagi.skills` entries in `package.json`
29
+ - Settings: `skills` array with files or directories
30
+ - CLI: `--skill <path>` (repeatable, additive even with `--no-skills`)
31
+
32
+ Discovery rules:
33
+ - Direct `.md` files in the skills directory root
34
+ - Recursive `SKILL.md` files under subdirectories
35
+
36
+ Disable discovery with `--no-skills` (explicit `--skill` paths still load).
37
+
38
+ ### Using Skills from Other Harnesses
39
+
40
+ To use skills from Claude Code or OpenAI Codex, add their directories to settings:
41
+
42
+ ```json
43
+ {
44
+ "skills": [
45
+ "~/.claude/skills",
46
+ "~/.codex/skills"
47
+ ]
48
+ }
49
+ ```
50
+
51
+ For project-level Claude Code skills, add to `.indusagi/settings.json`:
52
+
53
+ ```json
54
+ {
55
+ "skills": ["../.claude/skills"]
56
+ }
57
+ ```
58
+
59
+ ## How Skills Work
60
+
61
+ 1. At startup, indusagi scans skill locations and extracts names and descriptions
62
+ 2. The system prompt includes available skills in XML format per the [specification](https://agentskills.io/integrate-skills)
63
+ 3. When a task matches, the agent uses `read` to load the full SKILL.md (models don't always do this; use prompting or `/skill:name` to force it)
64
+ 4. The agent follows the instructions, using relative paths to reference scripts and assets
65
+
66
+ This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
67
+
68
+ ## Skill Commands
69
+
70
+ Skills register as `/skill:name` commands:
71
+
72
+ ```bash
73
+ /skill:brave-search # Load and execute the skill
74
+ /skill:pdf-tools extract # Load skill with arguments
75
+ ```
76
+
77
+ Arguments after the command are appended to the skill content as `User: <args>`.
78
+
79
+ Toggle skill commands via `/settings` in interactive mode or in `settings.json`:
80
+
81
+ ```json
82
+ {
83
+ "enableSkillCommands": true
84
+ }
85
+ ```
86
+
87
+ ## Skill Structure
88
+
89
+ A skill is a directory with a `SKILL.md` file. Everything else is freeform.
90
+
91
+ ```
92
+ my-skill/
93
+ ├── SKILL.md # Required: frontmatter + instructions
94
+ ├── scripts/ # Helper scripts
95
+ │ └── process.sh
96
+ ├── references/ # Detailed docs loaded on-demand
97
+ │ └── api-reference.md
98
+ └── assets/
99
+ └── template.json
100
+ ```
101
+
102
+ ### SKILL.md Format
103
+
104
+ ```markdown
105
+ ---
106
+ name: my-skill
107
+ description: What this skill does and when to use it. Be specific.
108
+ ---
109
+
110
+ # My Skill
111
+
112
+ ## Setup
113
+
114
+ Run once before first use:
115
+ \`\`\`bash
116
+ cd /path/to/skill && npm install
117
+ \`\`\`
118
+
119
+ ## Usage
120
+
121
+ \`\`\`bash
122
+ ./scripts/process.sh <input>
123
+ \`\`\`
124
+ ```
125
+
126
+ Use relative paths from the skill directory:
127
+
128
+ ```markdown
129
+ See [the reference guide](references/REFERENCE.md) for details.
130
+ ```
131
+
132
+ ## Frontmatter
133
+
134
+ Per the [Agent Skills specification](https://agentskills.io/specification#frontmatter-required):
135
+
136
+ | Field | Required | Description |
137
+ |-------|----------|-------------|
138
+ | `name` | Yes | Max 64 chars. Lowercase a-z, 0-9, hyphens. Must match parent directory. |
139
+ | `description` | Yes | Max 1024 chars. What the skill does and when to use it. |
140
+ | `license` | No | License name or reference to bundled file. |
141
+ | `compatibility` | No | Max 500 chars. Environment requirements. |
142
+ | `metadata` | No | Arbitrary key-value mapping. |
143
+ | `allowed-tools` | No | Space-delimited list of pre-approved tools (experimental). |
144
+ | `disable-model-invocation` | No | When `true`, skill is hidden from system prompt. Users must use `/skill:name`. |
145
+
146
+ ### Name Rules
147
+
148
+ - 1-64 characters
149
+ - Lowercase letters, numbers, hyphens only
150
+ - No leading/trailing hyphens
151
+ - No consecutive hyphens
152
+ - Must match parent directory name
153
+
154
+ Valid: `pdf-processing`, `data-analysis`, `code-review`
155
+ Invalid: `PDF-Processing`, `-pdf`, `pdf--processing`
156
+
157
+ ### Description Best Practices
158
+
159
+ The description determines when the agent loads the skill. Be specific.
160
+
161
+ Good:
162
+ ```yaml
163
+ description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.
164
+ ```
165
+
166
+ Poor:
167
+ ```yaml
168
+ description: Helps with PDFs.
169
+ ```
170
+
171
+ ## Validation
172
+
173
+ Indusagi validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:
174
+
175
+ - Name doesn't match parent directory
176
+ - Name exceeds 64 characters or contains invalid characters
177
+ - Name starts/ends with hyphen or has consecutive hyphens
178
+ - Description exceeds 1024 characters
179
+ - Unknown frontmatter fields
180
+
181
+ **Exception:** Skills with missing description are not loaded.
182
+
183
+ Name collisions (same name from different locations) warn and keep the first skill found.
184
+
185
+ ## Example
186
+
187
+ ```
188
+ brave-search/
189
+ ├── SKILL.md
190
+ ├── search.js
191
+ └── content.js
192
+ ```
193
+
194
+ **SKILL.md:**
195
+ ```markdown
196
+ ---
197
+ name: brave-search
198
+ description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
199
+ ---
200
+
201
+ # Brave Search
202
+
203
+ ## Setup
204
+
205
+ \`\`\`bash
206
+ cd /path/to/brave-search && npm install
207
+ \`\`\`
208
+
209
+ ## Search
210
+
211
+ \`\`\`bash
212
+ ./search.js "query" # Basic search
213
+ ./search.js "query" --content # Include page content
214
+ \`\`\`
215
+
216
+ ## Extract Page Content
217
+
218
+ \`\`\`bash
219
+ ./content.js https://example.com
220
+ \`\`\`
221
+ ```
222
+
223
+ ## Skill Repositories
224
+
225
+ - [Anthropic Skills](https://github.com/anthropics/skills) - Document processing (docx, pdf, pptx, xlsx), web development
226
+ - [Indusagi Skills](https://github.com/badlogic/indusagi-skills) - Web search, browser automation, Google APIs, transcription
@@ -1,65 +1,65 @@
1
- # Terminal Setup
2
-
3
- Indusagi uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
4
-
5
- ## Kitty, iTerm2
6
-
7
- Work out of the box.
8
-
9
- ## Ghostty
10
-
11
- Add to your Ghostty config (`~/.config/ghostty/config`):
12
-
13
- ```
14
- keybind = alt+backspace=text:\x1b\x7f
15
- keybind = shift+enter=text:\n
16
- ```
17
-
18
- ## WezTerm
19
-
20
- Create `~/.wezterm.lua`:
21
-
22
- ```lua
23
- local wezterm = require 'wezterm'
24
- local config = wezterm.config_builder()
25
- config.enable_kitty_keyboard = true
26
- return config
27
- ```
28
-
29
- ## VS Code (Integrated Terminal)
30
-
31
- Add to `keybindings.json` to enable `Shift+Enter` for multi-line input:
32
-
33
- ```json
34
- {
35
- "key": "shift+enter",
36
- "command": "workbench.action.terminal.sendSequence",
37
- "args": { "text": "\u001b[13;2u" },
38
- "when": "terminalFocus"
39
- }
40
- ```
41
-
42
- ## Windows Terminal
43
-
44
- Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file):
45
-
46
- ```json
47
- {
48
- "actions": [
49
- {
50
- "command": { "action": "sendInput", "input": "\u001b[13;2u" },
51
- "keys": "shift+enter"
52
- }
53
- ]
54
- }
55
- ```
56
-
57
- If you already have an `actions` array, add the object to it.
58
-
59
- ## IntelliJ IDEA (Integrated Terminal)
60
-
61
- The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
62
-
63
- If you want the hardware cursor visible, set `INDUSAGI_HARDWARE_CURSOR=1` before running indusagi (disabled by default for compatibility).
64
-
65
- Consider using a dedicated terminal emulator for the best experience.
1
+ # Terminal Setup
2
+
3
+ Indusagi uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
4
+
5
+ ## Kitty, iTerm2
6
+
7
+ Work out of the box.
8
+
9
+ ## Ghostty
10
+
11
+ Add to your Ghostty config (`~/.config/ghostty/config`):
12
+
13
+ ```
14
+ keybind = alt+backspace=text:\x1b\x7f
15
+ keybind = shift+enter=text:\n
16
+ ```
17
+
18
+ ## WezTerm
19
+
20
+ Create `~/.wezterm.lua`:
21
+
22
+ ```lua
23
+ local wezterm = require 'wezterm'
24
+ local config = wezterm.config_builder()
25
+ config.enable_kitty_keyboard = true
26
+ return config
27
+ ```
28
+
29
+ ## VS Code (Integrated Terminal)
30
+
31
+ Add to `keybindings.json` to enable `Shift+Enter` for multi-line input:
32
+
33
+ ```json
34
+ {
35
+ "key": "shift+enter",
36
+ "command": "workbench.action.terminal.sendSequence",
37
+ "args": { "text": "\u001b[13;2u" },
38
+ "when": "terminalFocus"
39
+ }
40
+ ```
41
+
42
+ ## Windows Terminal
43
+
44
+ Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file):
45
+
46
+ ```json
47
+ {
48
+ "actions": [
49
+ {
50
+ "command": { "action": "sendInput", "input": "\u001b[13;2u" },
51
+ "keys": "shift+enter"
52
+ }
53
+ ]
54
+ }
55
+ ```
56
+
57
+ If you already have an `actions` array, add the object to it.
58
+
59
+ ## IntelliJ IDEA (Integrated Terminal)
60
+
61
+ The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
62
+
63
+ If you want the hardware cursor visible, set `INDUSAGI_HARDWARE_CURSOR=1` before running indusagi (disabled by default for compatibility).
64
+
65
+ Consider using a dedicated terminal emulator for the best experience.