Verbs: orthogonal basis, not sprawl

Beagle's command language is a small, fixed set of HTTP verbs — GET, HEAD, POST, PUT, DELETE, PATCH — chosen to combat git's command and flag sprawl. Nobody remembers all of git, so these verbs are kept orthogonal: each has one clear function and a single direction of data flow, and none can be supplemented by creative use of another. You pick the verb for the move you want, then each URI slot adds its own effect.

Orthogonal slots

Pick the verb, then each populated URI part adds its own effect; the same four slots — ?branch, ./path, //remote, #frag — combine the same way across every verb.

Bareword defaults

A bare token with no URI markers lands in each verb's natural slot, so the common case needs no punctuation.

git → be cheat sheet

The everyday git commands map onto verb + URI combinations, no extra flags; the dirty-words post derives the merge/rebase/squash/cherry split.