@mmmbuto/gemini-cli-termux 0.20.2-termux → 0.21.0-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.
package/README.md CHANGED
@@ -1,6 +1,7 @@
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
4
+ by skipping native modules and adding clipboard detection for Termux.
4
5
 
5
6
  [![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
7
  [![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 +11,75 @@
10
11
 
11
12
  ## What This Is
12
13
 
13
- **Temporary fork** of Google Gemini CLI with minimal patches for Android Termux
14
- compatibility.
14
+ Temporary compatibility fork of `google-gemini/gemini-cli` for Android Termux.
15
15
 
16
- ### Sunset Plan
16
+ - Tracks upstream regularly.
17
+ - Minimal patches only: Termux clipboard env fix, native modules marked
18
+ optional.
19
+ - Bundled for ARM64/Android.
20
+ - Sunset: once upstream adds Termux support, migrate back to
21
+ `@google/gemini-cli`.
17
22
 
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
23
+ ## Installation (Termux)
60
24
 
61
25
  ```bash
62
- # Update Termux packages
63
26
  pkg update && pkg upgrade -y
64
-
65
- # Install Node.js
66
27
  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
28
  npm install -g @mmmbuto/gemini-cli-termux
87
- ```
88
-
89
- ### Verify Installation
90
29
 
91
- ```bash
92
- gemini --version
93
- # Output: 0.20.2-termux
94
-
95
- gemini --help
96
- # Shows available commands
30
+ gemini --version # expected: 0.21.0-termux (latest)
97
31
  ```
98
32
 
99
- ### Build from Source (Optional)
33
+ Build from source:
100
34
 
101
35
  ```bash
102
- git clone https://github.com/DioNanos/gemini-cli.git
103
- cd gemini-cli
36
+ git clone https://github.com/DioNanos/gemini-cli-termux.git
37
+ cd gemini-cli-termux
104
38
  npm install --ignore-optional --ignore-scripts
105
39
  npm run build && npm run bundle
106
40
  node bundle/gemini.js --version
107
41
  ```
108
42
 
109
- ---
43
+ ## Patches
110
44
 
111
- ## 🚀 Usage
45
+ - Clipboardy: sets `TERMUX__PREFIX` from `PREFIX` on Android.
46
+ - Native modules (`keytar`, `node-pty`, `tree-sitter-bash`) kept optional;
47
+ install with `--ignore-optional --ignore-scripts`.
112
48
 
113
- Same as official Gemini CLI. Authentication, commands, and features work
114
- identically.
49
+ ## Known Limitations on Termux
115
50
 
116
- ```bash
117
- # Start interactive mode
118
- gemini
51
+ - No PTY (node-pty fails to build) → limited shell integration.
52
+ - No secure keychain → credentials stored in plain config files.
53
+ - Bash parsing without tree-sitter.
119
54
 
120
- # Non-interactive mode
121
- gemini "Explain this codebase"
55
+ ## Updating
122
56
 
123
- # Use specific model
124
- gemini -m gemini-2.5-flash
125
-
126
- # Get help
127
- gemini --help
57
+ ```bash
58
+ npm install -g @mmmbuto/gemini-cli-termux@latest
128
59
  ```
129
60
 
130
- See [Google's official documentation](https://geminicli.com/docs/) for complete
131
- usage guide.
132
-
133
- ---
134
-
135
- ## 📚 Documentation
136
-
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.
61
+ ### Versions
149
62
 
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`
63
+ - **latest**: 0.21.0-termux (this build)
64
+ - **previous/stable**: 0.20.3-termux (current npm dist-tag until publish)
154
65
 
155
- ---
156
-
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
66
+ ## Tests
168
67
 
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).
68
+ Smoke suite:
172
69
 
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.
70
+ ```bash
71
+ npm run test:termux
72
+ ```
181
73
 
182
- **Original project**: Google LLC - https://github.com/google-gemini/gemini-cli
74
+ Checks version, help output, and presence of the Termux clipboard patch inside
75
+ the bundle.
183
76
 
184
- **Termux patches**: @DioNanos - https://github.com/DioNanos/gemini-cli
77
+ ## Upstream Tracking
185
78
 
186
- ---
79
+ - Upstream: https://github.com/google-gemini/gemini-cli
80
+ - Divergent files: `esbuild.config.js`, `docs/TERMUX.md`, `package.json`,
81
+ `README.md`, `test-gemini/*`
187
82
 
188
- ## 🔗 Links
83
+ ## License
189
84
 
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
85
+ Apache 2.0 (same as upstream). See LICENSE.