ship.md watches your folders. Drag a file, run mv, or ask Hermes in plain English — and a courier is dispatched with a full audit trail.
Your filesystem already knows where things are. ship.md just makes the outside world catch up.
Each folder is a place — home, office, warehouse, cloud-kitchen. Nesting is meaning.
bike.txt, laptop.jpg, winter-clothes.txt. If it's in a folder, it's at that location.
Drag, mv, or ask Hermes. The watcher turns filesystem events into courier calls.
Drop a file into another folder and a courier is on its way. Nested paths keep semantic context.
A tiny markdown manifest tells the watcher what lives there, who to notify, and where in the world it is. Context flows down the tree.
# Warehouse ship.md ## Inventory - laptop ## Contacts - email: ops@example.com - whatsapp: +15550001111 - call: +15550002222 ## Context - location: delhi - area: Warehouse Area - google_pin: https://maps.google.com/?q=warehouse
Declare what belongs in this folder. Incoming files are matched against it.
email · whatsapp · call — reached automatically on relevant events.
location, area, google_pin. Inherited by all nested folders unless overridden.
{
"event_id": "be2845cd-342e-4066-93b4-e79aa32d1da2",
"timestamp": "2026-07-12T08:27:29.028892+00:00",
"event_type": "file_observed",
"payload": {
"event_kind": "created",
"detected_via": "filesystem",
"folder_name": "incoming",
"location": "mumbai",
"file_name": "laptop.jpg",
"ship_contexts": [
{
"path": "/Users/bosky/ship/warehouse/ship.md",
"location": "delhi",
"inventory_items": ["laptop"],
"emails": ["ops@example.com"]
}
],
"movement_message":
"ship.md flow observed: laptop.jpg in incoming (location=mumbai)"
}
}Hermes plans, executes, and shows you the audit trail. Same result — a real move with receipts.
move my bike from home to office, and show the audit trail it created
[
{
"tool": "mv",
"from": ".../home/bike.txt",
"to": ".../office/bike.txt",
"reason": "ship.md inventory match"
},
{
"tool": "showToast",
"title": "ship.md moved",
"message": "bike.txt: home → office"
}
]SQLite inventory, config, and audit log visibility for the watcher service. Runs on your machine.
When a movement resolves to a real-world dispatch, ship.md calls Create Delivery with the resolved context.
eats.deliveries scope/v1/eats/deliveries/ordersSchedules a delivery given the delivery information, order details, and estimate ID.