# Unlimited Coding 🌐 [English](README.md) | [Русский](README_ru.md) | [δΈ­ζ–‡](README_zh.md) | [EspaΓ±ol](README_es.md) Patched AI coding tools for use with custom API endpoints. ## Products | Folder | Tool | Status | |--------|------|--------| | [claude/](claude/) | Claude Code | Active (v2.1.71) | | [codex/](codex/) | OpenAI Codex CLI | **Active (v0.111.0)** | | [gemini/](gemini/) | Gemini CLI | **Active (v0.32.1)** | | qwen/ | Qwen Code | Planned | | antigravity/ | Antigravity | Planned | ## Quick Start ### Prerequisites Check Before installing, verify Node.js v24.13+ is installed: ```bash # Check Node.js version node --version # If Node.js is missing or version is too old, install: # Linux (Debian/Ubuntu): sudo apt update && sudo apt install -y nodejs npm # Linux (RHEL/Fedora): sudo dnf install -y nodejs npm # macOS: brew install node # Windows (PowerShell as Admin): winget install OpenJS.NodeJS ``` ### Alternative - Auto-install Node.js If you need to install or update Node.js automatically: **Linux:** ```bash curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs ``` **macOS:** ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install node ``` **Windows:** ```powershell # As Administrator winget install OpenJS.NodeJS ``` ### Claude Code β€” Install Two commands on any platform: **Linux / macOS:** ```bash npm config set @anthropic-ai:registry https://npm.sensey24.ru/ npm install -g @anthropic-ai/claude-code ``` **Windows (PowerShell):** ```powershell npm config set "@anthropic-ai:registry" "https://npm.sensey24.ru/" npm install -g @anthropic-ai/claude-code ``` > Node.js required. Install from https://nodejs.org/ if not present. ### Update Same two commands β€” npm will pull the latest patched version from our registry. ### Alternative β€” Automatic installer (if no Node.js) Installs Node.js, Claude Code and patches automatically. **Linux (Debian/Ubuntu/RHEL/Fedora):** ```bash curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \ https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \ -o /tmp/uclaude.sh && sudo bash /tmp/uclaude.sh ``` **macOS:** ```bash curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \ https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \ -o /tmp/uclaude.sh && bash /tmp/uclaude.sh ``` **Windows (PowerShell as Administrator):** ```powershell git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git cd unlimitedcoding powershell -ExecutionPolicy Bypass -File claude\uclaude_update.ps1 --force ``` ### Gemini CLI β€” Install **Step 1 β€” Install patched CLI:** **Linux / macOS:** ```bash npm config set @google:registry https://npm.sensey24.ru/ npm install -g @google/gemini-cli ``` **Windows (PowerShell):** ```powershell npm config set "@google:registry" "https://npm.sensey24.ru/" npm install -g @google/gemini-cli ``` > Node.js required. Install from https://nodejs.org/ if not present. **Step 2 β€” Configure settings and environment:** ```bash # Set environment variables echo 'export GEMINI_API_KEY="ClauderAPI"' >> ~/.bashrc echo 'export GOOGLE_GEMINI_BASE_URL="https://ai.37-187-136-86.sslip.io"' >> ~/.bashrc source ~/.bashrc # Configure auth (switch from OAuth to API key) mkdir -p ~/.gemini cat > ~/.gemini/settings.json << 'EOF' { "security": { "auth": { "selectedType": "gemini-api-key" } }, "telemetry": { "enabled": false, "logPrompts": false } } EOF ``` **Step 3 β€” Verify:** `gemini -p "Hello"` See [gemini/README.md](gemini/README.md) for Windows instructions, alternative install methods and details. ### Codex CLI β€” Install > Codex CLI is a compiled Rust binary (not npm). Install via GitHub releases. **Step 1 β€” Clone repo and install binary:** ```bash git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git cd unlimitedcoding/codex cp codex_config.example.json codex_config.json # Edit codex_config.json β€” set your base_url and api_key ``` **Step 2 β€” Install + patch:** ```bash sudo bash ucodex_install.sh ``` Or manually: ```bash sudo bash update-codex.sh # Install/update binary sudo python3 codex_patcher.py --apply # Apply config patches ``` **Step 3 β€” Verify:** `codex exec "Hello"` **Update:** ```bash cd unlimitedcoding/codex git pull sudo bash update-codex.sh && sudo python3 codex_patcher.py --apply ``` See [codex/README.md](codex/README.md) for details, troubleshooting, and configuration. ### Manual install from release Clone repo and run platform installer: ```bash git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git cd unlimitedcoding ``` | Platform | Command | |----------|---------| | Linux / macOS | `sudo bash claude/releases/v2.1.71/install.sh` | | Windows CMD | `claude\releases\v2.1.71\install.bat` | | Windows PowerShell | `powershell -ExecutionPolicy Bypass -File claude\releases\v2.1.71\install.ps1` | ## Troubleshooting ### Gemini CLI: deprecated settings spam If you see repeated warnings like: ``` The system configuration contains deprecated settings: [experimental.codebaseInvestigatorSettings] ``` The key exists in **system-level** config files. Fix all locations: ```bash # Linux for f in "$HOME/.gemini/settings.json" "/etc/gemini-cli/settings.json" "/etc/gemini-cli/system-defaults.json"; do [ -f "$f" ] && python3 -c " import json,sys d=json.load(open('$f')) e=d.get('experimental',{}) if 'codebaseInvestigatorSettings' in e: del e['codebaseInvestigatorSettings'] if not e: d.pop('experimental',None) json.dump(d,open('$f','w'),indent=2) print('Fixed: $f') " 2>/dev/null done ``` ```powershell # Windows (PowerShell) foreach ($f in "$env:USERPROFILE\.gemini\settings.json", "C:\ProgramData\gemini-cli\settings.json", "C:\ProgramData\gemini-cli\system-defaults.json") { if (Test-Path $f) { $d = Get-Content $f | ConvertFrom-Json; if ($d.experimental.codebaseInvestigatorSettings) { $d.experimental.PSObject.Properties.Remove('codebaseInvestigatorSettings'); $d | ConvertTo-Json -Depth 10 | Set-Content $f; Write-Host "Fixed: $f" } } } ``` ```bash # macOS for f in "$HOME/.gemini/settings.json" "/Library/Application Support/GeminiCli/settings.json"; do [ -f "$f" ] && python3 -c " import json d=json.load(open('$f')) e=d.get('experimental',{}) if 'codebaseInvestigatorSettings' in e: del e['codebaseInvestigatorSettings'] if not e: d.pop('experimental',None) json.dump(d,open('$f','w'),indent=2) print('Fixed: $f') " 2>/dev/null done ``` ### Gemini CLI: Session cleanup disabled If you see: `Session cleanup disabled: Either maxAge or maxCount must be specified` This is harmless β€” Gemini CLI just skips old session cleanup. No action needed. ### npm warnings during install Warnings like `deprecated prebuild-install`, `deprecated node-domexception`, `deprecated glob` are normal β€” these are Google's dependencies, not ours. They don't affect functionality. ## What Gets Installed Automatically | Component | Linux | macOS | Windows | |-----------|-------|-------|---------| | Git | apt/dnf/yum | brew | winget | | Python 3 | apt/dnf/yum | brew | winget | | Node.js v24.13+ | nodesource | brew | winget | | Claude Code | npm | npm | npm | | Patched cli.js | replaced with backup | replaced with backup | replaced with backup | | Settings | all users patched | all users patched | all users patched |