@mmmbuto/gemini-cli-termux 0.20.2-termux → 0.20.3-termux

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 (3) hide show
  1. package/README.md +33 -153
  2. package/bundle/gemini.js +6875 -4009
  3. package/package.json +6 -14
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # 🤖 Gemini CLI - Termux Edition
1
+ # 🤖 Gemini CLI Termux Edition
2
2
 
3
- > **Google Gemini CLI with Android Termux compatibility patches**
3
+ Android/Termux compatible fork of Google Gemini CLI. Installs cleanly on Termux by skipping native modules and adding clipboard detection for Termux.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@mmmbuto/gemini-cli-termux?style=flat-square&logo=npm)](https://www.npmjs.com/package/@mmmbuto/gemini-cli-termux)
6
6
  [![downloads](https://img.shields.io/npm/dt/@mmmbuto/gemini-cli-termux?style=flat-square)](https://www.npmjs.com/package/@mmmbuto/gemini-cli-termux)
@@ -10,185 +10,65 @@
10
10
 
11
11
  ## What This Is
12
12
 
13
- **Temporary fork** of Google Gemini CLI with minimal patches for Android Termux
14
- compatibility.
13
+ Temporary compatibility fork of `google-gemini/gemini-cli` for Android Termux.
15
14
 
16
- ### Sunset Plan
15
+ - Tracks upstream regularly.
16
+ - Minimal patches only: Termux clipboard env fix, native modules marked optional.
17
+ - Bundled for ARM64/Android.
18
+ - Sunset: once upstream adds Termux support, migrate back to `@google/gemini-cli`.
17
19
 
18
- We have submitted a PR to upstream Google Gemini CLI to add native Termux
19
- support. **Once Google merges our fix, this fork will be discontinued** and
20
- users should migrate to the official `@google/gemini-cli` package.
21
-
22
- This fork exists **only** as a temporary solution until official Termux support
23
- is available.
24
-
25
- ### What We Do:
26
-
27
- ✅ **Track official Google Gemini CLI**
28
- (https://github.com/google-gemini/gemini-cli) ✅ **Apply minimal compatibility
29
- patches** for Termux-specific issues ✅ **Bundle for Android ARM64** with
30
- working native module alternatives ✅ **Package as npm** for easy installation
31
- ✅ **Maintain full Apache 2.0 compliance** with Google attribution
32
-
33
- ### What We DON'T Do:
34
-
35
- ❌ **NO new features** ❌ **NO behavior modifications** (works exactly like
36
- upstream) ❌ **NO replacement** of official Gemini CLI
37
-
38
- ### 🔧 Compatibility Patches
39
-
40
- We only apply patches for issues that:
41
-
42
- - **Prevent Gemini CLI from working on Termux**
43
- - **Are not addressed by upstream** (Termux is not officially supported)
44
- - **Are minimal and well-documented**
45
-
46
- **Current patches**:
47
-
48
- - `esbuild.config.js`: Auto-set `TERMUX__PREFIX` for clipboardy detection
49
- - Skip optional native modules: `keytar`, `node-pty`, `tree-sitter-bash`
50
- - Build with `--ignore-optional --ignore-scripts` flags
51
-
52
- See [docs/TERMUX.md](./docs/TERMUX.md) for complete technical details.
53
-
54
- **Found an issue?** Open an
55
- [issue](https://github.com/DioNanos/gemini-cli/issues).
56
-
57
- ---
58
-
59
- ## 📋 Prerequisites
20
+ ## Installation (Termux)
60
21
 
61
22
  ```bash
62
- # Update Termux packages
63
23
  pkg update && pkg upgrade -y
64
-
65
- # Install Node.js
66
24
  pkg install nodejs-lts -y
67
-
68
- # Verify
69
- node --version # v20+
70
- ```
71
-
72
- **Requirements:**
73
-
74
- - Android 7+ (Termux)
75
- - ARM64 architecture
76
- - Node.js ≥ 20.0.0
77
- - ~25MB storage
78
-
79
- ---
80
-
81
- ## 📦 Installation
82
-
83
- ### Via npm (Recommended)
84
-
85
- ```bash
86
25
  npm install -g @mmmbuto/gemini-cli-termux
87
- ```
88
-
89
- ### Verify Installation
90
-
91
- ```bash
92
- gemini --version
93
- # Output: 0.20.2-termux
94
26
 
95
- gemini --help
96
- # Shows available commands
27
+ gemini --version # expected: 0.20.3-termux
97
28
  ```
98
29
 
99
- ### Build from Source (Optional)
30
+ Build from source:
100
31
 
101
32
  ```bash
102
- git clone https://github.com/DioNanos/gemini-cli.git
103
- cd gemini-cli
33
+ git clone https://github.com/DioNanos/gemini-cli-termux.git
34
+ cd gemini-cli-termux
104
35
  npm install --ignore-optional --ignore-scripts
105
36
  npm run build && npm run bundle
106
37
  node bundle/gemini.js --version
107
38
  ```
108
39
 
109
- ---
110
-
111
- ## 🚀 Usage
40
+ ## Patches
112
41
 
113
- Same as official Gemini CLI. Authentication, commands, and features work
114
- identically.
42
+ - Clipboardy: sets `TERMUX__PREFIX` from `PREFIX` on Android.
43
+ - Native modules (`keytar`, `node-pty`, `tree-sitter-bash`) kept optional; install with `--ignore-optional --ignore-scripts`.
115
44
 
116
- ```bash
117
- # Start interactive mode
118
- gemini
45
+ ## Known Limitations on Termux
119
46
 
120
- # Non-interactive mode
121
- gemini "Explain this codebase"
47
+ - No PTY (node-pty fails to build) → limited shell integration.
48
+ - No secure keychain → credentials stored in plain config files.
49
+ - Bash parsing without tree-sitter.
122
50
 
123
- # Use specific model
124
- gemini -m gemini-2.5-flash
51
+ ## Updating
125
52
 
126
- # Get help
127
- gemini --help
53
+ ```bash
54
+ npm install -g @mmmbuto/gemini-cli-termux@latest
128
55
  ```
129
56
 
130
- See [Google's official documentation](https://geminicli.com/docs/) for complete
131
- usage guide.
132
-
133
- ---
134
-
135
- ## 📚 Documentation
57
+ ## Tests
136
58
 
137
- - **[Termux Installation Guide](docs/TERMUX.md)** - Complete setup and
138
- troubleshooting
139
- - **[Official Gemini CLI Docs](https://geminicli.com/docs/)** - Full feature
140
- documentation
141
- - **[Upstream Repository](https://github.com/google-gemini/gemini-cli)** -
142
- Google's official repo
143
-
144
- ---
145
-
146
- ## 🔄 Upstream Tracking
147
-
148
- This fork tracks `google-gemini/gemini-cli` and rebases weekly.
149
-
150
- - **Current upstream**: `v0.20.0-nightly.20251201.2fe609cb6`
151
- - **Last sync**: 2025-12-02
152
- - **Divergent files**: `esbuild.config.js`, `docs/TERMUX.md`, `package.json`,
153
- `README.md`
154
-
155
- ---
59
+ Smoke suite:
156
60
 
157
- ## ⚠️ Known Limitations
158
-
159
- - **No PTY support** - Interactive shell features may be limited
160
- - **No secure keychain** - Credentials stored in plain text config files
161
- - **No tree-sitter bash parsing** - Fallback to simpler shell parsing methods
162
-
163
- All core functionality (AI chat, tools, MCP, extensions) works perfectly.
164
-
165
- ---
166
-
167
- ## 🤝 Contributing
168
-
169
- This is a **temporary compatibility fork**. For feature requests or general
170
- bugs, please report to
171
- [upstream Gemini CLI](https://github.com/google-gemini/gemini-cli/issues).
172
-
173
- For **Termux-specific issues**, open an
174
- [issue here](https://github.com/DioNanos/gemini-cli/issues).
175
-
176
- ---
177
-
178
- ## 📄 License
179
-
180
- Apache License 2.0 - Same as upstream Google Gemini CLI.
61
+ ```bash
62
+ npm run test:termux
63
+ ```
181
64
 
182
- **Original project**: Google LLC - https://github.com/google-gemini/gemini-cli
65
+ Checks version, help output, and presence of the Termux clipboard patch inside the bundle.
183
66
 
184
- **Termux patches**: @DioNanos - https://github.com/DioNanos/gemini-cli
67
+ ## Upstream Tracking
185
68
 
186
- ---
69
+ - Upstream: https://github.com/google-gemini/gemini-cli
70
+ - Divergent files: `esbuild.config.js`, `docs/TERMUX.md`, `package.json`, `README.md`, `test-gemini/*`
187
71
 
188
- ## 🔗 Links
72
+ ## License
189
73
 
190
- - **npm Package**: https://www.npmjs.com/package/@mmmbuto/gemini-cli-termux
191
- - **GitHub Repository**: https://github.com/DioNanos/gemini-cli
192
- - **Upstream (Google)**: https://github.com/google-gemini/gemini-cli
193
- - **Latest Release**: https://github.com/DioNanos/gemini-cli/releases/latest
194
- - **Upstream PR**: Pending Google review for native Termux support
74
+ Apache 2.0 (same as upstream). See LICENSE.