@thomasthemaker/village
v0.2.7
Published
Distributed inter-device communication - send commands between your computers
Maintainers
Readme
Village 🏘️
Distributed inter-device communication - send commands between your computers and get responses back automatically.
Installation
npm install -g @thomasthemaker/villageRequirements:
- Node.js 16+
- Python 3.x
Quick Start
1. Setup (first time)
village setup
# Enter email & password
# Device auto-registered2. Start listener (on devices that will execute commands)
village listen
# Runs in foreground, waits for incoming commands3. Send commands (from any device)
# Auto-route to any idle device
village send "uptime"
# Target specific device
village send "df -h" --to device-id-here
# Check your devices
village statusCommands
village setup # Sign up/sign in and register this device
village register [name] # Register this device with optional name
village send <command> # Send command to idle device (auto-routes)
village listen # Start listening for incoming commands
village status # Show all your devices and their status
village logout # Sign out (keeps device_id)
village logout --reset # Full reset (deletes device_id)Examples
# One-to-one: Target specific device
village send "nvidia-smi" --to laptop-device-id
# One-to-many: Auto-route to idle device
village send "python train.py"
# Check which devices are available
village statusHow It Works
- Device A sends command via
village send - Firebase RTDB routes the command
- Device B (running
village listen) executes it - Device A receives and displays the output
Fast, secure, simple.
Architecture
- CLI: Node.js wrapper (distribution)
- Backend: Python (Firebase + command execution)
- Cloud: Firebase Realtime Database + Cloud Functions
Repository
https://github.com/thomasthemaker/village
License
MIT
