nomadcode
v1.0.20
Published
A multi-LLM remote development platform that creates sessions and connects CLI tools (Claude, Gemini, etc.) via WebSocket connections to enable remote coding through messaging interfaces.
Readme
NomadCode
A multi-LLM remote development platform that creates sessions and connects CLI tools (Claude, Gemini, etc.) via WebSocket connections to enable remote coding through messaging interfaces.
Features
- Multi-LLM Support: Integrate with various AI CLI tools (Claude, Gemini, and more)
- Remote Development: Code remotely through WebSocket-based messaging
- Session Management: Persistent coding sessions with state management
- Browser Authentication: Secure OAuth flow for user authentication
- Project Analysis: Automatic project detection and context sharing
- Configuration Integration: Reads and merges Claude settings from multiple locations
Installation
npm install -g nomadcodeOr clone and install locally:
git clone <repository-url>
cd nomadcode
npm installQuick Start
Run NomadCode with authentication:
nomadcodeFor debug output:
nomadcode -debugFollow the browser authentication flow when prompted
Architecture
Core Components
- Main Application (
nomadcode.js): CLI binary handling authentication and session creation - Authentication: Browser-based OAuth using
NomadCodeAuthclass - Session Management:
NomadCodeSessionclass for WebSocket connections and CLI execution - Settings Reader: Merges Claude settings from multiple configuration sources
- CLI Detection: Automatic discovery of available CLI tools
Configuration System
NomadCode reads settings in priority order:
- CLI-specific environment variables
.claude/settings.local.json(working directory).claude/settings.json(working directory)~/.claude/settings.json(home directory)- Default tool configurations
Supported Configuration Locations
~/.claude/settings.json{workingDirectory}/.claude/settings.json{workingDirectory}/.claude/settings.local.json
WebSocket Communication
- Endpoint:
wss://remits-529558023549.us-east5.run.app/stomp - Protocol: STOMP for message handling
- Health Monitoring: Ping/pong for connection health
- Dynamic Ports: Callback server uses ports 8888-9000
Project Detection
NomadCode automatically:
- Scans for project files (README.md, package.json, etc.)
- Builds directory tree (max depth 3, ignores node_modules/.git)
- Sends project context to AI for analysis
Environment Variables
The application manages environment variables by:
- Reading from
process.env - Merging from Claude settings
envobject - Setting
TERM=dumbandNO_COLOR=1for CLI tools - Applying CLI-specific environment configurations
Dependencies
@stomp/stompjs: WebSocket STOMP protocolaxios: HTTP client for API requestsexpress: Local callback serveropen: Browser automationuuid: Unique identifier generationws: WebSocket implementation
Development
The project consists of:
nomadcode.js- Main CLI application (1490 lines)callback.html- OAuth callback pagepackage.json- Node.js dependencies and metadata
License
ISC License - Copyright SaaSy Enterprises
Version
Current version: 1.0.13
