@mmmbuto/gemini-cli-termux 0.22.7-termux → 0.24.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.
Files changed (103) hide show
  1. package/README.md +17 -21
  2. package/bundle/docs/TERMUX.md +97 -0
  3. package/bundle/docs/architecture.md +80 -0
  4. package/bundle/docs/assets/connected_devtools.png +0 -0
  5. package/bundle/docs/assets/gemini-screenshot.png +0 -0
  6. package/bundle/docs/assets/release_patch.png +0 -0
  7. package/bundle/docs/assets/theme-ansi-light.png +0 -0
  8. package/bundle/docs/assets/theme-ansi.png +0 -0
  9. package/bundle/docs/assets/theme-atom-one.png +0 -0
  10. package/bundle/docs/assets/theme-ayu-light.png +0 -0
  11. package/bundle/docs/assets/theme-ayu.png +0 -0
  12. package/bundle/docs/assets/theme-custom.png +0 -0
  13. package/bundle/docs/assets/theme-default-light.png +0 -0
  14. package/bundle/docs/assets/theme-default.png +0 -0
  15. package/bundle/docs/assets/theme-dracula.png +0 -0
  16. package/bundle/docs/assets/theme-github-light.png +0 -0
  17. package/bundle/docs/assets/theme-github.png +0 -0
  18. package/bundle/docs/assets/theme-google-light.png +0 -0
  19. package/bundle/docs/assets/theme-xcode-light.png +0 -0
  20. package/bundle/docs/changelogs/index.md +592 -0
  21. package/bundle/docs/changelogs/latest.md +225 -0
  22. package/bundle/docs/changelogs/preview.md +129 -0
  23. package/bundle/docs/changelogs/releases.md +896 -0
  24. package/bundle/docs/cli/authentication.md +3 -0
  25. package/bundle/docs/cli/checkpointing.md +94 -0
  26. package/bundle/docs/cli/commands.md +354 -0
  27. package/bundle/docs/cli/configuration.md +792 -0
  28. package/bundle/docs/cli/context-memory.md +69 -0
  29. package/bundle/docs/cli/custom-commands.md +315 -0
  30. package/bundle/docs/cli/enterprise.md +565 -0
  31. package/bundle/docs/cli/gemini-ignore.md +71 -0
  32. package/bundle/docs/cli/gemini-md.md +108 -0
  33. package/bundle/docs/cli/generation-settings.md +210 -0
  34. package/bundle/docs/cli/headless.md +388 -0
  35. package/bundle/docs/cli/index.md +63 -0
  36. package/bundle/docs/cli/keyboard-shortcuts.md +143 -0
  37. package/bundle/docs/cli/model-routing.md +37 -0
  38. package/bundle/docs/cli/model.md +62 -0
  39. package/bundle/docs/cli/sandbox.md +171 -0
  40. package/bundle/docs/cli/session-management.md +158 -0
  41. package/bundle/docs/cli/settings.md +114 -0
  42. package/bundle/docs/cli/system-prompt.md +93 -0
  43. package/bundle/docs/cli/telemetry.md +791 -0
  44. package/bundle/docs/cli/themes.md +237 -0
  45. package/bundle/docs/cli/token-caching.md +20 -0
  46. package/bundle/docs/cli/trusted-folders.md +95 -0
  47. package/bundle/docs/cli/tutorials.md +83 -0
  48. package/bundle/docs/cli/uninstall.md +47 -0
  49. package/bundle/docs/core/index.md +101 -0
  50. package/bundle/docs/core/memport.md +244 -0
  51. package/bundle/docs/core/policy-engine.md +267 -0
  52. package/bundle/docs/core/tools-api.md +131 -0
  53. package/bundle/docs/examples/proxy-script.md +83 -0
  54. package/bundle/docs/extensions/extension-releasing.md +183 -0
  55. package/bundle/docs/extensions/getting-started-extensions.md +245 -0
  56. package/bundle/docs/extensions/index.md +293 -0
  57. package/bundle/docs/faq.md +154 -0
  58. package/bundle/docs/get-started/authentication.md +321 -0
  59. package/bundle/docs/get-started/configuration-v1.md +888 -0
  60. package/bundle/docs/get-started/configuration.md +1511 -0
  61. package/bundle/docs/get-started/deployment.md +143 -0
  62. package/bundle/docs/get-started/examples.md +219 -0
  63. package/bundle/docs/get-started/gemini-3.md +116 -0
  64. package/bundle/docs/get-started/index.md +71 -0
  65. package/bundle/docs/get-started/installation.md +141 -0
  66. package/bundle/docs/hooks/best-practices.md +806 -0
  67. package/bundle/docs/hooks/index.md +665 -0
  68. package/bundle/docs/hooks/reference.md +168 -0
  69. package/bundle/docs/hooks/writing-hooks.md +1026 -0
  70. package/bundle/docs/ide-integration/ide-companion-spec.md +267 -0
  71. package/bundle/docs/ide-integration/index.md +202 -0
  72. package/bundle/docs/index.md +147 -0
  73. package/bundle/docs/integration-tests.md +211 -0
  74. package/bundle/docs/issue-and-pr-automation.md +134 -0
  75. package/bundle/docs/local-development.md +128 -0
  76. package/bundle/docs/mermaid/context.mmd +103 -0
  77. package/bundle/docs/mermaid/render-path.mmd +64 -0
  78. package/bundle/docs/npm.md +62 -0
  79. package/bundle/docs/patches/CONTEXT_MEMORY_COMPARISON.md +306 -0
  80. package/bundle/docs/patches/MERGE_TO_0.24_ANALYSIS.md +321 -0
  81. package/bundle/docs/patches/README.md +62 -0
  82. package/bundle/docs/quota-and-pricing.md +158 -0
  83. package/bundle/docs/release-confidence.md +164 -0
  84. package/bundle/docs/releases.md +540 -0
  85. package/bundle/docs/sidebar.json +297 -0
  86. package/bundle/docs/termux-api/COMMANDS.md +592 -0
  87. package/bundle/docs/termux-api/DISCOVERY_SETUP.md +670 -0
  88. package/bundle/docs/termux-api/EXECUTION_PLAN.md +532 -0
  89. package/bundle/docs/termux-api/MERGE_STRATEGY.md +325 -0
  90. package/bundle/docs/termux-api/PATCHES.md +483 -0
  91. package/bundle/docs/termux-api/README.md +416 -0
  92. package/bundle/docs/tools/file-system.md +217 -0
  93. package/bundle/docs/tools/index.md +95 -0
  94. package/bundle/docs/tools/mcp-server.md +1044 -0
  95. package/bundle/docs/tools/memory.md +54 -0
  96. package/bundle/docs/tools/shell.md +260 -0
  97. package/bundle/docs/tools/todos.md +57 -0
  98. package/bundle/docs/tools/web-fetch.md +59 -0
  99. package/bundle/docs/tools/web-search.md +42 -0
  100. package/bundle/docs/tos-privacy.md +96 -0
  101. package/bundle/docs/troubleshooting.md +158 -0
  102. package/bundle/gemini.js +8901 -6534
  103. package/package.json +10 -8
@@ -0,0 +1,532 @@
1
+ # Execution Plan - Sonnet 4.5
2
+
3
+ **Project**: gemini-cli-termux **Author**: DioNanos **Date**: 2025-12-17
4
+ **Status**: AWAITING APPROVAL
5
+
6
+ ---
7
+
8
+ ## Overview
9
+
10
+ Execution plan to implement the patches and improvements described in the
11
+ documentation. To be executed with Sonnet 4.5 ONLY after approval.
12
+
13
+ **IMPORTANT**: Local changes only, NO PUSH.
14
+
15
+ ---
16
+
17
+ ## Prerequisites
18
+
19
+ Before starting:
20
+
21
+ ```bash
22
+ cd ~/Dev/gemini-cli-termux
23
+ git status # Verify clean state
24
+ git branch # Verify current branch
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Task List
30
+
31
+ ### PHASE 1: Installation Improvements
32
+
33
+ #### Task 1.1: Create postinstall script
34
+
35
+ **File**: `scripts/postinstall.js` **Action**: CREATE **Priority**: HIGH
36
+
37
+ ```javascript
38
+ // scripts/postinstall.js
39
+ const os = require('os');
40
+
41
+ // Only show message on Termux/Android
42
+ if (
43
+ os.platform() === 'android' ||
44
+ process.env.TERMUX_VERSION ||
45
+ (process.env.PREFIX && process.env.PREFIX.includes('com.termux'))
46
+ ) {
47
+ console.log('');
48
+ console.log(
49
+ '╔══════════════════════════════════════════════════════════════╗',
50
+ );
51
+ console.log(
52
+ '║ gemini-cli-termux installed successfully on Termux! ║',
53
+ );
54
+ console.log(
55
+ '║ ║',
56
+ );
57
+ console.log(
58
+ '║ Note: Native module warnings above are EXPECTED. ║',
59
+ );
60
+ console.log(
61
+ '║ The CLI works with reduced PTY functionality. ║',
62
+ );
63
+ console.log(
64
+ '║ ║',
65
+ );
66
+ console.log(
67
+ '║ Quick start: gemini --version ║',
68
+ );
69
+ console.log(
70
+ '║ First run: gemini ║',
71
+ );
72
+ console.log(
73
+ '╚══════════════════════════════════════════════════════════════╝',
74
+ );
75
+ console.log('');
76
+ }
77
+ ```
78
+
79
+ ---
80
+
81
+ #### Task 1.2: Update package.json with postinstall
82
+
83
+ **File**: `package.json` **Action**: EDIT **Priority**: HIGH
84
+
85
+ Add in `scripts`:
86
+
87
+ ```json
88
+ "postinstall": "node scripts/postinstall.js || true"
89
+ ```
90
+
91
+ ---
92
+
93
+ #### Task 1.3: Create termux-setup.sh helper
94
+
95
+ **File**: `scripts/termux-setup.sh` **Action**: CREATE **Priority**: MEDIUM
96
+
97
+ ```bash
98
+ #!/data/data/com.termux/files/usr/bin/bash
99
+
100
+ set -e
101
+
102
+ echo "=== Gemini CLI Termux Setup ==="
103
+ echo ""
104
+
105
+ # Check Node version
106
+ NODE_VERSION=$(node -v 2>/dev/null | cut -d'v' -f2 | cut -d'.' -f1)
107
+ if [ -z "$NODE_VERSION" ] || [ "$NODE_VERSION" -lt 20 ]; then
108
+ echo "❌ Error: Node.js 20+ required"
109
+ echo " Install with: pkg install nodejs-lts"
110
+ exit 1
111
+ fi
112
+ echo "✓ Node.js version: $(node -v)"
113
+
114
+ # Check if in project directory
115
+ if [ ! -f "package.json" ]; then
116
+ echo "❌ Error: Run this script from gemini-cli-termux root directory"
117
+ exit 1
118
+ fi
119
+
120
+ # Install dependencies (suppress optional warnings)
121
+ echo ""
122
+ echo "Installing dependencies..."
123
+ npm install --ignore-optional --ignore-scripts 2>&1 | grep -v "npm warn" || true
124
+
125
+ # Build
126
+ echo ""
127
+ echo "Building bundle..."
128
+ npm run build 2>&1
129
+ npm run bundle 2>&1
130
+
131
+ echo ""
132
+ echo "=== Setup Complete ==="
133
+ echo ""
134
+ echo "Run with: node bundle/gemini.js"
135
+ echo "Or link globally: npm link"
136
+ echo ""
137
+ ```
138
+
139
+ ---
140
+
141
+ #### Task 1.4: Update Makefile
142
+
143
+ **File**: `Makefile` **Action**: EDIT **Priority**: MEDIUM
144
+
145
+ Add target:
146
+
147
+ ```makefile
148
+ # Termux-specific install and build
149
+ termux-install:
150
+ @echo "=== Installing for Termux ==="
151
+ npm install --ignore-optional --ignore-scripts
152
+ npm run build
153
+ npm run bundle
154
+ @echo ""
155
+ @echo "Done! Run: node bundle/gemini.js"
156
+
157
+ termux-clean:
158
+ rm -rf node_modules
159
+ rm -f bundle/gemini.js
160
+
161
+ .PHONY: termux-install termux-clean
162
+ ```
163
+
164
+ ---
165
+
166
+ ### PHASE 2: Termux Detection Utility
167
+
168
+ #### Task 2.1: Create termux-detect.ts
169
+
170
+ **File**: `packages/core/src/utils/termux-detect.ts` **Action**: CREATE
171
+ **Priority**: MEDIUM
172
+
173
+ ```typescript
174
+ /**
175
+ * @license
176
+ * Copyright 2025 Google LLC
177
+ * SPDX-License-Identifier: Apache-2.0
178
+ */
179
+
180
+ import { execSync } from 'node:child_process';
181
+
182
+ export interface TermuxEnvironment {
183
+ isTermux: boolean;
184
+ hasTermuxApi: boolean;
185
+ apiVersion?: string;
186
+ prefix: string;
187
+ availableCommands: string[];
188
+ }
189
+
190
+ /**
191
+ * Detect if running in Termux environment
192
+ */
193
+ export function isTermux(): boolean {
194
+ return (
195
+ process.platform === 'android' ||
196
+ !!process.env.TERMUX_VERSION ||
197
+ !!(process.env.PREFIX && process.env.PREFIX.includes('com.termux'))
198
+ );
199
+ }
200
+
201
+ /**
202
+ * Detect full Termux environment including API availability
203
+ */
204
+ export function detectTermuxEnvironment(): TermuxEnvironment {
205
+ if (!isTermux()) {
206
+ return {
207
+ isTermux: false,
208
+ hasTermuxApi: false,
209
+ prefix: '',
210
+ availableCommands: [],
211
+ };
212
+ }
213
+
214
+ let hasTermuxApi = false;
215
+ let apiVersion: string | undefined;
216
+ const availableCommands: string[] = [];
217
+
218
+ try {
219
+ // Check if termux-api is installed
220
+ execSync('which termux-battery-status', { stdio: 'ignore' });
221
+ hasTermuxApi = true;
222
+
223
+ // Try to get version
224
+ try {
225
+ const result = execSync(
226
+ 'pkg show termux-api 2>/dev/null | grep Version || echo ""',
227
+ { encoding: 'utf-8' },
228
+ );
229
+ const match = result.match(/Version:\s*(.+)/);
230
+ if (match) {
231
+ apiVersion = match[1].trim();
232
+ }
233
+ } catch {
234
+ // Version detection failed, continue
235
+ }
236
+
237
+ // Detect available commands
238
+ const commands = [
239
+ 'termux-battery-status',
240
+ 'termux-clipboard-get',
241
+ 'termux-clipboard-set',
242
+ 'termux-toast',
243
+ 'termux-notification',
244
+ 'termux-tts-speak',
245
+ 'termux-vibrate',
246
+ 'termux-torch',
247
+ 'termux-location',
248
+ 'termux-wifi-connectioninfo',
249
+ 'termux-camera-info',
250
+ 'termux-sensor',
251
+ 'termux-dialog',
252
+ ];
253
+
254
+ for (const cmd of commands) {
255
+ try {
256
+ execSync(`which ${cmd}`, { stdio: 'ignore' });
257
+ availableCommands.push(cmd);
258
+ } catch {
259
+ // Command not available
260
+ }
261
+ }
262
+ } catch {
263
+ // termux-api not installed
264
+ }
265
+
266
+ return {
267
+ isTermux: true,
268
+ hasTermuxApi,
269
+ apiVersion,
270
+ prefix: process.env.PREFIX || '/data/data/com.termux/files/usr',
271
+ availableCommands,
272
+ };
273
+ }
274
+ ```
275
+
276
+ ---
277
+
278
+ #### Task 2.2: Export termux-detect from core index
279
+
280
+ **File**: `packages/core/src/index.ts` **Action**: EDIT **Priority**: MEDIUM
281
+
282
+ Add export:
283
+
284
+ ```typescript
285
+ export * from './utils/termux-detect.js';
286
+ ```
287
+
288
+ ---
289
+
290
+ ### PHASE 3: Punycode Warning Suppression
291
+
292
+ #### Task 3.1: Update esbuild banner
293
+
294
+ **File**: `esbuild.config.js` **Action**: EDIT **Priority**: LOW
295
+
296
+ Modify JS banner to include:
297
+
298
+ ```javascript
299
+ banner: {
300
+ js: `import { createRequire } from 'module'; const require = createRequire(import.meta.url); globalThis.__filename = require('url').fileURLToPath(import.meta.url); globalThis.__dirname = require('path').dirname(globalThis.__filename);
301
+ // Termux compatibility: clipboardy expects TERMUX__PREFIX but Termux sets PREFIX
302
+ if (process.platform === 'android' && process.env.PREFIX && !process.env.TERMUX__PREFIX) { process.env.TERMUX__PREFIX = process.env.PREFIX; }
303
+ // Suppress punycode deprecation warning on Termux
304
+ if (process.platform === 'android') {
305
+ const origEmit = process.emit;
306
+ process.emit = function(name, data) {
307
+ if (name === 'warning' && data && data.name === 'DeprecationWarning' && data.message && data.message.includes('punycode')) return false;
308
+ return origEmit.apply(process, arguments);
309
+ };
310
+ }`,
311
+ },
312
+ ```
313
+
314
+ ---
315
+
316
+ ### PHASE 4: Tool Discovery Scripts (User-space)
317
+
318
+ #### Task 4.1: Create discovery.sh in scripts/termux-tools/
319
+
320
+ **File**: `scripts/termux-tools/discovery.sh` **Action**: CREATE **Priority**:
321
+ MEDIUM
322
+
323
+ (Content already defined in DISCOVERY_SETUP.md)
324
+
325
+ ---
326
+
327
+ #### Task 4.2: Create call.sh in scripts/termux-tools/
328
+
329
+ **File**: `scripts/termux-tools/call.sh` **Action**: CREATE **Priority**: MEDIUM
330
+
331
+ (Content already defined in DISCOVERY_SETUP.md)
332
+
333
+ ---
334
+
335
+ ### PHASE 5: Documentation
336
+
337
+ #### Task 5.1: Update main README.md
338
+
339
+ **File**: `README.md` **Action**: EDIT **Priority**: HIGH
340
+
341
+ Add Termux-API section:
342
+
343
+ ```markdown
344
+ ## Termux-API Integration (New!)
345
+
346
+ This fork supports integration with Termux-API commands for Android device
347
+ access.
348
+
349
+ See [docs/termux-api/](./docs/termux-api/) for:
350
+
351
+ - Integration plan and architecture
352
+ - Complete command reference
353
+ - Tool discovery setup guide
354
+ - Patch documentation
355
+ ```
356
+
357
+ ---
358
+
359
+ #### Task 5.2: Update docs/TERMUX.md
360
+
361
+ **File**: `docs/TERMUX.md` **Action**: EDIT **Priority**: MEDIUM
362
+
363
+ Add Termux-API section:
364
+
365
+ ````markdown
366
+ ## Termux-API Support (Optional)
367
+
368
+ Enable access to Android hardware and APIs:
369
+
370
+ 1. Install Termux-API package:
371
+ ```bash
372
+ pkg install termux-api jq
373
+ ```
374
+ ````
375
+
376
+ 2. Install Termux:API app from F-Droid
377
+
378
+ 3. Setup tool discovery (optional):
379
+
380
+ ```bash
381
+ # Copy scripts to config
382
+ mkdir -p ~/.config/gemini/termux-tools
383
+ cp scripts/termux-tools/*.sh ~/.config/gemini/termux-tools/
384
+ chmod +x ~/.config/gemini/termux-tools/*.sh
385
+
386
+ # Configure in settings.json
387
+ echo '{"tool_discovery_command": "bash ~/.config/gemini/termux-tools/discovery.sh", "tool_call_command": "bash ~/.config/gemini/termux-tools/call.sh"}' > ~/.config/gemini/settings.json
388
+ ```
389
+
390
+ 4. Test:
391
+ ```bash
392
+ gemini "What's my battery status?"
393
+ ```
394
+
395
+ See [docs/termux-api/](./docs/termux-api/) for complete documentation.
396
+
397
+ ````
398
+
399
+ ---
400
+
401
+ #### Task 5.3: Update docs/patches/README.md
402
+ **File**: `docs/patches/README.md`
403
+ **Action**: EDIT
404
+ **Priority**: LOW
405
+
406
+ Update version and add new patches:
407
+ ```markdown
408
+ # Termux Patches (0.22.0-termux)
409
+
410
+ Minimal changes to run `gemini-cli` on Android/Termux ARM64 without native deps.
411
+
412
+ ## Patch List
413
+
414
+ 1. **Clipboard (TERMUX__PREFIX)** – On Termux set `TERMUX__PREFIX` from
415
+ `$PREFIX` so clipboardy detects Termux correctly.
416
+ 2. **Optional native modules** – Leave `node-pty`, `keytar`, `tree-sitter-bash`
417
+ in `optionalDependencies`; build failures are tolerated.
418
+ 3. **Core exports** – `packages/core/src/index.ts` re-exports stdio utilities.
419
+ 4. **Bundle** – Prebuilt `bundle/gemini.js` shipped in npm package.
420
+ 5. **is-in-ci override** – Prevents ink from detecting Termux as CI.
421
+ 6. **Punycode warning** – Suppresses deprecation warning on Termux.
422
+ 7. **Termux detection** – `packages/core/src/utils/termux-detect.ts` utility.
423
+ 8. **Postinstall message** – Clear success message on Termux install.
424
+
425
+ ## New in 0.22.0
426
+
427
+ - Termux-API tool discovery support
428
+ - Improved installation experience
429
+ - Helper scripts for build from source
430
+
431
+ **Version**: 0.22.0-termux
432
+ ````
433
+
434
+ ---
435
+
436
+ ## Execution Order
437
+
438
+ ```
439
+ PHASE 1 (Installation) - High Priority
440
+ ├── 1.1 scripts/postinstall.js [CREATE]
441
+ ├── 1.2 package.json [EDIT - postinstall]
442
+ ├── 1.3 scripts/termux-setup.sh [CREATE]
443
+ └── 1.4 Makefile [EDIT - termux targets]
444
+
445
+ PHASE 2 (Detection) - Medium Priority
446
+ ├── 2.1 packages/core/src/utils/termux-detect.ts [CREATE]
447
+ └── 2.2 packages/core/src/index.ts [EDIT - export]
448
+
449
+ PHASE 3 (Warning) - Low Priority
450
+ └── 3.1 esbuild.config.js [EDIT - banner]
451
+
452
+ PHASE 4 (Discovery Scripts) - Medium Priority
453
+ ├── 4.1 scripts/termux-tools/discovery.sh [CREATE]
454
+ └── 4.2 scripts/termux-tools/call.sh [CREATE]
455
+
456
+ PHASE 5 (Docs) - High Priority
457
+ ├── 5.1 README.md [EDIT]
458
+ ├── 5.2 docs/TERMUX.md [EDIT]
459
+ └── 5.3 docs/patches/README.md [EDIT]
460
+ ```
461
+
462
+ ---
463
+
464
+ ## Post-Execution Verification
465
+
466
+ ```bash
467
+ # 1. Build test
468
+ npm install --ignore-optional --ignore-scripts
469
+ npm run build
470
+ npm run bundle
471
+
472
+ # 2. Version check
473
+ node bundle/gemini.js --version
474
+
475
+ # 3. Termux detection (if on Termux)
476
+ node -e "const {isTermux} = require('./packages/core/dist/utils/termux-detect.js'); console.log('isTermux:', isTermux())"
477
+
478
+ # 4. Discovery test (if configured)
479
+ bash scripts/termux-tools/discovery.sh | jq '.[] | .name' | head -5
480
+
481
+ # 5. Git status (NO PUSH)
482
+ git status
483
+ git diff --stat
484
+ ```
485
+
486
+ ---
487
+
488
+ ## Commit Message (when approved)
489
+
490
+ ```
491
+ feat(termux): improve installation and add Termux-API support
492
+
493
+ - Add postinstall script with clear success message for Termux
494
+ - Add termux-setup.sh helper for build from source
495
+ - Add Makefile targets for Termux install
496
+ - Add termux-detect.ts utility for environment detection
497
+ - Add punycode warning suppression on Android
498
+ - Add Tool Discovery scripts for Termux-API integration
499
+ - Update documentation
500
+
501
+ Fixes #XX
502
+ ```
503
+
504
+ ---
505
+
506
+ ### PHASE 6: Merge Automation
507
+
508
+ #### Task 6.1: Create check-termux-patches.sh
509
+
510
+ **File**: `scripts/check-termux-patches.sh` **Action**: CREATE **Priority**:
511
+ HIGH
512
+
513
+ Script to verify that all patches are intact after upstream merge. (See
514
+ MERGE_STRATEGY.md for complete content)
515
+
516
+ ---
517
+
518
+ ## Notes for Sonnet 4.5
519
+
520
+ 1. Execute tasks in PHASE order
521
+ 2. Verify build after each PHASE
522
+ 3. DO NOT execute git push
523
+ 4. Report any compilation errors
524
+ 5. All TypeScript files must pass typecheck
525
+ 6. All patches must be easily re-applicable after upstream sync
526
+ 7. Use `// TERMUX PATCH:` comments to identify modifications
527
+
528
+ ---
529
+
530
+ **STATUS**: Awaiting DAG approval
531
+
532
+ _Author: DioNanos_