@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 +42 -151
- package/bundle/gemini.js +13 -12
- package/bundle/policies/discovered.toml +8 -0
- package/bundle/policies/read-only.toml +56 -0
- package/bundle/policies/write.toml +73 -0
- package/bundle/policies/yolo.toml +31 -0
- package/package.json +6 -14
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
# 🤖 Gemini CLI
|
|
1
|
+
# 🤖 Gemini CLI – Termux Edition
|
|
2
2
|
|
|
3
|
-
|
|
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
|
[](https://www.npmjs.com/package/@mmmbuto/gemini-cli-termux)
|
|
6
7
|
[](https://www.npmjs.com/package/@mmmbuto/gemini-cli-termux)
|
|
@@ -10,185 +11,75 @@
|
|
|
10
11
|
|
|
11
12
|
## What This Is
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
compatibility.
|
|
14
|
+
Temporary compatibility fork of `google-gemini/gemini-cli` for Android Termux.
|
|
15
15
|
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
114
|
-
identically.
|
|
49
|
+
## Known Limitations on Termux
|
|
115
50
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
121
|
-
gemini "Explain this codebase"
|
|
55
|
+
## Updating
|
|
122
56
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
# Get help
|
|
127
|
-
gemini --help
|
|
57
|
+
```bash
|
|
58
|
+
npm install -g @mmmbuto/gemini-cli-termux@latest
|
|
128
59
|
```
|
|
129
60
|
|
|
130
|
-
|
|
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
|
-
- **
|
|
151
|
-
- **
|
|
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
|
-
|
|
170
|
-
bugs, please report to
|
|
171
|
-
[upstream Gemini CLI](https://github.com/google-gemini/gemini-cli/issues).
|
|
68
|
+
Smoke suite:
|
|
172
69
|
|
|
173
|
-
|
|
174
|
-
|
|
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
|
-
|
|
74
|
+
Checks version, help output, and presence of the Termux clipboard patch inside
|
|
75
|
+
the bundle.
|
|
183
76
|
|
|
184
|
-
|
|
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
|
-
##
|
|
83
|
+
## License
|
|
189
84
|
|
|
190
|
-
|
|
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.
|