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,136 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+ COMMAND_CODE_DATA_DIR="$HOME/.local/share/omni-data/command-code"
7
+
8
+ _command_code_dependencies() {
9
+ loading "Installing dependencies" _command_code_dependencies_impl
10
+ }
11
+
12
+ _command_code_dependencies_impl() {
13
+ declare -A DEPS=(
14
+ ["nodejs-lts"]="node"
15
+ ["git"]="git"
16
+ ["ripgrep"]="rg"
17
+ )
18
+
19
+ local pkg_name bin_name
20
+ for pkg_name in "${!DEPS[@]}"; do
21
+ bin_name="${DEPS[$pkg_name]}"
22
+ if ! command -v "$bin_name" &>/dev/null; then
23
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
24
+ log_error "Failed to install $pkg_name"
25
+ return 1
26
+ fi
27
+ fi
28
+ done
29
+
30
+ return 0
31
+ }
32
+
33
+ _install_command_code_npm() {
34
+ loading "Installing command-code via npm" _install_command_code_npm_impl
35
+ }
36
+
37
+ _install_command_code_npm_impl() {
38
+ mkdir -p "$COMMAND_CODE_DATA_DIR"
39
+
40
+ if ! (cd "$COMMAND_CODE_DATA_DIR" && npm init -y &>>"$LOG_FILE"); then
41
+ log_error "Failed to initialize npm project"
42
+ return 1
43
+ fi
44
+
45
+ if ! (cd "$COMMAND_CODE_DATA_DIR" && npm install command-code@latest &>>"$LOG_FILE"); then
46
+ log_error "Failed to install command-code package"
47
+ return 1
48
+ fi
49
+
50
+ return 0
51
+ }
52
+
53
+ _install_command_code_wrappers() {
54
+ loading "Creating command-code and cmdc wrappers" _install_command_code_wrappers_impl
55
+ }
56
+
57
+ _install_command_code_wrappers_impl() {
58
+ local wrapper_content='#!'"$PREFIX"'/bin/bash
59
+
60
+ exec node '"$COMMAND_CODE_DATA_DIR"'/node_modules/command-code/dist/index.mjs "$@"'
61
+
62
+ echo "$wrapper_content" >"$PREFIX/bin/command-code"
63
+ chmod +x "$PREFIX/bin/command-code"
64
+
65
+ ln -sf "$PREFIX/bin/command-code" "$PREFIX/bin/cmdc"
66
+
67
+ return 0
68
+ }
69
+
70
+ install_command_code() {
71
+ if command -v command-code &>/dev/null; then
72
+ log_info "Command Code is already installed"
73
+ return 2
74
+ fi
75
+
76
+ log_info "Installing Command Code..."
77
+
78
+ mkdir -p "$(dirname "$LOG_FILE")"
79
+
80
+ _command_code_dependencies || return 1
81
+ _install_command_code_npm || return 1
82
+ _install_command_code_wrappers || return 1
83
+
84
+ log_success "Command Code installed successfully"
85
+ return 0
86
+ }
87
+
88
+ uninstall_command_code() {
89
+ if ! command -v command-code &>/dev/null; then
90
+ log_info "Command Code is not installed"
91
+ return 2
92
+ fi
93
+ log_info "Uninstalling Command Code..."
94
+ mkdir -p "$(dirname "$LOG_FILE")"
95
+
96
+ loading "Removing Command Code files" _uninstall_command_code_impl
97
+
98
+ log_success "Command Code uninstalled"
99
+ return 0
100
+ }
101
+
102
+ _uninstall_command_code_impl() {
103
+ rm -f "$PREFIX/bin/command-code"
104
+ rm -f "$PREFIX/bin/cmdc"
105
+ rm -rf "$COMMAND_CODE_DATA_DIR"
106
+ return 0
107
+ }
108
+
109
+ update_command_code() {
110
+ log_info "Updating Command Code..."
111
+ mkdir -p "$(dirname "$LOG_FILE")"
112
+
113
+ if [ ! -d "$COMMAND_CODE_DATA_DIR" ]; then
114
+ log_warn "Command Code is not installed"
115
+ return 1
116
+ fi
117
+
118
+ loading "Updating command-code package" _update_command_code_impl
119
+
120
+ log_success "Command Code updated"
121
+ return 0
122
+ }
123
+
124
+ _update_command_code_impl() {
125
+ if (cd "$COMMAND_CODE_DATA_DIR" && npm update command-code &>>"$LOG_FILE"); then
126
+ return 0
127
+ else
128
+ log_error "Failed to update Command Code"
129
+ return 1
130
+ fi
131
+ }
132
+
133
+ reinstall_command_code() {
134
+ uninstall_command_code
135
+ install_command_code
136
+ }
@@ -0,0 +1,44 @@
1
+ # Engram
2
+
3
+ Persistent memory system for AI coding agents
4
+
5
+ **Package:** engram
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/Gentleman-Programming/engram
9
+ **Type:** AI memory system (Go binary)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ Engram is a persistent memory system designed for AI coding agents. It provides long-term memory storage and retrieval, allowing AI assistants to maintain context across sessions. Built with Go for performance and reliability.
15
+
16
+ ## Dependencies
17
+
18
+ - golang, git, sqlite
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ core install ai --engram
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ core uninstall ai --engram
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ core update ai --engram
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Built from source using Go
41
+ - Source cloned to `$OMNI_DATA/engram/`
42
+ - Binary installed to `$PREFIX/bin/engram`
43
+ - Requires Go toolchain (installed automatically)
44
+
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+
7
+ _engram_dependencies() {
8
+ loading "Installing dependencies" _engram_dependencies_impl
9
+ }
10
+
11
+ _engram_dependencies_impl() {
12
+ declare -A DEPS=(
13
+ ["golang"]="go"
14
+ ["git"]="git"
15
+ ["sqlite"]="sqlite"
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
+ _clone_engram_repo() {
33
+ loading "Cloning engram repository" _clone_engram_repo_impl
34
+ }
35
+
36
+ _clone_engram_repo_impl() {
37
+ if ! git clone --quiet https://github.com/Gentleman-Programming/engram "$OMNI_DATA/engram" &>>"$LOG_FILE"; then
38
+ log_error "Failed to clone engram repository"
39
+ return 1
40
+ fi
41
+
42
+ return 0
43
+ }
44
+
45
+ _build_engram() {
46
+ loading "Building engram binary" _build_engram_impl
47
+ }
48
+
49
+ _build_engram_impl() {
50
+ if ! go build -C "$OMNI_DATA/engram/cmd/engram" -o $PREFIX/bin/engram &>>"$LOG_FILE"; then
51
+ log_error "Failed to build engram"
52
+ return 1
53
+ fi
54
+
55
+ return 0
56
+ }
57
+
58
+ install_engram() {
59
+ if command -v engram &>/dev/null; then
60
+ log_info "Engram is already installed"
61
+ return 2
62
+ fi
63
+ log_info "Installing Engram..."
64
+
65
+ export GOPATH="$HOME/.local/go"
66
+ export GOCACHE="$HOME/.cache/go"
67
+ export GOMODCACHE="$GOPATH/pkg/mod"
68
+
69
+ mkdir -p "$(dirname "$LOG_FILE")"
70
+
71
+ _engram_dependencies || return 1
72
+ _clone_engram_repo || return 1
73
+ _build_engram || return 1
74
+
75
+ log_success "Engram installed"
76
+ return 0
77
+ }
78
+
79
+ uninstall_engram() {
80
+ if ! command -v engram &>/dev/null; then
81
+ log_info "Engram is not installed"
82
+ return 2
83
+ fi
84
+ log_info "Uninstalling Engram..."
85
+ mkdir -p "$(dirname "$LOG_FILE")"
86
+
87
+ loading "Removing Engram" _uninstall_engram_impl
88
+
89
+ log_success "Engram uninstalled"
90
+ return 0
91
+ }
92
+
93
+ _uninstall_engram_impl() {
94
+ if rm -rf "$OMNI_DATA/engram" && rm "$PREFIX/bin/engram" &>>"$LOG_FILE"; then
95
+ return 0
96
+ else
97
+ log_error "Failed to uninstall Engram"
98
+ return 1
99
+ fi
100
+ }
101
+
102
+ update_engram() {
103
+ log_info "Updating Engram..."
104
+ mkdir -p "$(dirname "$LOG_FILE")"
105
+
106
+ loading "Updating Engram" _update_engram_impl
107
+
108
+ log_success "Engram updated"
109
+ return 0
110
+ }
111
+
112
+ _update_engram_impl() {
113
+ export GOPATH="$HOME/.local/go"
114
+ export GOCACHE="$HOME/.cache/go"
115
+ export GOMODCACHE="$GOPATH/pkg/mod"
116
+
117
+ if ! git -C "$OMNI_DATA/engram" pull &>>"$LOG_FILE" && go build -C "$OMNI_DATA/engram/cmd/engram" -o $PREFIX/bin/engram &>>"$LOG_FILE"; then
118
+ log_error "Failed to update Engram"
119
+ return 1
120
+ fi
121
+ return 0
122
+ }
123
+
124
+ reinstall_engram() {
125
+ uninstall_engram
126
+ install_engram
127
+ }
@@ -0,0 +1,52 @@
1
+ # Freebuff
2
+
3
+ A 100% free coding agent, right from your terminal
4
+
5
+ **Package:** freebuff
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://freebuff.com
9
+ **Releases:** https://github.com/CodebuffAI/codebuff
10
+ **Type:** AI coding agent (Binary + glibc bootstrapper)
11
+ **License:** MIT
12
+
13
+ ## Description
14
+
15
+ Freebuff is the free coding agent: a free CLI coding agent and Freebuff Web, the free way to build full-stack apps. No subscription, no setup, no lock-in. Omni Catalyst offers two installation methods: native with glibc support for best performance, or via proot-distro Ubuntu container for maximum compatibility.
16
+
17
+ ## Dependencies
18
+
19
+ - **Native mode:** glibc-repo, glibc, clang, git, curl, tar
20
+ - **Proot mode:** proot-distro, curl, ca-certificates, tar
21
+
22
+ ## Install
23
+
24
+ ```bash
25
+ core install ai --freebuff
26
+ ```
27
+
28
+ You will be prompted to choose:
29
+
30
+ 1. **Native (recommended)** — Compiles a glibc bootstrapper and downloads the latest Freebuff binary from GitHub releases
31
+ 2. **Proot-distro (alternative)** — Runs Freebuff inside an Ubuntu proot-distro container
32
+
33
+ ## Uninstall
34
+
35
+ ```bash
36
+ core uninstall ai --freebuff
37
+ ```
38
+
39
+ ## Update
40
+
41
+ ```bash
42
+ core update ai --freebuff
43
+ ```
44
+
45
+ ## Notes
46
+
47
+ - **Native mode** requires `glibc-repo`, `glibc`, `clang`, and other dependencies (installed automatically)
48
+ - The native binary is stored in `~/.local/share/omni-data/freebuff/`
49
+ - A small C bootstrapper (`freebuff_helper.c`) handles ELF loading via the glibc dynamic linker
50
+ - **Proot mode** uses `proot-distro ubuntu` and downloads the binary directly inside the container
51
+ - Version is fetched automatically from GitHub releases (`CodebuffAI/codebuff-community`)
52
+ - Data directory: `~/.local/share/omni-data/freebuff/`
@@ -0,0 +1,28 @@
1
+ #!/data/data/com.termux/files/usr/bin/bash
2
+
3
+ UBUNTU_ROOTFS="__UBUNTU_ROOTFS__"
4
+
5
+ EXCLUDE_REGEX="^(PATH|LD_PRELOAD|LD_LIBRARY_PATH|PREFIX|HOME|PWD|OLDPWD|SHELL|IFS|_|SHLVL|PROMPT_COMMAND|TERMCAP|LS_COLORS|TERM)="
6
+
7
+ ENV_ARGS=()
8
+ while IFS= read -r line; do
9
+ if [[ -n "$line" && ! "$line" =~ $EXCLUDE_REGEX ]]; then
10
+ ENV_ARGS+=("--env" "$line")
11
+ fi
12
+ done < <(env)
13
+
14
+ ENV_ARGS+=(
15
+ "--env" "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"
16
+ "--env" "TERM=$TERM"
17
+ "--env" "HOME=/root"
18
+ )
19
+
20
+ unset LD_PRELOAD
21
+ proot-distro login \
22
+ "${ENV_ARGS[@]}" \
23
+ --termux-home \
24
+ --shared-tmp \
25
+ --bind "$UBUNTU_ROOTFS/root/.freebuff:/root/.freebuff" \
26
+ --work-dir $PWD \
27
+ ubuntu \
28
+ -- /root/.freebuff/freebuff "$@"
@@ -0,0 +1,47 @@
1
+ #include <stdlib.h>
2
+ #include <unistd.h>
3
+ #include <string.h>
4
+ #include <libgen.h>
5
+ #include <limits.h>
6
+ #include <stdio.h>
7
+
8
+ int main(int argc, char** argv) {
9
+ unsetenv("LD_PRELOAD");
10
+ unsetenv("LD_LIBRARY_PATH");
11
+
12
+ setenv("GODEBUG", "netdns=cgo", 1);
13
+ setenv("SSL_CERT_FILE", "/data/data/com.termux/files/usr/etc/tls/cert.pem", 1);
14
+
15
+ char exec_path[PATH_MAX];
16
+ ssize_t len = readlink("/proc/self/exe", exec_path, sizeof(exec_path) - 1);
17
+ if (len == -1) {
18
+ return 1;
19
+ }
20
+ exec_path[len] = '\0';
21
+ char* dir = dirname(exec_path);
22
+
23
+ char* loader = "/data/data/com.termux/files/usr/glibc/lib/ld-linux-aarch64.so.1";
24
+ char real_bin[] = "/data/data/com.termux/files/home/.local/share/omni-data/freebuff/freebuff";
25
+ char lib_path[] = "/data/data/com.termux/files/usr/glibc/lib";
26
+
27
+ char** new_argv = malloc((argc + 4) * sizeof(char*));
28
+ if (!new_argv) {
29
+ return 1;
30
+ }
31
+
32
+ new_argv[0] = loader;
33
+ new_argv[1] = "--library-path";
34
+ new_argv[2] = lib_path;
35
+ new_argv[3] = real_bin;
36
+
37
+ for (int i = 1; i < argc; i++) {
38
+ new_argv[i + 3] = argv[i];
39
+ }
40
+ new_argv[argc + 3] = NULL;
41
+
42
+ execv(loader, new_argv);
43
+
44
+ perror("execv");
45
+ free(new_argv);
46
+ return 1;
47
+ }