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.
- package/LICENSE +21 -0
- package/README.md +252 -0
- package/SETUP.md +228 -0
- package/USAGE.md +437 -0
- package/dist/agent/index.d.ts +29 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +501 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/cli/agent.d.ts +10 -0
- package/dist/cli/agent.d.ts.map +1 -0
- package/dist/cli/agent.js +38 -0
- package/dist/cli/agent.js.map +1 -0
- package/dist/cli/index.cjs +19187 -0
- package/dist/cli/index.cjs.map +7 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +326 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/interactive.d.ts +14 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +125 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/commands/CommandRegistry.d.ts +15 -0
- package/dist/commands/CommandRegistry.d.ts.map +1 -0
- package/dist/commands/CommandRegistry.js +1311 -0
- package/dist/commands/CommandRegistry.js.map +1 -0
- package/dist/commands/handlers/agents.d.ts +5 -0
- package/dist/commands/handlers/agents.d.ts.map +1 -0
- package/dist/commands/handlers/agents.js +124 -0
- package/dist/commands/handlers/agents.js.map +1 -0
- package/dist/commands/handlers/file.d.ts +8 -0
- package/dist/commands/handlers/file.d.ts.map +1 -0
- package/dist/commands/handlers/file.js +364 -0
- package/dist/commands/handlers/file.js.map +1 -0
- package/dist/commands/handlers/git.d.ts +2 -0
- package/dist/commands/handlers/git.d.ts.map +1 -0
- package/dist/commands/handlers/git.js +343 -0
- package/dist/commands/handlers/git.js.map +1 -0
- package/dist/commands/handlers/memory.d.ts +6 -0
- package/dist/commands/handlers/memory.d.ts.map +1 -0
- package/dist/commands/handlers/memory.js +149 -0
- package/dist/commands/handlers/memory.js.map +1 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/config/index.d.ts +25 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +399 -0
- package/dist/config/index.js.map +1 -0
- package/dist/context/index.d.ts +31 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +208 -0
- package/dist/context/index.js.map +1 -0
- package/dist/filesystem/index.d.ts +52 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +481 -0
- package/dist/filesystem/index.js.map +1 -0
- package/dist/git/index.d.ts +41 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +381 -0
- package/dist/git/index.js.map +1 -0
- package/dist/logger/index.d.ts +32 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +199 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/memory/index.d.ts +45 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +147 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/project/index.d.ts +14 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +371 -0
- package/dist/project/index.js.map +1 -0
- package/dist/providers/anthropic.d.ts +22 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +202 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +29 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +119 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/custom.d.ts +8 -0
- package/dist/providers/custom.d.ts.map +1 -0
- package/dist/providers/custom.js +13 -0
- package/dist/providers/custom.js.map +1 -0
- package/dist/providers/deepseek.d.ts +8 -0
- package/dist/providers/deepseek.d.ts.map +1 -0
- package/dist/providers/deepseek.js +13 -0
- package/dist/providers/deepseek.js.map +1 -0
- package/dist/providers/gemini.d.ts +18 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +183 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/groq.d.ts +8 -0
- package/dist/providers/groq.d.ts.map +1 -0
- package/dist/providers/groq.js +13 -0
- package/dist/providers/groq.js.map +1 -0
- package/dist/providers/index.d.ts +16 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +50 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/lmstudio.d.ts +9 -0
- package/dist/providers/lmstudio.d.ts.map +1 -0
- package/dist/providers/lmstudio.js +18 -0
- package/dist/providers/lmstudio.js.map +1 -0
- package/dist/providers/ollama.d.ts +8 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +13 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai.d.ts +16 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +116 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/openrouter.d.ts +9 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +21 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/security/index.d.ts +28 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +139 -0
- package/dist/security/index.js.map +1 -0
- package/dist/session/index.d.ts +36 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +203 -0
- package/dist/session/index.js.map +1 -0
- package/dist/src/agent/index.d.ts +29 -0
- package/dist/src/agent/index.d.ts.map +1 -0
- package/dist/src/agent/index.js +504 -0
- package/dist/src/agent/index.js.map +1 -0
- package/dist/src/cli/agent.d.ts +10 -0
- package/dist/src/cli/agent.d.ts.map +1 -0
- package/dist/src/cli/agent.js +38 -0
- package/dist/src/cli/agent.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +327 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/interactive.d.ts +12 -0
- package/dist/src/cli/interactive.d.ts.map +1 -0
- package/dist/src/cli/interactive.js +202 -0
- package/dist/src/cli/interactive.js.map +1 -0
- package/dist/src/config/index.d.ts +25 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +398 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/context/index.d.ts +31 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/context/index.js +208 -0
- package/dist/src/context/index.js.map +1 -0
- package/dist/src/filesystem/index.d.ts +52 -0
- package/dist/src/filesystem/index.d.ts.map +1 -0
- package/dist/src/filesystem/index.js +481 -0
- package/dist/src/filesystem/index.js.map +1 -0
- package/dist/src/git/index.d.ts +41 -0
- package/dist/src/git/index.d.ts.map +1 -0
- package/dist/src/git/index.js +381 -0
- package/dist/src/git/index.js.map +1 -0
- package/dist/src/logger/index.d.ts +32 -0
- package/dist/src/logger/index.d.ts.map +1 -0
- package/dist/src/logger/index.js +199 -0
- package/dist/src/logger/index.js.map +1 -0
- package/dist/src/memory/index.d.ts +45 -0
- package/dist/src/memory/index.d.ts.map +1 -0
- package/dist/src/memory/index.js +147 -0
- package/dist/src/memory/index.js.map +1 -0
- package/dist/src/project/index.d.ts +14 -0
- package/dist/src/project/index.d.ts.map +1 -0
- package/dist/src/project/index.js +371 -0
- package/dist/src/project/index.js.map +1 -0
- package/dist/src/providers/anthropic.d.ts +22 -0
- package/dist/src/providers/anthropic.d.ts.map +1 -0
- package/dist/src/providers/anthropic.js +202 -0
- package/dist/src/providers/anthropic.js.map +1 -0
- package/dist/src/providers/base.d.ts +29 -0
- package/dist/src/providers/base.d.ts.map +1 -0
- package/dist/src/providers/base.js +112 -0
- package/dist/src/providers/base.js.map +1 -0
- package/dist/src/providers/custom.d.ts +8 -0
- package/dist/src/providers/custom.d.ts.map +1 -0
- package/dist/src/providers/custom.js +13 -0
- package/dist/src/providers/custom.js.map +1 -0
- package/dist/src/providers/deepseek.d.ts +8 -0
- package/dist/src/providers/deepseek.d.ts.map +1 -0
- package/dist/src/providers/deepseek.js +13 -0
- package/dist/src/providers/deepseek.js.map +1 -0
- package/dist/src/providers/gemini.d.ts +18 -0
- package/dist/src/providers/gemini.d.ts.map +1 -0
- package/dist/src/providers/gemini.js +183 -0
- package/dist/src/providers/gemini.js.map +1 -0
- package/dist/src/providers/groq.d.ts +8 -0
- package/dist/src/providers/groq.d.ts.map +1 -0
- package/dist/src/providers/groq.js +13 -0
- package/dist/src/providers/groq.js.map +1 -0
- package/dist/src/providers/index.d.ts +16 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +50 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/providers/lmstudio.d.ts +9 -0
- package/dist/src/providers/lmstudio.d.ts.map +1 -0
- package/dist/src/providers/lmstudio.js +18 -0
- package/dist/src/providers/lmstudio.js.map +1 -0
- package/dist/src/providers/ollama.d.ts +8 -0
- package/dist/src/providers/ollama.d.ts.map +1 -0
- package/dist/src/providers/ollama.js +13 -0
- package/dist/src/providers/ollama.js.map +1 -0
- package/dist/src/providers/openai.d.ts +16 -0
- package/dist/src/providers/openai.d.ts.map +1 -0
- package/dist/src/providers/openai.js +116 -0
- package/dist/src/providers/openai.js.map +1 -0
- package/dist/src/providers/openrouter.d.ts +9 -0
- package/dist/src/providers/openrouter.d.ts.map +1 -0
- package/dist/src/providers/openrouter.js +21 -0
- package/dist/src/providers/openrouter.js.map +1 -0
- package/dist/src/security/index.d.ts +28 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +139 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/session/index.d.ts +36 -0
- package/dist/src/session/index.d.ts.map +1 -0
- package/dist/src/session/index.js +203 -0
- package/dist/src/session/index.js.map +1 -0
- package/dist/src/terminal/index.d.ts +27 -0
- package/dist/src/terminal/index.d.ts.map +1 -0
- package/dist/src/terminal/index.js +211 -0
- package/dist/src/terminal/index.js.map +1 -0
- package/dist/src/tools/DeleteFileTool.d.ts +7 -0
- package/dist/src/tools/DeleteFileTool.d.ts.map +1 -0
- package/dist/src/tools/DeleteFileTool.js +50 -0
- package/dist/src/tools/DeleteFileTool.js.map +1 -0
- package/dist/src/tools/DirectoryTreeTool.d.ts +7 -0
- package/dist/src/tools/DirectoryTreeTool.d.ts.map +1 -0
- package/dist/src/tools/DirectoryTreeTool.js +50 -0
- package/dist/src/tools/DirectoryTreeTool.js.map +1 -0
- package/dist/src/tools/EditFileTool.d.ts +7 -0
- package/dist/src/tools/EditFileTool.d.ts.map +1 -0
- package/dist/src/tools/EditFileTool.js +69 -0
- package/dist/src/tools/EditFileTool.js.map +1 -0
- package/dist/src/tools/GitTool.d.ts +9 -0
- package/dist/src/tools/GitTool.d.ts.map +1 -0
- package/dist/src/tools/GitTool.js +115 -0
- package/dist/src/tools/GitTool.js.map +1 -0
- package/dist/src/tools/GlobTool.d.ts +7 -0
- package/dist/src/tools/GlobTool.d.ts.map +1 -0
- package/dist/src/tools/GlobTool.js +51 -0
- package/dist/src/tools/GlobTool.js.map +1 -0
- package/dist/src/tools/MemoryTool.d.ts +9 -0
- package/dist/src/tools/MemoryTool.d.ts.map +1 -0
- package/dist/src/tools/MemoryTool.js +109 -0
- package/dist/src/tools/MemoryTool.js.map +1 -0
- package/dist/src/tools/ReadFileTool.d.ts +7 -0
- package/dist/src/tools/ReadFileTool.d.ts.map +1 -0
- package/dist/src/tools/ReadFileTool.js +75 -0
- package/dist/src/tools/ReadFileTool.js.map +1 -0
- package/dist/src/tools/SearchTool.d.ts +7 -0
- package/dist/src/tools/SearchTool.d.ts.map +1 -0
- package/dist/src/tools/SearchTool.js +67 -0
- package/dist/src/tools/SearchTool.js.map +1 -0
- package/dist/src/tools/TerminalTool.d.ts +9 -0
- package/dist/src/tools/TerminalTool.d.ts.map +1 -0
- package/dist/src/tools/TerminalTool.js +93 -0
- package/dist/src/tools/TerminalTool.js.map +1 -0
- package/dist/src/tools/WebFetchTool.d.ts +7 -0
- package/dist/src/tools/WebFetchTool.d.ts.map +1 -0
- package/dist/src/tools/WebFetchTool.js +120 -0
- package/dist/src/tools/WebFetchTool.js.map +1 -0
- package/dist/src/tools/WriteFileTool.d.ts +7 -0
- package/dist/src/tools/WriteFileTool.d.ts.map +1 -0
- package/dist/src/tools/WriteFileTool.js +46 -0
- package/dist/src/tools/WriteFileTool.js.map +1 -0
- package/dist/src/tools/base.d.ts +36 -0
- package/dist/src/tools/base.d.ts.map +1 -0
- package/dist/src/tools/base.js +159 -0
- package/dist/src/tools/base.js.map +1 -0
- package/dist/src/tools/index.d.ts +14 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +44 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/types.d.ts +315 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/ui/index.d.ts +50 -0
- package/dist/src/ui/index.d.ts.map +1 -0
- package/dist/src/ui/index.js +274 -0
- package/dist/src/ui/index.js.map +1 -0
- package/dist/src/utils/index.d.ts +26 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +248 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/terminal/index.d.ts +27 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +211 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/tools/DeleteFileTool.d.ts +7 -0
- package/dist/tools/DeleteFileTool.d.ts.map +1 -0
- package/dist/tools/DeleteFileTool.js +50 -0
- package/dist/tools/DeleteFileTool.js.map +1 -0
- package/dist/tools/DirectoryTreeTool.d.ts +7 -0
- package/dist/tools/DirectoryTreeTool.d.ts.map +1 -0
- package/dist/tools/DirectoryTreeTool.js +50 -0
- package/dist/tools/DirectoryTreeTool.js.map +1 -0
- package/dist/tools/EditFileTool.d.ts +7 -0
- package/dist/tools/EditFileTool.d.ts.map +1 -0
- package/dist/tools/EditFileTool.js +69 -0
- package/dist/tools/EditFileTool.js.map +1 -0
- package/dist/tools/GitTool.d.ts +9 -0
- package/dist/tools/GitTool.d.ts.map +1 -0
- package/dist/tools/GitTool.js +115 -0
- package/dist/tools/GitTool.js.map +1 -0
- package/dist/tools/GlobTool.d.ts +7 -0
- package/dist/tools/GlobTool.d.ts.map +1 -0
- package/dist/tools/GlobTool.js +51 -0
- package/dist/tools/GlobTool.js.map +1 -0
- package/dist/tools/MemoryTool.d.ts +9 -0
- package/dist/tools/MemoryTool.d.ts.map +1 -0
- package/dist/tools/MemoryTool.js +109 -0
- package/dist/tools/MemoryTool.js.map +1 -0
- package/dist/tools/ReadFileTool.d.ts +7 -0
- package/dist/tools/ReadFileTool.d.ts.map +1 -0
- package/dist/tools/ReadFileTool.js +75 -0
- package/dist/tools/ReadFileTool.js.map +1 -0
- package/dist/tools/SearchTool.d.ts +7 -0
- package/dist/tools/SearchTool.d.ts.map +1 -0
- package/dist/tools/SearchTool.js +67 -0
- package/dist/tools/SearchTool.js.map +1 -0
- package/dist/tools/TerminalTool.d.ts +9 -0
- package/dist/tools/TerminalTool.d.ts.map +1 -0
- package/dist/tools/TerminalTool.js +93 -0
- package/dist/tools/TerminalTool.js.map +1 -0
- package/dist/tools/WebFetchTool.d.ts +7 -0
- package/dist/tools/WebFetchTool.d.ts.map +1 -0
- package/dist/tools/WebFetchTool.js +120 -0
- package/dist/tools/WebFetchTool.js.map +1 -0
- package/dist/tools/WriteFileTool.d.ts +7 -0
- package/dist/tools/WriteFileTool.d.ts.map +1 -0
- package/dist/tools/WriteFileTool.js +46 -0
- package/dist/tools/WriteFileTool.js.map +1 -0
- package/dist/tools/base.d.ts +36 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +159 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/index.d.ts +14 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +44 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types.d.ts +315 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/CommandPopup.d.ts +33 -0
- package/dist/ui/CommandPopup.d.ts.map +1 -0
- package/dist/ui/CommandPopup.js +179 -0
- package/dist/ui/CommandPopup.js.map +1 -0
- package/dist/ui/WelcomeScreen.d.ts +3 -0
- package/dist/ui/WelcomeScreen.d.ts.map +1 -0
- package/dist/ui/WelcomeScreen.js +168 -0
- package/dist/ui/WelcomeScreen.js.map +1 -0
- package/dist/ui/index.d.ts +75 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +728 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/phoneOptimizer.d.ts +15 -0
- package/dist/ui/phoneOptimizer.d.ts.map +1 -0
- package/dist/ui/phoneOptimizer.js +58 -0
- package/dist/ui/phoneOptimizer.js.map +1 -0
- package/dist/utils/index.d.ts +26 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +248 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +80 -0
- package/scripts/build.mjs +53 -0
- 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)
|
|
6
|
+
[](package.json)
|
|
7
|
+
[](https://www.npmjs.com/package/ys-code-agent)
|
|
8
|
+
[](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
|