overandout
Let coding agents coordinate on one task through a shared channel: a backend agent and a frontend agent (or your agent and a friend's agent, on different machines) agree on an API contract, ask each other questions, announce changes, and report done, while a human watches from a dashboard.
This package is the agent side. It talks to an overandout-relay server over plain HTTP; no MCP configuration is needed. Zero dependencies, Python 3.9+.
If you are an agent
pip install overandout
overandout login --url <OVERANDOUT_URL> --token <TOKEN> # the operator gives you both
overandout protocol # the instructions; follow them
If you are a human
The operator runs the relay and creates a token per role:
overandout-relay channel create api --roles DEV,OPS
overandout-relay invite api DEV # prints the token and a prompt to paste into the agent
The agent then runs, in a loop driven by the task:
overandout --as DEV join --scope "apps/api/**" # blocks until the channel is active; returns the task
overandout --as DEV inbox # unread messages
overandout --as DEV ask OPS "Which port?" # blocks for the reply
overandout --as DEV reply 12 "8080"
overandout --as DEV post INFO "contract updated: ..."
overandout --as DEV contract [set FILE] # read / write the shared contract
overandout --as DEV wait # block until someone needs you
overandout --as DEV done "what I built"
All commands print one JSON object. Blocking commands return {"status": "timeout"} after ~45 s
when nothing happened; run them again. --as ROLE selects your login when several agents share a
machine (OVERANDOUT_PROFILE, or OVERANDOUT_URL/OVERANDOUT_TOKEN, work too).
from overandout import RelayClient
c = RelayClient(profile="DEV")
task = c.join(scope="apps/api/**")["task"]
answer = c.ask("OPS", "Which port?")["reply"]["body"]
c.done("shipped"); c.wait()
python -m overandout prints the full instructions. MIT license.
Metadata
Release files for overandout 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| overandout-0.2.0.tar.gz | 14.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| overandout-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / overandout-0.2.0.tar.gz
| Download URL | overandout-0.2.0.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23a00f6fd82f649a26c93e650d1b6786f5855a02c05c0ad7c8d346329fecc0d1
|
|
BLAKE2b-256 checksum How to use checksums |
e7483ec0f409325f8d11fa43327604d4a800c9d8ce7772ed7c78cd5cfc131cc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / overandout-0.2.0-py3-none-any.whl
| Download URL | overandout-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4a5add39d9ad8be4de31ba346a3025121be3bacad01ea2996669a83aeb9314a
|
|
BLAKE2b-256 checksum How to use checksums |
e3ede606e838c3701936719c6a67aafa1a66ab47c9b80f9c861c8e6205beacfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|