omni-catalyst 1.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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1137 -0
  3. package/core/bin/core +85 -0
  4. package/core/bin/omni +21 -0
  5. package/core/cli/commands/--version.sh +8 -0
  6. package/core/cli/commands/brain.sh +1549 -0
  7. package/core/cli/commands/doctor.sh +834 -0
  8. package/core/cli/commands/env.sh +226 -0
  9. package/core/cli/commands/init.sh +1266 -0
  10. package/core/cli/commands/install.sh +759 -0
  11. package/core/cli/commands/list.sh +397 -0
  12. package/core/cli/commands/open.sh +71 -0
  13. package/core/cli/commands/pg.sh +761 -0
  14. package/core/cli/commands/reinstall.sh +694 -0
  15. package/core/cli/commands/show.sh +90 -0
  16. package/core/cli/commands/uninstall.sh +700 -0
  17. package/core/cli/commands/update.sh +754 -0
  18. package/core/cli/commands/voice.sh +170 -0
  19. package/core/cli/core.sh +82 -0
  20. package/core/cli/omni.sh +634 -0
  21. package/core/modules/ai.sh +152 -0
  22. package/core/modules/auto.sh +90 -0
  23. package/core/modules/db.sh +94 -0
  24. package/core/modules/deploy.sh +50 -0
  25. package/core/modules/dev.sh +126 -0
  26. package/core/modules/editor.sh +101 -0
  27. package/core/modules/lang.sh +100 -0
  28. package/core/modules/npm.sh +122 -0
  29. package/core/modules/shell.sh +312 -0
  30. package/core/modules/ui.sh +115 -0
  31. package/core/tools/ai/all.sh +63 -0
  32. package/core/tools/ai/antigravity-cli/README.md +45 -0
  33. package/core/tools/ai/antigravity-cli/bin/agy +28 -0
  34. package/core/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
  35. package/core/tools/ai/antigravity-cli/install.sh +469 -0
  36. package/core/tools/ai/claude-code/README.md +45 -0
  37. package/core/tools/ai/claude-code/bin/claude +29 -0
  38. package/core/tools/ai/claude-code/helper/claude_helper.c +42 -0
  39. package/core/tools/ai/claude-code/install.sh +278 -0
  40. package/core/tools/ai/codegraph/README.md +43 -0
  41. package/core/tools/ai/codegraph/bin/codegraph +3 -0
  42. package/core/tools/ai/codegraph/install.sh +149 -0
  43. package/core/tools/ai/codex/README.md +44 -0
  44. package/core/tools/ai/codex/install.sh +104 -0
  45. package/core/tools/ai/command-code/README.md +62 -0
  46. package/core/tools/ai/command-code/install.sh +136 -0
  47. package/core/tools/ai/engram/README.md +44 -0
  48. package/core/tools/ai/engram/install.sh +127 -0
  49. package/core/tools/ai/freebuff/README.md +52 -0
  50. package/core/tools/ai/freebuff/bin/freebuff +28 -0
  51. package/core/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
  52. package/core/tools/ai/freebuff/install.sh +301 -0
  53. package/core/tools/ai/gemini-cli/README.md +46 -0
  54. package/core/tools/ai/gemini-cli/install.sh +111 -0
  55. package/core/tools/ai/gentle-ai/README.md +42 -0
  56. package/core/tools/ai/gentle-ai/install.sh +253 -0
  57. package/core/tools/ai/gentle-ai/termux-patches.go +256 -0
  58. package/core/tools/ai/gga/README.md +49 -0
  59. package/core/tools/ai/gga/install.sh +134 -0
  60. package/core/tools/ai/hermes-agent/README.md +50 -0
  61. package/core/tools/ai/hermes-agent/install.sh +80 -0
  62. package/core/tools/ai/heygen/README.md +24 -0
  63. package/core/tools/ai/heygen/install.sh +126 -0
  64. package/core/tools/ai/kilocode-cli/README.md +45 -0
  65. package/core/tools/ai/kilocode-cli/bin/kilocode +21 -0
  66. package/core/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
  67. package/core/tools/ai/kilocode-cli/install.sh +179 -0
  68. package/core/tools/ai/kimchi-code/README.md +8 -0
  69. package/core/tools/ai/kimchi-code/install.sh +120 -0
  70. package/core/tools/ai/kimi-code/README.md +45 -0
  71. package/core/tools/ai/kimi-code/install.sh +111 -0
  72. package/core/tools/ai/kiro-cli/README.md +23 -0
  73. package/core/tools/ai/kiro-cli/install.sh +127 -0
  74. package/core/tools/ai/mimocode/README.md +43 -0
  75. package/core/tools/ai/mimocode/bin/mimo +28 -0
  76. package/core/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
  77. package/core/tools/ai/mimocode/install.sh +287 -0
  78. package/core/tools/ai/minimax-cli/README.md +45 -0
  79. package/core/tools/ai/minimax-cli/install.sh +111 -0
  80. package/core/tools/ai/mistral-vibe/README.md +46 -0
  81. package/core/tools/ai/mistral-vibe/install.sh +119 -0
  82. package/core/tools/ai/odysseus/README.md +35 -0
  83. package/core/tools/ai/odysseus/install.sh +163 -0
  84. package/core/tools/ai/ollama/README.md +44 -0
  85. package/core/tools/ai/ollama/install.sh +78 -0
  86. package/core/tools/ai/openclaude/README.md +46 -0
  87. package/core/tools/ai/openclaude/install.sh +110 -0
  88. package/core/tools/ai/openclaw/README.md +47 -0
  89. package/core/tools/ai/openclaw/install.sh +112 -0
  90. package/core/tools/ai/opencode/README.md +51 -0
  91. package/core/tools/ai/opencode/bin/opencode +28 -0
  92. package/core/tools/ai/opencode/helper/opencode_helper.c +57 -0
  93. package/core/tools/ai/opencode/install.sh +290 -0
  94. package/core/tools/ai/pi/README.md +46 -0
  95. package/core/tools/ai/pi/install.sh +104 -0
  96. package/core/tools/ai/qwen-code/README.md +45 -0
  97. package/core/tools/ai/qwen-code/install.sh +111 -0
  98. package/core/tools/ai/seedance/README.md +22 -0
  99. package/core/tools/ai/seedance/install.sh +134 -0
  100. package/core/tools/ai/veo3/README.md +36 -0
  101. package/core/tools/ai/veo3/install.sh +151 -0
  102. package/core/tools/auto/all.sh +57 -0
  103. package/core/tools/auto/n8n/README.md +47 -0
  104. package/core/tools/auto/n8n/install.sh +102 -0
  105. package/core/tools/db/all.sh +60 -0
  106. package/core/tools/db/mariadb/README.md +43 -0
  107. package/core/tools/db/mariadb/install.sh +65 -0
  108. package/core/tools/db/mongodb/README.md +42 -0
  109. package/core/tools/db/mongodb/install.sh +73 -0
  110. package/core/tools/db/postgresql/README.md +45 -0
  111. package/core/tools/db/postgresql/install.sh +65 -0
  112. package/core/tools/db/sqlite/README.md +44 -0
  113. package/core/tools/db/sqlite/install.sh +65 -0
  114. package/core/tools/deploy/all.sh +39 -0
  115. package/core/tools/deploy/netlify/install.sh +41 -0
  116. package/core/tools/deploy/railway/install.sh +47 -0
  117. package/core/tools/deploy/vercel/install.sh +43 -0
  118. package/core/tools/dev/all.sh +75 -0
  119. package/core/tools/dev/bat/README.md +44 -0
  120. package/core/tools/dev/bat/install.sh +82 -0
  121. package/core/tools/dev/bc/README.md +44 -0
  122. package/core/tools/dev/bc/install.sh +82 -0
  123. package/core/tools/dev/cloudflared/README.md +43 -0
  124. package/core/tools/dev/cloudflared/install.sh +82 -0
  125. package/core/tools/dev/curl/README.md +43 -0
  126. package/core/tools/dev/curl/install.sh +82 -0
  127. package/core/tools/dev/fzf/README.md +44 -0
  128. package/core/tools/dev/fzf/install.sh +82 -0
  129. package/core/tools/dev/gh/README.md +43 -0
  130. package/core/tools/dev/gh/install.sh +82 -0
  131. package/core/tools/dev/html2text/README.md +44 -0
  132. package/core/tools/dev/html2text/install.sh +82 -0
  133. package/core/tools/dev/imagemagick/README.md +44 -0
  134. package/core/tools/dev/imagemagick/install.sh +82 -0
  135. package/core/tools/dev/jq/README.md +44 -0
  136. package/core/tools/dev/jq/install.sh +82 -0
  137. package/core/tools/dev/lsd/README.md +44 -0
  138. package/core/tools/dev/lsd/install.sh +82 -0
  139. package/core/tools/dev/make/README.md +44 -0
  140. package/core/tools/dev/make/install.sh +82 -0
  141. package/core/tools/dev/ncurses/README.md +42 -0
  142. package/core/tools/dev/ncurses/install.sh +82 -0
  143. package/core/tools/dev/proot/README.md +43 -0
  144. package/core/tools/dev/proot/install.sh +82 -0
  145. package/core/tools/dev/shfmt/README.md +44 -0
  146. package/core/tools/dev/shfmt/install.sh +82 -0
  147. package/core/tools/dev/tmate/README.md +44 -0
  148. package/core/tools/dev/tmate/install.sh +82 -0
  149. package/core/tools/dev/translate/README.md +44 -0
  150. package/core/tools/dev/translate/install.sh +82 -0
  151. package/core/tools/dev/tree/README.md +44 -0
  152. package/core/tools/dev/tree/install.sh +82 -0
  153. package/core/tools/dev/udocker/README.md +44 -0
  154. package/core/tools/dev/udocker/install.sh +82 -0
  155. package/core/tools/dev/wget/README.md +44 -0
  156. package/core/tools/dev/wget/install.sh +82 -0
  157. package/core/tools/editor/all.sh +58 -0
  158. package/core/tools/editor/neovim/README.md +43 -0
  159. package/core/tools/editor/neovim/install.sh +66 -0
  160. package/core/tools/editor/nvchad/README.md +45 -0
  161. package/core/tools/editor/nvchad/install.sh +110 -0
  162. package/core/tools/lang/all.sh +63 -0
  163. package/core/tools/lang/clang/README.md +43 -0
  164. package/core/tools/lang/clang/install.sh +79 -0
  165. package/core/tools/lang/golang/README.md +43 -0
  166. package/core/tools/lang/golang/install.sh +79 -0
  167. package/core/tools/lang/nodejs/README.md +43 -0
  168. package/core/tools/lang/nodejs/install.sh +79 -0
  169. package/core/tools/lang/perl/README.md +43 -0
  170. package/core/tools/lang/perl/install.sh +79 -0
  171. package/core/tools/lang/php/README.md +43 -0
  172. package/core/tools/lang/php/install.sh +79 -0
  173. package/core/tools/lang/python/README.md +43 -0
  174. package/core/tools/lang/python/install.sh +79 -0
  175. package/core/tools/lang/rust/README.md +43 -0
  176. package/core/tools/lang/rust/install.sh +79 -0
  177. package/core/tools/npm/all.sh +67 -0
  178. package/core/tools/npm/live-server/README.md +43 -0
  179. package/core/tools/npm/live-server/install.sh +95 -0
  180. package/core/tools/npm/localtunnel/README.md +43 -0
  181. package/core/tools/npm/localtunnel/install.sh +111 -0
  182. package/core/tools/npm/markserv/README.md +43 -0
  183. package/core/tools/npm/markserv/install.sh +94 -0
  184. package/core/tools/npm/ncu/README.md +43 -0
  185. package/core/tools/npm/ncu/install.sh +94 -0
  186. package/core/tools/npm/nestjs/README.md +43 -0
  187. package/core/tools/npm/nestjs/install.sh +94 -0
  188. package/core/tools/npm/ngrok/README.md +44 -0
  189. package/core/tools/npm/ngrok/install.sh +94 -0
  190. package/core/tools/npm/prettier/README.md +43 -0
  191. package/core/tools/npm/prettier/install.sh +94 -0
  192. package/core/tools/npm/psqlformat/README.md +43 -0
  193. package/core/tools/npm/psqlformat/install.sh +94 -0
  194. package/core/tools/npm/turbopack/README.md +8 -0
  195. package/core/tools/npm/turbopack/install.sh +41 -0
  196. package/core/tools/npm/typescript/README.md +43 -0
  197. package/core/tools/npm/typescript/install.sh +94 -0
  198. package/core/tools/npm/vercel/README.md +43 -0
  199. package/core/tools/npm/vercel/install.sh +94 -0
  200. package/core/tools/shell/all.sh +67 -0
  201. package/core/tools/shell/better-npm/README.md +43 -0
  202. package/core/tools/shell/better-npm/install.sh +85 -0
  203. package/core/tools/shell/fzf-tab/README.md +44 -0
  204. package/core/tools/shell/fzf-tab/install.sh +85 -0
  205. package/core/tools/shell/history-substring/README.md +43 -0
  206. package/core/tools/shell/history-substring/install.sh +85 -0
  207. package/core/tools/shell/powerlevel10k/README.md +43 -0
  208. package/core/tools/shell/powerlevel10k/install.sh +85 -0
  209. package/core/tools/shell/you-should-use/README.md +43 -0
  210. package/core/tools/shell/you-should-use/install.sh +85 -0
  211. package/core/tools/shell/zsh-autopair/README.md +44 -0
  212. package/core/tools/shell/zsh-autopair/install.sh +85 -0
  213. package/core/tools/shell/zsh-autosuggestions/README.md +43 -0
  214. package/core/tools/shell/zsh-autosuggestions/install.sh +85 -0
  215. package/core/tools/shell/zsh-completions/README.md +43 -0
  216. package/core/tools/shell/zsh-completions/install.sh +85 -0
  217. package/core/tools/shell/zsh-defer/README.md +43 -0
  218. package/core/tools/shell/zsh-defer/install.sh +85 -0
  219. package/core/tools/shell/zsh-syntax-highlighting/README.md +43 -0
  220. package/core/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
  221. package/core/tools/ui/all.sh +61 -0
  222. package/core/tools/ui/banner/README.md +42 -0
  223. package/core/tools/ui/banner/install.sh +151 -0
  224. package/core/tools/ui/cursor/README.md +42 -0
  225. package/core/tools/ui/cursor/install.sh +58 -0
  226. package/core/tools/ui/extra-keys/README.md +43 -0
  227. package/core/tools/ui/extra-keys/install.sh +62 -0
  228. package/core/tools/ui/font/README.md +43 -0
  229. package/core/tools/ui/font/install.sh +63 -0
  230. package/core/utils/banner.sh +519 -0
  231. package/core/utils/bootstrap.sh +25 -0
  232. package/core/utils/colors.sh +31 -0
  233. package/core/utils/dialogrc +30 -0
  234. package/core/utils/env.sh +53 -0
  235. package/core/utils/log.sh +598 -0
  236. package/install.sh +272 -0
  237. package/package.json +43 -0
@@ -0,0 +1,301 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+ import "@/utils/colors"
5
+
6
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
7
+ FREEBUFF_DATA_DIR="$HOME/.local/share/omni-data/freebuff"
8
+
9
+ _freebuff_detect_ubuntu_root() {
10
+ local root
11
+ root="$(find /data/data/com.termux -maxdepth 10 -type d \
12
+ -name "rootfs" -path "*/containers/ubuntu/*" 2>/dev/null | head -1)"
13
+
14
+ if [ -z "$root" ]; then
15
+ root="$(find /data/data/com.termux -maxdepth 10 -type d \
16
+ -name "ubuntu" -path "*/installed-rootfs/*" 2>/dev/null | head -1)"
17
+ fi
18
+
19
+ echo "$root"
20
+ }
21
+
22
+ _freebuff_proot_ubuntu() {
23
+ proot-distro login \
24
+ --shared-tmp \
25
+ ubuntu \
26
+ -- "$@"
27
+ }
28
+
29
+ _get_latest_freebuff_version() {
30
+ curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest |
31
+ grep '"tag_name":' | sed -E 's/.*"freebuff-v([^"]+)".*/\1/'
32
+ }
33
+
34
+ _freebuff_install_deps_native() {
35
+ loading "Installing glibc and dependencies" _freebuff_install_deps_native_impl
36
+ }
37
+
38
+ _freebuff_install_deps_native_impl() {
39
+ if [[ ! -f $PREFIX/etc/apt/sources.list.d/glibc.list ]]; then
40
+ if ! pkg install glibc-repo -y &>>"$LOG_FILE"; then
41
+ log_error "Failed to install glibc-repo"
42
+ return 1
43
+ fi
44
+ fi
45
+
46
+ if [[ ! -f $PREFIX/glibc/lib/libc.so.6 ]]; then
47
+ if ! pkg install glibc -y &>>"$LOG_FILE"; then
48
+ log_error "Failed to install glibc"
49
+ return 1
50
+ fi
51
+ fi
52
+
53
+ declare -A DEPS=(
54
+ ["git"]="git"
55
+ ["curl"]="curl"
56
+ ["tar"]="tar"
57
+ ["clang"]="clang"
58
+ )
59
+
60
+ local pkg_name bin_name
61
+ for pkg_name in "${!DEPS[@]}"; do
62
+ bin_name="${DEPS[$pkg_name]}"
63
+ if ! command -v "$bin_name" &>/dev/null; then
64
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
65
+ log_error "Failed to install $pkg_name"
66
+ return 1
67
+ fi
68
+ fi
69
+ done
70
+
71
+ return 0
72
+ }
73
+
74
+ _download_freebuff_binary() {
75
+ loading "Downloading Freebuff" _download_freebuff_binary_impl
76
+ }
77
+
78
+ _download_freebuff_binary_impl() {
79
+ local latest_version
80
+ latest_version=$(_get_latest_freebuff_version)
81
+ if [ -z "$latest_version" ]; then
82
+ log_error "Failed to fetch latest Freebuff version"
83
+ return 1
84
+ fi
85
+
86
+ mkdir -p "$FREEBUFF_DATA_DIR"
87
+
88
+ local tarball="freebuff-linux-arm64.tar.gz"
89
+ local download_url="https://codebuff.com/api/releases/download/$latest_version/$tarball"
90
+
91
+ if ! curl -fsSL "$download_url" -o "$FREEBUFF_DATA_DIR/$tarball" &>>"$LOG_FILE"; then
92
+ log_error "Failed to download Freebuff binary"
93
+ return 1
94
+ fi
95
+
96
+ if ! tar -zxf "$FREEBUFF_DATA_DIR/$tarball" -C "$FREEBUFF_DATA_DIR" &>>"$LOG_FILE"; then
97
+ log_error "Failed to extract Freebuff binary"
98
+ return 1
99
+ fi
100
+
101
+ rm -f "$FREEBUFF_DATA_DIR/$tarball"
102
+
103
+ if [ ! -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
104
+ log_error "Freebuff binary not found after extraction"
105
+ return 1
106
+ fi
107
+
108
+ chmod +x "$FREEBUFF_DATA_DIR/freebuff"
109
+ return 0
110
+ }
111
+
112
+ _compile_freebuff_helper() {
113
+ loading "Compiling helper" _compile_freebuff_helper_impl
114
+ }
115
+
116
+ _compile_freebuff_helper_impl() {
117
+ local HELPER_SRC="$OMNI_PATH/tools/ai/freebuff/helper/freebuff_helper.c"
118
+ if [ ! -f "$HELPER_SRC" ]; then
119
+ log_error "Helper source not found at $HELPER_SRC"
120
+ return 1
121
+ fi
122
+
123
+ if ! clang -O2 -o "$PREFIX/bin/freebuff" "$HELPER_SRC" &>>"$LOG_FILE"; then
124
+ log_error "Failed to compile freebuff helper"
125
+ return 1
126
+ fi
127
+
128
+ chmod +x "$PREFIX/bin/freebuff"
129
+ return 0
130
+ }
131
+
132
+ _install_freebuff_native() {
133
+ _freebuff_install_deps_native || return 1
134
+ _download_freebuff_binary || return 1
135
+ _compile_freebuff_helper || return 1
136
+ log_success "Freebuff installed natively"
137
+ return 0
138
+ }
139
+
140
+ _install_freebuff_proot() {
141
+ loading "Installing Freebuff (proot-distro)" _install_freebuff_proot_impl
142
+ }
143
+
144
+ _install_freebuff_proot_impl() {
145
+ mkdir -p "$(dirname "$LOG_FILE")"
146
+
147
+ if ! command -v proot-distro &>/dev/null; then
148
+ pkg install proot-distro -y &>>"$LOG_FILE"
149
+ fi
150
+
151
+ if [ ! -d "$(_freebuff_detect_ubuntu_root)" ]; then
152
+ proot-distro install ubuntu:24.04 &>>"$LOG_FILE"
153
+ fi
154
+
155
+ _freebuff_proot_ubuntu /bin/bash -c \
156
+ 'apt-get update && apt-get upgrade -y && apt-get install -y curl ca-certificates tar' \
157
+ &>>"$LOG_FILE"
158
+
159
+ _freebuff_proot_ubuntu /bin/bash -c '
160
+ export SHELL=/bin/bash
161
+ export TMPDIR=/tmp
162
+ export HOME=/root
163
+ LATEST=$(curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest | grep '"'"'tag_name'"'"' | sed -E '"'"'s/.*"freebuff-v([^"]+)".*/\1/'"'"')
164
+ curl -fsSL "https://codebuff.com/api/releases/download/${LATEST}/freebuff-linux-arm64.tar.gz" -o /tmp/freebuff.tar.gz
165
+ mkdir -p /root/.freebuff
166
+ tar -zxf /tmp/freebuff.tar.gz -C /root/.freebuff
167
+ rm -f /tmp/freebuff.tar.gz
168
+ chmod +x /root/.freebuff/freebuff
169
+ ' &>>"$LOG_FILE"
170
+
171
+ local ubuntu_root
172
+ ubuntu_root="$(_freebuff_detect_ubuntu_root)"
173
+
174
+ if [ -z "$ubuntu_root" ]; then
175
+ log_error "Ubuntu rootfs not found"
176
+ return 1
177
+ fi
178
+
179
+ local freebuff_bin="$ubuntu_root/root/.freebuff/freebuff"
180
+
181
+ if [ ! -f "$freebuff_bin" ]; then
182
+ log_error "Freebuff binary not found after install"
183
+ return 1
184
+ fi
185
+
186
+ local wrapper_src="$OMNI_PATH/tools/ai/freebuff/bin/freebuff"
187
+ if [ ! -f "$wrapper_src" ]; then
188
+ log_error "Wrapper template not found at $wrapper_src"
189
+ return 1
190
+ fi
191
+ sed "s|__UBUNTU_ROOTFS__|$ubuntu_root|g" "$wrapper_src" >"$PREFIX/bin/freebuff"
192
+ chmod +x "$PREFIX/bin/freebuff"
193
+
194
+ if ! grep -q '.freebuff' "$ubuntu_root/root/.bashrc" 2>/dev/null; then
195
+ printf '\n# freebuff\nexport PATH=/root/.freebuff:$PATH\n' >>"$ubuntu_root/root/.bashrc"
196
+ fi
197
+
198
+ return 0
199
+ }
200
+
201
+ install_freebuff() {
202
+ if command -v freebuff &>/dev/null; then
203
+ log_info "Freebuff is already installed"
204
+ return 2
205
+ fi
206
+
207
+ log_info "Installing Freebuff..."
208
+
209
+ if [[ -t 0 ]] && [[ -t 1 ]]; then
210
+ log_info "Select installation method for Freebuff:"
211
+ read_select "Installation method" SELECTED_METHOD \
212
+ "Native (recommended) - Compile with glibc support" \
213
+ "Proot-distro (alternative) - Ubuntu container"
214
+
215
+ case "$SELECTED_METHOD" in
216
+ *Native*)
217
+ _install_freebuff_native
218
+ ;;
219
+ *Proot-distro*)
220
+ _install_freebuff_proot
221
+ ;;
222
+ esac
223
+ else
224
+ _install_freebuff_native
225
+ fi
226
+ }
227
+
228
+ uninstall_freebuff() {
229
+ log_info "Uninstalling Freebuff..."
230
+ mkdir -p "$(dirname "$LOG_FILE")"
231
+
232
+ if [ ! -f "$PREFIX/bin/freebuff" ]; then
233
+ log_warn "Freebuff is not installed"
234
+ return 1
235
+ fi
236
+
237
+ if [ -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
238
+ rm -f "$PREFIX/bin/freebuff"
239
+ rm -rf "$FREEBUFF_DATA_DIR"
240
+ log_success "Freebuff (native) uninstalled"
241
+ return 0
242
+ fi
243
+
244
+ _freebuff_proot_ubuntu /bin/bash -c 'rm -rf /root/.freebuff' &>>"$LOG_FILE"
245
+
246
+ local ubuntu_bashrc
247
+ ubuntu_bashrc="$(_freebuff_detect_ubuntu_root)/root/.bashrc"
248
+
249
+ if [ -f "$ubuntu_bashrc" ]; then
250
+ sed -i '/# freebuff/d; /export PATH=\/root\/.freebuff/d' "$ubuntu_bashrc"
251
+ fi
252
+
253
+ if rm -f "$PREFIX/bin/freebuff" &>>"$LOG_FILE"; then
254
+ log_success "Freebuff (proot-distro) uninstalled"
255
+ return 0
256
+ else
257
+ log_error "Failed to uninstall Freebuff"
258
+ return 1
259
+ fi
260
+ }
261
+
262
+ update_freebuff() {
263
+ log_info "Updating Freebuff..."
264
+ mkdir -p "$(dirname "$LOG_FILE")"
265
+
266
+ if [ -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
267
+ _install_freebuff_native
268
+ return $?
269
+ fi
270
+
271
+ _freebuff_proot_ubuntu /bin/bash -c 'rm -rf /root/.freebuff' &>>"$LOG_FILE"
272
+
273
+ _freebuff_proot_ubuntu /bin/bash -c '
274
+ export SHELL=/bin/bash
275
+ export TMPDIR=/tmp
276
+ export HOME=/root
277
+ LATEST=$(curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest | grep '"'"'tag_name'"'"' | sed -E '"'"'s/.*"freebuff-v([^"]+)".*/\1/'"'"')
278
+ curl -fsSL "https://codebuff.com/api/releases/download/${LATEST}/freebuff-linux-arm64.tar.gz" -o /tmp/freebuff.tar.gz
279
+ mkdir -p /root/.freebuff
280
+ tar -zxf /tmp/freebuff.tar.gz -C /root/.freebuff
281
+ rm -f /tmp/freebuff.tar.gz
282
+ chmod +x /root/.freebuff/freebuff
283
+ ' &>>"$LOG_FILE"
284
+
285
+ local ubuntu_root
286
+ ubuntu_root="$(_freebuff_detect_ubuntu_root)"
287
+ local freebuff_bin="$ubuntu_root/root/.freebuff/freebuff"
288
+
289
+ if [ ! -f "$freebuff_bin" ]; then
290
+ log_error "Freebuff binary not found after update"
291
+ return 1
292
+ fi
293
+
294
+ log_success "Freebuff (proot-distro) updated"
295
+ return 0
296
+ }
297
+
298
+ reinstall_freebuff() {
299
+ uninstall_freebuff
300
+ install_freebuff
301
+ }
@@ -0,0 +1,46 @@
1
+ # Gemini CLI
2
+
3
+ Google's AI assistant with Gemini
4
+
5
+ **Package:** @google/gemini-cli
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/google-gemini/gemini-cli
9
+ **Type:** AI CLI assistant (npm global package)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ Gemini CLI is Google's official command-line interface for interacting with the Gemini AI model. It provides code generation, explanation, debugging, and general AI assistance directly from your terminal.
15
+
16
+ ## Dependencies
17
+
18
+ - Node.js LTS (nodejs-lts)
19
+ - npm
20
+ - git, ripgrep
21
+
22
+ ## Install
23
+
24
+ ```bash
25
+ core install ai --gemini-cli
26
+ ```
27
+
28
+ ## Uninstall
29
+
30
+ ```bash
31
+ core uninstall ai --gemini-cli
32
+ ```
33
+
34
+ ## Update
35
+
36
+ ```bash
37
+ core update ai --gemini-cli
38
+ ```
39
+
40
+ ## Notes
41
+
42
+ - Installed as a global npm package: `@google/gemini-cli`
43
+ - Command: `gemini`
44
+ - Requires an API key from Google AI Studio
45
+ - Environment variable: `GEMINI_API_KEY`
46
+
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+
7
+ _gemini_cli_dependencies() {
8
+ loading "Installing dependencies" _gemini_cli_dependencies_impl
9
+ }
10
+
11
+ _gemini_cli_dependencies_impl() {
12
+ declare -A DEPS=(
13
+ ["nodejs-lts"]="node"
14
+ ["git"]="git"
15
+ ["ripgrep"]="rg"
16
+ )
17
+
18
+ local pkg_name bin_name
19
+ for pkg_name in "${!DEPS[@]}"; do
20
+ bin_name="${DEPS[$pkg_name]}"
21
+ if ! command -v "$bin_name" &>/dev/null; then
22
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
23
+ log_error "Failed to install $pkg_name"
24
+ return 1
25
+ fi
26
+ fi
27
+ done
28
+
29
+ return 0
30
+ }
31
+
32
+ _install_gemini_cli_npm() {
33
+ loading "Installing Gemini CLI" _install_gemini_cli_npm_impl
34
+ }
35
+
36
+ _install_gemini_cli_npm_impl() {
37
+ export GYP_DEFINES="android_ndk_path=''"
38
+ export ANDROID_API_LEVEL=24
39
+
40
+ if ! npm install -g @google/gemini-cli &>>"$LOG_FILE"; then
41
+ log_error "Failed to install Gemini CLI"
42
+ return 1
43
+ fi
44
+
45
+ return 0
46
+ }
47
+
48
+ install_gemini_cli() {
49
+ if command -v gemini &>/dev/null; then
50
+ log_info "Gemini CLI is already installed"
51
+ return 2
52
+ fi
53
+
54
+ log_info "Installing Gemini CLI..."
55
+
56
+ mkdir -p "$(dirname "$LOG_FILE")"
57
+
58
+ _gemini_cli_dependencies || return 1
59
+ _install_gemini_cli_npm || return 1
60
+
61
+ log_success "Gemini CLI installed"
62
+ return 0
63
+ }
64
+
65
+ uninstall_gemini_cli() {
66
+ if ! command -v gemini &>/dev/null; then
67
+ log_info "Gemini CLI is not installed"
68
+ return 2
69
+ fi
70
+ log_info "Uninstalling Gemini CLI..."
71
+ mkdir -p "$(dirname "$LOG_FILE")"
72
+
73
+ loading "Removing Gemini CLI" _uninstall_gemini_cli_impl
74
+
75
+ log_success "Gemini CLI uninstalled"
76
+ return 0
77
+ }
78
+
79
+ _uninstall_gemini_cli_impl() {
80
+ if ! npm uninstall -g @google/gemini-cli &>>"$LOG_FILE"; then
81
+ log_error "Failed to uninstall Gemini CLI"
82
+ return 1
83
+ fi
84
+ return 0
85
+ }
86
+
87
+ update_gemini_cli() {
88
+ log_info "Updating Gemini CLI..."
89
+ mkdir -p "$(dirname "$LOG_FILE")"
90
+
91
+ loading "Updating Gemini CLI" _update_gemini_cli_impl
92
+
93
+ log_success "Gemini CLI updated"
94
+ return 0
95
+ }
96
+
97
+ _update_gemini_cli_impl() {
98
+ export GYP_DEFINES="android_ndk_path=''"
99
+ export ANDROID_API_LEVEL=24
100
+
101
+ if ! npm update -g @google/gemini-cli &>>"$LOG_FILE"; then
102
+ log_error "Failed to update Gemini CLI"
103
+ return 1
104
+ fi
105
+ return 0
106
+ }
107
+
108
+ reinstall_gemini_cli() {
109
+ uninstall_gemini_cli
110
+ install_gemini_cli
111
+ }
@@ -0,0 +1,42 @@
1
+ # Gentle-AI
2
+
3
+ Ecosystem, Frameworks, Workflows for AI coding agents
4
+
5
+ **Package:** gentle-ai
6
+ **Author:** Gentleman-Programming
7
+ **Repository:** https://github.com/Gentleman-Programming/gentle-ai
8
+ **Type:** AI ecosystem configurator (Go source compile)
9
+ **License:** MIT
10
+
11
+ ## Description
12
+
13
+ Gentle-AI is an ecosystem configurator for AI coding agents. It provides persistent memory (Engram), Spec-Driven Development workflows, curated coding skills, MCP servers, an AI provider switcher, a teaching-oriented persona with security-first permissions, and per-phase model assignment for 15+ supported agents.
14
+
15
+ ## Dependencies
16
+
17
+ - golang (1.23+), git, curl
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ core install ai --gentle-ai
23
+ ```
24
+
25
+ ## Uninstall
26
+
27
+ ```bash
28
+ core uninstall ai --gentle-ai
29
+ ```
30
+
31
+ ## Update
32
+
33
+ ```bash
34
+ core update ai --gentle-ai
35
+ ```
36
+
37
+ ## Notes
38
+
39
+ - Source cloned from GitHub and compiled natively with Go
40
+ - Termux-specific patches applied automatically for Android compatibility
41
+ - Data directory: `~/.local/share/omni-data/gentle-ai/`
42
+ - Command: `gentle-ai`