Quickstart
You need 2+ machines (physical or virtual, anywhere, any network).
For examples:
- A laptop at home.
- A computer at work.
- Servers in the cloud.
- Your grandma’s old computer.
Just make sure they are connected to the internet. We will make them talk to each other.
1) Install the CLI on Computer #1
sudo npm install -g @thomasthemaker/villageRequirements: Node.js 16+ and Python 3.x.
2) Sign in and register Computer #1
village setupYou will be prompted to enter an email & password for login. This registers the computer under your account. Repeat this on every device you want to use.
3) Start a listener on Computer #1
On the machine that will run commands:
village listenThis marks the device idle and ready to receive commands.
4) On Computer #2, perform the same setup
npm install -g @thomasthemaker/village
village setup5) Send a command from another device
On your sender (any of your signed-in devices):
village send "ls"
# auto-routes to an idle device you ownVillage will route the command to one of your idle listener devices (at random). The “message” is just the terminal command string; the response is exactly what the command prints (stdout + stderr).
Repeat this process with any additional devices/servers.
If you have more than 2 devices and want to send commands to Computer #2, you can use the --to flag:
village send "ls" --to <device_id>6) Handy checks
- Check devices:
village status - Reset auth/device id:
village logout --reset - Stop a listener with
Ctrl+C
Troubleshooting
- Error “from_device_id not registered to caller”: run
village registeron the sending machine. - No idle devices: start
village listenon a device, or target one explicitly with--to <device_id>. - Need the installed version:
village -v.