Concepts

Filesystem model

How Parlo turns APIs, drives, and repos into one path-based interface.

Parlo gives different remote systems the same shape: paths.

bash
7 lines
1~/parlo/2  main/                 # cloud drive3  github/               # API connection4  linear/               # API connection5  stripe/               # API connection6  git/7    v8/v8/              # GitHub repo

The backend can be an API, object storage, or a remote repo. The interface stays familiar: different backends, one path interface.

The core operations

OperationWhat it means in ParloExample
lsdiscover folders and resourceslist issues, files, repos, query results
cat / openread contentissue markdown, PDF bytes, repo file
editor save / parlo writeupdate or createpatch an issue, save notes, upload a file
parlo rm / parlo deletereal upstream delete, permission-gatedremove a drive file, close a remote resource
parlo rgsearch remotelyrun ripgrep next to a cached repo

Delete

parlo rm and parlo delete perform real upstream deletes through the adapter. Delete is deny-by-default and must be opted in per MCP client from the OAuth authorize page (for MCP access) or granted by account policy (for CLI/FUSE access). FUSE sends a delete through the same path.

Byte-range reads

File reads support HTTP Range headers and offset/length parameters. The server returns 206 Partial Content with a content-range header. The FUSE layer sends byte-range requests automatically, so video players, PDF viewers, and tools that do partial reads only fetch the bytes they need.

What each folder holds

API connections expose structured resources as files.

bash
2 lines
1ls ~/parlo/github/issues/2vim ~/parlo/github/issues/42.md

Drives hold normal files with streaming, cache, upload, and sharing.

bash
2 lines
1open ~/parlo/main/videos/demo.mp42parlo share ~/parlo/main/reports/report.pdf

Repos are browseable file trees. For recursive search, use parlo rg so the work runs remotely.

bash
2 lines
1ls ~/parlo/git/postgres/postgres/src/backend2parlo rg malloc -t cpp v8/v8

Mounted mode

Use the mount when you want Finder, editors, terminals, media players, and local tools to see Parlo paths.

bash
4 lines
1parlo mount2ls ~/parlo/3cat ~/parlo/linear/ENG-123.md4open ~/parlo/main/videos/demo.mp4

Direct mode

Use direct CLI operations in CI, containers, and agent sandboxes where mounting is not available.

bash
3 lines
1parlo ls github/issues/2parlo cat linear/ENG-123.md3parlo write linear/ENG-123.md --from ./updated.md

Same resources, no native mount required.

Markdown API resources

Structured API objects are represented as markdown with frontmatter.

md
10 lines
1---2id: ENG-1233status: In Progress4assignee: rob5labels: [bug, auth]6---7 8# Fix login redirect9 10Users should return to the original page after OAuth.

This keeps API data readable for humans and easy for agents to edit with normal diffs.