filesystem → real world
ship.md watches your folders. Drag a file, run mv, or ask an agent in plain English — and a courier is dispatched with a full audit trail.
~/ship — Send skateboard home
$ mv eg1/office/skatebrd.txt eg1/home/
eg1/office/skatebrd.txt → eg1/home/skatebrd.txt
POSTapi.uber.com/v1/eats/deliveries/orders→ 202 accepted · courier dispatched
“
skatebrd.txt is on its way — eta 18 min
”
drag & drop
Your Finder is the interface.
Drop a file into another folder and a courier is on its way. Nested paths keep semantic context.
- Move skatebrd.txt from office/ → home/ ships it home
- Drop eggs.txt into italian/ restocks the kitchen
- Every move writes a JSON event to the audit log
how it works
Three ways to ship. One mental model.
Your filesystem already knows where things are. ship.md just makes the outside world catch up.
1. Model the world as folders
Each folder is a place — home, office, warehouse, cloud-kitchen. Nesting is meaning.
2. Files are things
skatebrd.txt, laptop.jpg, winter-clothes.txt. If it's in a folder, it's at that location.
3. Move to ship
Drag, mv, or ask an agent. The watcher turns filesystem events into courier calls.
three ways to move
Use whatever interface you already know.
After installing the mac app, ship.md works with Finder, Terminal, and any coding harness that can touch files.
Drag & drop in Finder
Move files between folders the way you always have. ship.md watches the filesystem and turns every drop into a delivery event.
skatebrd.txt → home/
mv in your shell
Any mv, cp, or rsync that lands in a watched folder becomes a real-world move with an audit trail.
mv office/skatebrd.txt home/
Ask your coding harness
agent, Codex, Claude, Pi, Arc — any agent that can move files can now ship things. Same filesystem, same result.
move skateboard from home to office
aagent
CCodex
CClaude
πPi
AArc
ship.md
Every folder can hold a ship.md
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.
Inventory
Declare what belongs in this folder. Incoming files are matched against it.
Contacts
email · whatsapp · call — reached automatically on relevant events.
emailwhatsappcall
Context
location, area, google_pin. Inherited by all nested folders unless overridden.
Webhook
url · method · headers · params — fired on every matching event with folder context templated in.
POSTheadersparams
agent / codex
Or just ask, in plain English.
agent plans, executes, and shows you the audit trail. Same result — a real move with receipts.
U
move my skateboard from home to office, and show the audit trail it created
skillmacos-file-routing-tray-apps0.0s
execimport json, subprocess0.2s
Current file state
· /Users/bosky/ship/eg1/home/skatebrd.txt: gone
· /Users/bosky/ship/eg1/office/skatebrd.txt: exists
self-host
self host or on-prem or managed portal
SQLite inventory, config, and audit log visibility for the watcher service. Runs on your machine.
add your own
Any webhook or logistics API.
Same ship.md
Click a provider to see the ship.md manifest ship.md generates. Same folder, different destination — swap the webhook, keep the audit trail.
endpoint
POST
https://api.uber.com/v1/customers/{customer_id}/deliveries
auth
Bearer
: ${UBER_API_TOKEN}
- Drop
url,method,headersinship.md - Secrets stay in env —
${TOKEN}interpolated at dispatch - Works with any REST endpoint — courier, checkout, fulfillment, returns