ys-code-agent 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +252 -0
  3. package/SETUP.md +228 -0
  4. package/USAGE.md +437 -0
  5. package/dist/agent/index.d.ts +29 -0
  6. package/dist/agent/index.d.ts.map +1 -0
  7. package/dist/agent/index.js +501 -0
  8. package/dist/agent/index.js.map +1 -0
  9. package/dist/cli/agent.d.ts +10 -0
  10. package/dist/cli/agent.d.ts.map +1 -0
  11. package/dist/cli/agent.js +38 -0
  12. package/dist/cli/agent.js.map +1 -0
  13. package/dist/cli/index.cjs +19187 -0
  14. package/dist/cli/index.cjs.map +7 -0
  15. package/dist/cli/index.d.ts +2 -0
  16. package/dist/cli/index.d.ts.map +1 -0
  17. package/dist/cli/index.js +326 -0
  18. package/dist/cli/index.js.map +1 -0
  19. package/dist/cli/interactive.d.ts +14 -0
  20. package/dist/cli/interactive.d.ts.map +1 -0
  21. package/dist/cli/interactive.js +125 -0
  22. package/dist/cli/interactive.js.map +1 -0
  23. package/dist/commands/CommandRegistry.d.ts +15 -0
  24. package/dist/commands/CommandRegistry.d.ts.map +1 -0
  25. package/dist/commands/CommandRegistry.js +1311 -0
  26. package/dist/commands/CommandRegistry.js.map +1 -0
  27. package/dist/commands/handlers/agents.d.ts +5 -0
  28. package/dist/commands/handlers/agents.d.ts.map +1 -0
  29. package/dist/commands/handlers/agents.js +124 -0
  30. package/dist/commands/handlers/agents.js.map +1 -0
  31. package/dist/commands/handlers/file.d.ts +8 -0
  32. package/dist/commands/handlers/file.d.ts.map +1 -0
  33. package/dist/commands/handlers/file.js +364 -0
  34. package/dist/commands/handlers/file.js.map +1 -0
  35. package/dist/commands/handlers/git.d.ts +2 -0
  36. package/dist/commands/handlers/git.d.ts.map +1 -0
  37. package/dist/commands/handlers/git.js +343 -0
  38. package/dist/commands/handlers/git.js.map +1 -0
  39. package/dist/commands/handlers/memory.d.ts +6 -0
  40. package/dist/commands/handlers/memory.d.ts.map +1 -0
  41. package/dist/commands/handlers/memory.js +149 -0
  42. package/dist/commands/handlers/memory.js.map +1 -0
  43. package/dist/commands/index.d.ts +3 -0
  44. package/dist/commands/index.d.ts.map +1 -0
  45. package/dist/commands/index.js +2 -0
  46. package/dist/commands/index.js.map +1 -0
  47. package/dist/config/index.d.ts +25 -0
  48. package/dist/config/index.d.ts.map +1 -0
  49. package/dist/config/index.js +399 -0
  50. package/dist/config/index.js.map +1 -0
  51. package/dist/context/index.d.ts +31 -0
  52. package/dist/context/index.d.ts.map +1 -0
  53. package/dist/context/index.js +208 -0
  54. package/dist/context/index.js.map +1 -0
  55. package/dist/filesystem/index.d.ts +52 -0
  56. package/dist/filesystem/index.d.ts.map +1 -0
  57. package/dist/filesystem/index.js +481 -0
  58. package/dist/filesystem/index.js.map +1 -0
  59. package/dist/git/index.d.ts +41 -0
  60. package/dist/git/index.d.ts.map +1 -0
  61. package/dist/git/index.js +381 -0
  62. package/dist/git/index.js.map +1 -0
  63. package/dist/logger/index.d.ts +32 -0
  64. package/dist/logger/index.d.ts.map +1 -0
  65. package/dist/logger/index.js +199 -0
  66. package/dist/logger/index.js.map +1 -0
  67. package/dist/memory/index.d.ts +45 -0
  68. package/dist/memory/index.d.ts.map +1 -0
  69. package/dist/memory/index.js +147 -0
  70. package/dist/memory/index.js.map +1 -0
  71. package/dist/project/index.d.ts +14 -0
  72. package/dist/project/index.d.ts.map +1 -0
  73. package/dist/project/index.js +371 -0
  74. package/dist/project/index.js.map +1 -0
  75. package/dist/providers/anthropic.d.ts +22 -0
  76. package/dist/providers/anthropic.d.ts.map +1 -0
  77. package/dist/providers/anthropic.js +202 -0
  78. package/dist/providers/anthropic.js.map +1 -0
  79. package/dist/providers/base.d.ts +29 -0
  80. package/dist/providers/base.d.ts.map +1 -0
  81. package/dist/providers/base.js +119 -0
  82. package/dist/providers/base.js.map +1 -0
  83. package/dist/providers/custom.d.ts +8 -0
  84. package/dist/providers/custom.d.ts.map +1 -0
  85. package/dist/providers/custom.js +13 -0
  86. package/dist/providers/custom.js.map +1 -0
  87. package/dist/providers/deepseek.d.ts +8 -0
  88. package/dist/providers/deepseek.d.ts.map +1 -0
  89. package/dist/providers/deepseek.js +13 -0
  90. package/dist/providers/deepseek.js.map +1 -0
  91. package/dist/providers/gemini.d.ts +18 -0
  92. package/dist/providers/gemini.d.ts.map +1 -0
  93. package/dist/providers/gemini.js +183 -0
  94. package/dist/providers/gemini.js.map +1 -0
  95. package/dist/providers/groq.d.ts +8 -0
  96. package/dist/providers/groq.d.ts.map +1 -0
  97. package/dist/providers/groq.js +13 -0
  98. package/dist/providers/groq.js.map +1 -0
  99. package/dist/providers/index.d.ts +16 -0
  100. package/dist/providers/index.d.ts.map +1 -0
  101. package/dist/providers/index.js +50 -0
  102. package/dist/providers/index.js.map +1 -0
  103. package/dist/providers/lmstudio.d.ts +9 -0
  104. package/dist/providers/lmstudio.d.ts.map +1 -0
  105. package/dist/providers/lmstudio.js +18 -0
  106. package/dist/providers/lmstudio.js.map +1 -0
  107. package/dist/providers/ollama.d.ts +8 -0
  108. package/dist/providers/ollama.d.ts.map +1 -0
  109. package/dist/providers/ollama.js +13 -0
  110. package/dist/providers/ollama.js.map +1 -0
  111. package/dist/providers/openai.d.ts +16 -0
  112. package/dist/providers/openai.d.ts.map +1 -0
  113. package/dist/providers/openai.js +116 -0
  114. package/dist/providers/openai.js.map +1 -0
  115. package/dist/providers/openrouter.d.ts +9 -0
  116. package/dist/providers/openrouter.d.ts.map +1 -0
  117. package/dist/providers/openrouter.js +21 -0
  118. package/dist/providers/openrouter.js.map +1 -0
  119. package/dist/security/index.d.ts +28 -0
  120. package/dist/security/index.d.ts.map +1 -0
  121. package/dist/security/index.js +139 -0
  122. package/dist/security/index.js.map +1 -0
  123. package/dist/session/index.d.ts +36 -0
  124. package/dist/session/index.d.ts.map +1 -0
  125. package/dist/session/index.js +203 -0
  126. package/dist/session/index.js.map +1 -0
  127. package/dist/src/agent/index.d.ts +29 -0
  128. package/dist/src/agent/index.d.ts.map +1 -0
  129. package/dist/src/agent/index.js +504 -0
  130. package/dist/src/agent/index.js.map +1 -0
  131. package/dist/src/cli/agent.d.ts +10 -0
  132. package/dist/src/cli/agent.d.ts.map +1 -0
  133. package/dist/src/cli/agent.js +38 -0
  134. package/dist/src/cli/agent.js.map +1 -0
  135. package/dist/src/cli/index.d.ts +3 -0
  136. package/dist/src/cli/index.d.ts.map +1 -0
  137. package/dist/src/cli/index.js +327 -0
  138. package/dist/src/cli/index.js.map +1 -0
  139. package/dist/src/cli/interactive.d.ts +12 -0
  140. package/dist/src/cli/interactive.d.ts.map +1 -0
  141. package/dist/src/cli/interactive.js +202 -0
  142. package/dist/src/cli/interactive.js.map +1 -0
  143. package/dist/src/config/index.d.ts +25 -0
  144. package/dist/src/config/index.d.ts.map +1 -0
  145. package/dist/src/config/index.js +398 -0
  146. package/dist/src/config/index.js.map +1 -0
  147. package/dist/src/context/index.d.ts +31 -0
  148. package/dist/src/context/index.d.ts.map +1 -0
  149. package/dist/src/context/index.js +208 -0
  150. package/dist/src/context/index.js.map +1 -0
  151. package/dist/src/filesystem/index.d.ts +52 -0
  152. package/dist/src/filesystem/index.d.ts.map +1 -0
  153. package/dist/src/filesystem/index.js +481 -0
  154. package/dist/src/filesystem/index.js.map +1 -0
  155. package/dist/src/git/index.d.ts +41 -0
  156. package/dist/src/git/index.d.ts.map +1 -0
  157. package/dist/src/git/index.js +381 -0
  158. package/dist/src/git/index.js.map +1 -0
  159. package/dist/src/logger/index.d.ts +32 -0
  160. package/dist/src/logger/index.d.ts.map +1 -0
  161. package/dist/src/logger/index.js +199 -0
  162. package/dist/src/logger/index.js.map +1 -0
  163. package/dist/src/memory/index.d.ts +45 -0
  164. package/dist/src/memory/index.d.ts.map +1 -0
  165. package/dist/src/memory/index.js +147 -0
  166. package/dist/src/memory/index.js.map +1 -0
  167. package/dist/src/project/index.d.ts +14 -0
  168. package/dist/src/project/index.d.ts.map +1 -0
  169. package/dist/src/project/index.js +371 -0
  170. package/dist/src/project/index.js.map +1 -0
  171. package/dist/src/providers/anthropic.d.ts +22 -0
  172. package/dist/src/providers/anthropic.d.ts.map +1 -0
  173. package/dist/src/providers/anthropic.js +202 -0
  174. package/dist/src/providers/anthropic.js.map +1 -0
  175. package/dist/src/providers/base.d.ts +29 -0
  176. package/dist/src/providers/base.d.ts.map +1 -0
  177. package/dist/src/providers/base.js +112 -0
  178. package/dist/src/providers/base.js.map +1 -0
  179. package/dist/src/providers/custom.d.ts +8 -0
  180. package/dist/src/providers/custom.d.ts.map +1 -0
  181. package/dist/src/providers/custom.js +13 -0
  182. package/dist/src/providers/custom.js.map +1 -0
  183. package/dist/src/providers/deepseek.d.ts +8 -0
  184. package/dist/src/providers/deepseek.d.ts.map +1 -0
  185. package/dist/src/providers/deepseek.js +13 -0
  186. package/dist/src/providers/deepseek.js.map +1 -0
  187. package/dist/src/providers/gemini.d.ts +18 -0
  188. package/dist/src/providers/gemini.d.ts.map +1 -0
  189. package/dist/src/providers/gemini.js +183 -0
  190. package/dist/src/providers/gemini.js.map +1 -0
  191. package/dist/src/providers/groq.d.ts +8 -0
  192. package/dist/src/providers/groq.d.ts.map +1 -0
  193. package/dist/src/providers/groq.js +13 -0
  194. package/dist/src/providers/groq.js.map +1 -0
  195. package/dist/src/providers/index.d.ts +16 -0
  196. package/dist/src/providers/index.d.ts.map +1 -0
  197. package/dist/src/providers/index.js +50 -0
  198. package/dist/src/providers/index.js.map +1 -0
  199. package/dist/src/providers/lmstudio.d.ts +9 -0
  200. package/dist/src/providers/lmstudio.d.ts.map +1 -0
  201. package/dist/src/providers/lmstudio.js +18 -0
  202. package/dist/src/providers/lmstudio.js.map +1 -0
  203. package/dist/src/providers/ollama.d.ts +8 -0
  204. package/dist/src/providers/ollama.d.ts.map +1 -0
  205. package/dist/src/providers/ollama.js +13 -0
  206. package/dist/src/providers/ollama.js.map +1 -0
  207. package/dist/src/providers/openai.d.ts +16 -0
  208. package/dist/src/providers/openai.d.ts.map +1 -0
  209. package/dist/src/providers/openai.js +116 -0
  210. package/dist/src/providers/openai.js.map +1 -0
  211. package/dist/src/providers/openrouter.d.ts +9 -0
  212. package/dist/src/providers/openrouter.d.ts.map +1 -0
  213. package/dist/src/providers/openrouter.js +21 -0
  214. package/dist/src/providers/openrouter.js.map +1 -0
  215. package/dist/src/security/index.d.ts +28 -0
  216. package/dist/src/security/index.d.ts.map +1 -0
  217. package/dist/src/security/index.js +139 -0
  218. package/dist/src/security/index.js.map +1 -0
  219. package/dist/src/session/index.d.ts +36 -0
  220. package/dist/src/session/index.d.ts.map +1 -0
  221. package/dist/src/session/index.js +203 -0
  222. package/dist/src/session/index.js.map +1 -0
  223. package/dist/src/terminal/index.d.ts +27 -0
  224. package/dist/src/terminal/index.d.ts.map +1 -0
  225. package/dist/src/terminal/index.js +211 -0
  226. package/dist/src/terminal/index.js.map +1 -0
  227. package/dist/src/tools/DeleteFileTool.d.ts +7 -0
  228. package/dist/src/tools/DeleteFileTool.d.ts.map +1 -0
  229. package/dist/src/tools/DeleteFileTool.js +50 -0
  230. package/dist/src/tools/DeleteFileTool.js.map +1 -0
  231. package/dist/src/tools/DirectoryTreeTool.d.ts +7 -0
  232. package/dist/src/tools/DirectoryTreeTool.d.ts.map +1 -0
  233. package/dist/src/tools/DirectoryTreeTool.js +50 -0
  234. package/dist/src/tools/DirectoryTreeTool.js.map +1 -0
  235. package/dist/src/tools/EditFileTool.d.ts +7 -0
  236. package/dist/src/tools/EditFileTool.d.ts.map +1 -0
  237. package/dist/src/tools/EditFileTool.js +69 -0
  238. package/dist/src/tools/EditFileTool.js.map +1 -0
  239. package/dist/src/tools/GitTool.d.ts +9 -0
  240. package/dist/src/tools/GitTool.d.ts.map +1 -0
  241. package/dist/src/tools/GitTool.js +115 -0
  242. package/dist/src/tools/GitTool.js.map +1 -0
  243. package/dist/src/tools/GlobTool.d.ts +7 -0
  244. package/dist/src/tools/GlobTool.d.ts.map +1 -0
  245. package/dist/src/tools/GlobTool.js +51 -0
  246. package/dist/src/tools/GlobTool.js.map +1 -0
  247. package/dist/src/tools/MemoryTool.d.ts +9 -0
  248. package/dist/src/tools/MemoryTool.d.ts.map +1 -0
  249. package/dist/src/tools/MemoryTool.js +109 -0
  250. package/dist/src/tools/MemoryTool.js.map +1 -0
  251. package/dist/src/tools/ReadFileTool.d.ts +7 -0
  252. package/dist/src/tools/ReadFileTool.d.ts.map +1 -0
  253. package/dist/src/tools/ReadFileTool.js +75 -0
  254. package/dist/src/tools/ReadFileTool.js.map +1 -0
  255. package/dist/src/tools/SearchTool.d.ts +7 -0
  256. package/dist/src/tools/SearchTool.d.ts.map +1 -0
  257. package/dist/src/tools/SearchTool.js +67 -0
  258. package/dist/src/tools/SearchTool.js.map +1 -0
  259. package/dist/src/tools/TerminalTool.d.ts +9 -0
  260. package/dist/src/tools/TerminalTool.d.ts.map +1 -0
  261. package/dist/src/tools/TerminalTool.js +93 -0
  262. package/dist/src/tools/TerminalTool.js.map +1 -0
  263. package/dist/src/tools/WebFetchTool.d.ts +7 -0
  264. package/dist/src/tools/WebFetchTool.d.ts.map +1 -0
  265. package/dist/src/tools/WebFetchTool.js +120 -0
  266. package/dist/src/tools/WebFetchTool.js.map +1 -0
  267. package/dist/src/tools/WriteFileTool.d.ts +7 -0
  268. package/dist/src/tools/WriteFileTool.d.ts.map +1 -0
  269. package/dist/src/tools/WriteFileTool.js +46 -0
  270. package/dist/src/tools/WriteFileTool.js.map +1 -0
  271. package/dist/src/tools/base.d.ts +36 -0
  272. package/dist/src/tools/base.d.ts.map +1 -0
  273. package/dist/src/tools/base.js +159 -0
  274. package/dist/src/tools/base.js.map +1 -0
  275. package/dist/src/tools/index.d.ts +14 -0
  276. package/dist/src/tools/index.d.ts.map +1 -0
  277. package/dist/src/tools/index.js +44 -0
  278. package/dist/src/tools/index.js.map +1 -0
  279. package/dist/src/types.d.ts +315 -0
  280. package/dist/src/types.d.ts.map +1 -0
  281. package/dist/src/types.js +2 -0
  282. package/dist/src/types.js.map +1 -0
  283. package/dist/src/ui/index.d.ts +50 -0
  284. package/dist/src/ui/index.d.ts.map +1 -0
  285. package/dist/src/ui/index.js +274 -0
  286. package/dist/src/ui/index.js.map +1 -0
  287. package/dist/src/utils/index.d.ts +26 -0
  288. package/dist/src/utils/index.d.ts.map +1 -0
  289. package/dist/src/utils/index.js +248 -0
  290. package/dist/src/utils/index.js.map +1 -0
  291. package/dist/terminal/index.d.ts +27 -0
  292. package/dist/terminal/index.d.ts.map +1 -0
  293. package/dist/terminal/index.js +211 -0
  294. package/dist/terminal/index.js.map +1 -0
  295. package/dist/tools/DeleteFileTool.d.ts +7 -0
  296. package/dist/tools/DeleteFileTool.d.ts.map +1 -0
  297. package/dist/tools/DeleteFileTool.js +50 -0
  298. package/dist/tools/DeleteFileTool.js.map +1 -0
  299. package/dist/tools/DirectoryTreeTool.d.ts +7 -0
  300. package/dist/tools/DirectoryTreeTool.d.ts.map +1 -0
  301. package/dist/tools/DirectoryTreeTool.js +50 -0
  302. package/dist/tools/DirectoryTreeTool.js.map +1 -0
  303. package/dist/tools/EditFileTool.d.ts +7 -0
  304. package/dist/tools/EditFileTool.d.ts.map +1 -0
  305. package/dist/tools/EditFileTool.js +69 -0
  306. package/dist/tools/EditFileTool.js.map +1 -0
  307. package/dist/tools/GitTool.d.ts +9 -0
  308. package/dist/tools/GitTool.d.ts.map +1 -0
  309. package/dist/tools/GitTool.js +115 -0
  310. package/dist/tools/GitTool.js.map +1 -0
  311. package/dist/tools/GlobTool.d.ts +7 -0
  312. package/dist/tools/GlobTool.d.ts.map +1 -0
  313. package/dist/tools/GlobTool.js +51 -0
  314. package/dist/tools/GlobTool.js.map +1 -0
  315. package/dist/tools/MemoryTool.d.ts +9 -0
  316. package/dist/tools/MemoryTool.d.ts.map +1 -0
  317. package/dist/tools/MemoryTool.js +109 -0
  318. package/dist/tools/MemoryTool.js.map +1 -0
  319. package/dist/tools/ReadFileTool.d.ts +7 -0
  320. package/dist/tools/ReadFileTool.d.ts.map +1 -0
  321. package/dist/tools/ReadFileTool.js +75 -0
  322. package/dist/tools/ReadFileTool.js.map +1 -0
  323. package/dist/tools/SearchTool.d.ts +7 -0
  324. package/dist/tools/SearchTool.d.ts.map +1 -0
  325. package/dist/tools/SearchTool.js +67 -0
  326. package/dist/tools/SearchTool.js.map +1 -0
  327. package/dist/tools/TerminalTool.d.ts +9 -0
  328. package/dist/tools/TerminalTool.d.ts.map +1 -0
  329. package/dist/tools/TerminalTool.js +93 -0
  330. package/dist/tools/TerminalTool.js.map +1 -0
  331. package/dist/tools/WebFetchTool.d.ts +7 -0
  332. package/dist/tools/WebFetchTool.d.ts.map +1 -0
  333. package/dist/tools/WebFetchTool.js +120 -0
  334. package/dist/tools/WebFetchTool.js.map +1 -0
  335. package/dist/tools/WriteFileTool.d.ts +7 -0
  336. package/dist/tools/WriteFileTool.d.ts.map +1 -0
  337. package/dist/tools/WriteFileTool.js +46 -0
  338. package/dist/tools/WriteFileTool.js.map +1 -0
  339. package/dist/tools/base.d.ts +36 -0
  340. package/dist/tools/base.d.ts.map +1 -0
  341. package/dist/tools/base.js +159 -0
  342. package/dist/tools/base.js.map +1 -0
  343. package/dist/tools/index.d.ts +14 -0
  344. package/dist/tools/index.d.ts.map +1 -0
  345. package/dist/tools/index.js +44 -0
  346. package/dist/tools/index.js.map +1 -0
  347. package/dist/types.d.ts +315 -0
  348. package/dist/types.d.ts.map +1 -0
  349. package/dist/types.js +2 -0
  350. package/dist/types.js.map +1 -0
  351. package/dist/ui/CommandPopup.d.ts +33 -0
  352. package/dist/ui/CommandPopup.d.ts.map +1 -0
  353. package/dist/ui/CommandPopup.js +179 -0
  354. package/dist/ui/CommandPopup.js.map +1 -0
  355. package/dist/ui/WelcomeScreen.d.ts +3 -0
  356. package/dist/ui/WelcomeScreen.d.ts.map +1 -0
  357. package/dist/ui/WelcomeScreen.js +168 -0
  358. package/dist/ui/WelcomeScreen.js.map +1 -0
  359. package/dist/ui/index.d.ts +75 -0
  360. package/dist/ui/index.d.ts.map +1 -0
  361. package/dist/ui/index.js +728 -0
  362. package/dist/ui/index.js.map +1 -0
  363. package/dist/ui/phoneOptimizer.d.ts +15 -0
  364. package/dist/ui/phoneOptimizer.d.ts.map +1 -0
  365. package/dist/ui/phoneOptimizer.js +58 -0
  366. package/dist/ui/phoneOptimizer.js.map +1 -0
  367. package/dist/utils/index.d.ts +26 -0
  368. package/dist/utils/index.d.ts.map +1 -0
  369. package/dist/utils/index.js +248 -0
  370. package/dist/utils/index.js.map +1 -0
  371. package/package.json +80 -0
  372. package/scripts/build.mjs +53 -0
  373. package/scripts/setup-termux.sh +84 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 YS Code Agent
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,252 @@
1
+ # ◆ YS Code Agent
2
+
3
+ **AI-Powered Terminal Coding Assistant — Built for Termux, Engineered for Production**
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
6
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen)](package.json)
7
+ [![npm](https://img.shields.io/npm/v/ys-code-agent)](https://www.npmjs.com/package/ys-code-agent)
8
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/YSCodex/YSCode/pulls)
9
+
10
+ ---
11
+
12
+ ## 🚀 One-Line Install
13
+
14
+ ```bash
15
+ # Termux / Linux / macOS — install globally instantly
16
+ npm install -g ys-code-agent
17
+
18
+ # Or directly from GitHub
19
+ npm install -g git+https://github.com/YSCodex/YSCode.git
20
+
21
+ # Then just run:
22
+ ys
23
+ ```
24
+
25
+ **Termux one-liner (full setup):**
26
+ ```bash
27
+ pkg update -y && pkg install nodejs git -y && npm install -g ys-code-agent && ys
28
+ ```
29
+
30
+ ---
31
+
32
+ ## ✨ Features
33
+
34
+ ### 🎯 Core Capabilities
35
+ - **Multi-Provider AI**: OpenRouter (free), Anthropic Claude, OpenAI GPT-4o, Google Gemini, Groq, DeepSeek, Ollama
36
+ - **50+ Slash Commands**: File ops, git, memory, code review, debugging, planning, workspace management
37
+ - **Rich Terminal UI**: Boxed dashboard, command popup, syntax highlighting, colored diffs
38
+ - **Global Install**: `npm install -g ys-code-agent` — use `ys` anywhere
39
+
40
+ ### 📁 File System
41
+ - `/read` — Read files with line numbers and directory trees
42
+ - `/edit` — AI-powered editing with colored diff preview & confirm
43
+ - `/create` — Smart file creation with language templates
44
+ - `/search` — Ripgrep-style codebase search with filters
45
+ - `/refactor` — AI-driven code refactoring
46
+ - `/watch` — Watch files for real-time changes
47
+ - `/project-index` — Full project indexing for semantic search
48
+
49
+ ### 🌿 Git Integration
50
+ - `/git status diff commit log branch push pull stash` — Full git workflow
51
+ - `/git commit --ai` — AI generates conventional commit messages from diffs
52
+
53
+ ### 🧠 Project Memory
54
+ - `/init` — Creates `.ys/` folder with YS.md project context
55
+ - `/memory` — Persistent memory across sessions
56
+ - `/remember` / `/forget` — Quick save/remove knowledge
57
+ - `/dream` — AI consolidates conversation into memory
58
+
59
+ ### 🤖 AI Modes
60
+ - `/plan` — Plan-only mode (AI creates steps, no code)
61
+ - `/goal` — Fully autonomous execution with progress tracking
62
+ - `/review` — Code review with categorized findings (bugs, security, performance)
63
+ - `/review --pr` — PR review mode
64
+ - `/debug` — Auto-debug with root cause analysis
65
+ - `/arena` — Multi-model competition (compare outputs side-by-side)
66
+ - `/agents` — 10 built-in sub-agents (Architect, Coder, Reviewer, etc.)
67
+
68
+ ### ⚙️ Power Features
69
+ - **Approval Modes**: `safe` / `normal` / `yolo` (control autonomy)
70
+ - **Background Tasks**: Run commands in parallel while chatting
71
+ - **Session Export**: HTML, Markdown, JSON, JSONL
72
+ - **Context Management**: Token usage tracking, auto-compression
73
+ - **Workspace Manager**: Save/load/switch between project directories
74
+ - **Vim Mode**: j/k/h/l keybindings for power users
75
+ - **Self-Update**: `/update` pulls latest code and rebuilds
76
+ - **Project Index**: Full codebase scanning with semantic search
77
+ - **File Watcher**: Real-time file change monitoring
78
+ - **Themes**: Dark, Light, Matrix (green-on-black)
79
+
80
+ ### 📱 Termux Optimized
81
+ - Automatic detection of Android Termux
82
+ - Low-RAM mode (< 2GB detected automatically)
83
+ - Narrow/portrait terminal support (< 60 chars)
84
+ - Battery-friendly (animations disabled on low-end devices)
85
+ - SIGWINCH handling for orientation changes
86
+
87
+ ---
88
+
89
+ ## 🎮 Usage Examples
90
+
91
+ ```bash
92
+ # Start interactive session
93
+ ys
94
+
95
+ # Read and edit files
96
+ /read src/index.ts
97
+ /edit src/auth.ts add JWT validation
98
+
99
+ # Git workflow with AI commit messages
100
+ /git status
101
+ /git add .
102
+ /git commit --ai
103
+
104
+ # Plan and execute autonomously
105
+ /plan Add dark mode toggle
106
+ /goal Create REST API for todo app
107
+
108
+ # Debug errors with root cause analysis
109
+ /debug "TypeError: Cannot read property 'id'"
110
+
111
+ # Code review
112
+ /review src/api/routes.ts
113
+ /review --pr 42
114
+
115
+ # Project indexing
116
+ /project-index
117
+ /project-index --search "auth"
118
+
119
+ # Workspace management
120
+ /workspace save my-app
121
+ /workspace load my-app
122
+
123
+ # Watch files
124
+ /watch src/
125
+
126
+ # Export documentation
127
+ /export html
128
+
129
+ # Self-update
130
+ /update
131
+
132
+ # Vim keybindings
133
+ /vim on
134
+
135
+ # Change themes
136
+ /theme matrix
137
+ ```
138
+
139
+ [📖 Complete Usage Guide →](USAGE.md)
140
+
141
+ ---
142
+
143
+ ## 📦 How to Install
144
+
145
+ ### Global npm (recommended)
146
+
147
+ ```bash
148
+ npm install -g ys-code-agent
149
+ ys
150
+ ```
151
+
152
+ ### From GitHub
153
+
154
+ ```bash
155
+ npm install -g git+https://github.com/YSCodex/YSCode.git
156
+ ys
157
+ ```
158
+
159
+ ### From source
160
+
161
+ ```bash
162
+ git clone https://github.com/YSCodex/YSCode.git
163
+ cd YSCode
164
+ npm install
165
+ npm run build
166
+ npm link # makes `ys` available globally
167
+ ys
168
+ ```
169
+
170
+ ### Termux (Android)
171
+
172
+ ```bash
173
+ pkg update -y && pkg install nodejs git -y
174
+ npm install -g ys-code-agent
175
+ ys
176
+ ```
177
+
178
+ ---
179
+
180
+ ## 🔧 API Key Setup
181
+
182
+ Set at least one API key to use the agent:
183
+
184
+ ```bash
185
+ # OpenRouter (recommended — free models available)
186
+ export OPENROUTER_API_KEY="sk-or-v1-xxxxxxxx"
187
+
188
+ # Or set via CLI
189
+ ys key openrouter sk-or-v1-xxxxxxxx
190
+ ```
191
+
192
+ Free models: `google/gemma-4-31b-it:free`, `qwen/qwen-3-coder-32b:free`, `meta-llama/llama-3.3-70b-instruct:free`, `deepseek/deepseek-chat:free`
193
+
194
+ ---
195
+
196
+ ## 🖥️ Interface
197
+
198
+ ```
199
+ ╔══════════════════════════════════════════════════════╗
200
+ ║ ◆ YS CODE AGENT ◆ ║
201
+ ║ AI-Powered Terminal Coding Assistant ║
202
+ ╠══════════════════════════════════════════════════════╣
203
+ ║ Provider : OpenRouter Model: gemma-4-31b ║
204
+ ║ Tools : 18 Active Mode : Normal ║
205
+ ║ Memory : ✓ Enabled Git : ✓ Connected ║
206
+ ╠══════════════════════════════════════════════════════╣
207
+ ║ 💡 Type / for commands | ? for shortcuts ║
208
+ ║ 📁 Project: /home/user/myapp (Node.js detected) ║
209
+ ╚══════════════════════════════════════════════════════╝
210
+
211
+ ◆ ys [gemma-4-31b-it:free] ›
212
+ ```
213
+
214
+ ---
215
+
216
+ ## 📦 Architecture
217
+
218
+ ```
219
+ ys-agent/
220
+ ├── src/
221
+ │ ├── cli/ # CLI entry, interactive mode
222
+ │ ├── ui/ # Terminal UI (welcome, popup, themes)
223
+ │ ├── commands/ # 50+ slash command handlers
224
+ │ ├── agent/ # Core AI agent loop
225
+ │ ├── providers/ # 9 API providers
226
+ │ ├── tools/ # 12 tool implementations
227
+ │ ├── memory/ # Memory management
228
+ │ ├── session/ # Session persistence
229
+ │ └── config/ # Configuration system
230
+ ├── .ys/ # Auto-created project memory
231
+ ├── SETUP.md # Setup guide
232
+ ├── USAGE.md # Usage guide
233
+ └── LICENSE # MIT License
234
+ ```
235
+
236
+ ---
237
+
238
+ ## 🔧 Requirements
239
+
240
+ - **Node.js** ≥ 22.0.0
241
+ - **npm** ≥ 10.0
242
+ - One API key (OpenRouter recommended for free tier)
243
+
244
+ ---
245
+
246
+ ## 📄 License
247
+
248
+ MIT © 2026 YS Code Agent. See [LICENSE](LICENSE).
249
+
250
+ ---
251
+
252
+ *Built for developers who code from their phones.*
package/SETUP.md ADDED
@@ -0,0 +1,228 @@
1
+ # YS Code Agent — Setup Guide
2
+
3
+ > Version 2.0 | MIT License 2026
4
+
5
+ ---
6
+
7
+ ## Prerequisites
8
+
9
+ - **Node.js** >= 22.0.0 (recommended: 22.12+)
10
+ - **npm** >= 10.0
11
+ - A terminal emulator (Termux on Android, or any standard terminal on Linux/macOS)
12
+
13
+ ---
14
+
15
+ ## Quick Install
16
+
17
+ ### Option 1: Global npm install (recommended)
18
+
19
+ ```bash
20
+ # Clone the repository
21
+ git clone https://github.com/YSCodex/YSCode.git
22
+ cd YSCode
23
+
24
+ # Install dependencies
25
+ npm install
26
+
27
+ # Build the project
28
+ npm run build
29
+
30
+ # Link globally (makes `ys` available everywhere)
31
+ npm link
32
+
33
+ # Or install globally directly
34
+ npm install -g .
35
+ ```
36
+
37
+ ### Option 2: Direct execution
38
+
39
+ ```bash
40
+ # Run without installing globally
41
+ node dist/cli/index.cjs
42
+ ```
43
+
44
+ ### Option 3: Termux (Android)
45
+
46
+ ```bash
47
+ # Install Node.js in Termux
48
+ pkg update && pkg upgrade
49
+ pkg install nodejs git
50
+
51
+ # Clone and setup
52
+ git clone https://github.com/YSCodex/YSCode.git
53
+ cd YSCode
54
+ npm install
55
+ npm run build
56
+ npm link
57
+
58
+ # Optional: run setup script for Termux optimizations
59
+ bash scripts/setup-termux.sh
60
+ ```
61
+
62
+ ---
63
+
64
+ ## API Key Configuration
65
+
66
+ YS Code Agent needs at least one API key to function. Set one of these environment variables:
67
+
68
+ ### OpenRouter (recommended — free models available)
69
+
70
+ ```bash
71
+ export OPENROUTER_API_KEY="sk-or-v1-xxxxxxxxxxxxxxxx"
72
+ ```
73
+
74
+ Free models available:
75
+ - `google/gemma-4-31b-it:free` (default)
76
+ - `qwen/qwen-3-coder-32b:free`
77
+ - `meta-llama/llama-3.3-70b-instruct:free`
78
+ - `deepseek/deepseek-chat:free`
79
+
80
+ ### Other providers
81
+
82
+ ```bash
83
+ # Anthropic (Claude)
84
+ export ANTHROPIC_API_KEY="sk-ant-xxxxxxxx"
85
+
86
+ # OpenAI (GPT-4o, GPT-4o-mini)
87
+ export OPENAI_API_KEY="sk-xxxxxxxx"
88
+
89
+ # Google (Gemini)
90
+ export GOOGLE_API_KEY="AIzaxxxxxxxx"
91
+
92
+ # Groq (fastest inference)
93
+ export GROQ_API_KEY="gsk_xxxxxxxx"
94
+
95
+ # DeepSeek
96
+ export DEEPSEEK_API_KEY="sk-xxxxxxxx"
97
+
98
+ # Local Ollama
99
+ export OLLAMA_HOST="http://localhost:11434"
100
+ ```
101
+
102
+ ### Set key via CLI (alternative)
103
+
104
+ ```bash
105
+ ys key openrouter sk-or-v1-xxxxxxxxxxxx
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Quick Start
111
+
112
+ ```bash
113
+ # Start interactive mode
114
+ ys
115
+
116
+ # Or with a specific model
117
+ ys --model google/gemma-4-31b-it:free
118
+
119
+ # Or with a specific provider
120
+ ys --provider openrouter
121
+
122
+ # Execute a one-shot task
123
+ ys run "Create a React component for a login form"
124
+
125
+ # Run diagnostics
126
+ ys doctor
127
+ ```
128
+
129
+ ---
130
+
131
+ ## First Run
132
+
133
+ When you start `ys` for the first time:
134
+
135
+ 1. You'll see the welcome dashboard with system info
136
+ 2. Type `/` to see available commands
137
+ 3. Type your question or task to start coding
138
+ 4. Use `/help` for complete command reference
139
+
140
+ ### Tips for first-time users
141
+
142
+ - Type `/?` or `/help files` to see file-related commands
143
+ - Type `/provider` to check which AI providers are configured
144
+ - Type `/doctor` to run a system diagnostic check
145
+ - Type `/init` to create a `.ys/` project memory folder
146
+
147
+ ---
148
+
149
+ ## Platform-Specific Notes
150
+
151
+ ### Termux (Android)
152
+
153
+ - YS Code Agent automatically detects Termux and optimizes UI
154
+ - Narrow terminal mode activates if width < 60 characters
155
+ - Animations are disabled on low-RAM devices (< 2GB)
156
+ - Use portrait mode for best experience on phones
157
+
158
+ ### Linux / macOS
159
+
160
+ - All features fully supported
161
+ - 256-color terminal recommended
162
+ - `Ctrl+X` opens external editor ($EDITOR or nano)
163
+
164
+ ### Windows
165
+
166
+ - Best used via WSL2 or Git Bash
167
+ - Some ANSI features may require Windows Terminal
168
+
169
+ ---
170
+
171
+ ## Updating
172
+
173
+ ```bash
174
+ # Pull latest changes
175
+ git pull origin main
176
+
177
+ # Rebuild
178
+ npm run build
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Troubleshooting
184
+
185
+ ### "No API key configured"
186
+ Set one of the environment variables listed above or use `/key <provider> <api_key>`.
187
+
188
+ ### "Provider not found"
189
+ Run `/provider` to list available providers. Use `/provider <name>` to switch.
190
+
191
+ ### Build fails
192
+ - Ensure Node.js >= 22.0.0: `node --version`
193
+ - Clear npm cache: `npm cache clean --force`
194
+ - Delete node_modules and reinstall: `rm -rf node_modules && npm install`
195
+
196
+ ### Termux issues
197
+ - Run `bash scripts/setup-termux.sh` for Android-specific fixes
198
+ - Ensure `pkg update` was run recently
199
+
200
+ ---
201
+
202
+ ## Project Structure
203
+
204
+ ```
205
+ ys-agent/
206
+ ├── src/
207
+ │ ├── cli/ # CLI entry, interactive mode, agent manager
208
+ │ ├── ui/ # Terminal UI (welcome, popup, themes)
209
+ │ ├── commands/ # Slash command handlers
210
+ │ ├── agent/ # Core AI agent loop
211
+ │ ├── providers/ # API providers (OpenRouter, Anthropic, etc.)
212
+ │ ├── tools/ # Tool system (read/write/edit/git/search)
213
+ │ ├── memory/ # Memory management
214
+ │ ├── session/ # Session persistence
215
+ │ ├── config/ # Configuration system
216
+ │ └── utils/ # Utilities
217
+ ├── dist/ # Compiled output
218
+ ├── .ys/ # Auto-created project memory
219
+ └── scripts/ # Build & setup scripts
220
+ ```
221
+
222
+ ---
223
+
224
+ ## Need Help?
225
+
226
+ - Type `/?` or `/help` inside the agent
227
+ - Run `/doctor` for system diagnostics
228
+ - Visit the GitHub repository for issues