CLI verbs
The fslite CLI exposes every method on
FileSystem plus a per-workspace
usage verb and a JSON batch verb. Verb names, one-line summaries, and
supported flags live in
crates/fslite-command/src/help.rs (opens in a new tab)
as the canonical VERB_HELP constant.
For always-current per-verb help, run
fslite help <verb>in your terminal. This page is generated by hand from the same source — when the source changes, update both.
The full table
| Verb | One-line summary |
|---|---|
append | Append bytes to a regular file (creates if missing). Flags: --text, --expected-revision. |
batch | Atomically execute a list of metadata operations from a file or stdin. Flags: --file. |
cat | Stream a regular file's contents to stdout. Flags: --range, --no-follow. |
changes | Stream the workspace change feed (cursor-paginated). Flags: --after, --cursor, --limit. |
cp | Copy a node within the workspace. Flags: --recursive, --overwrite, --expected-revision. |
exists | Test whether a path resolves to a visible node (exit 0 if yes). Flags: --no-follow. |
find | Match nodes by bounded metadata predicates (kind, size, mtime, name). Flags: --name-contains, --kind, --min-size, --max-size, --modified-after, --modified-before, --cursor, --limit. |
glob | Match absolute paths by shape (e.g. /logs/*.txt). Flags: --cursor, --limit. |
grep | Literal byte matches inside regular files (returns matched ranges). Flags: --cursor, --limit. |
ln | Create a symbolic link. Flags: --parents, --exist-ok, --expected-revision. |
ls | List one directory's direct children (cursor-paginated). Flags: --cursor, --limit. |
mkdir | Create a directory. Flags: --parents, --exist-ok, --expected-revision. |
mv | Move a node within the workspace. Flags: --overwrite, --expected-revision. |
purge | Permanently delete a trashed node. (no flags). |
readlink | Print a symbolic link's stored target. (no flags). |
restore | Restore a trashed node (optionally to a different path). Flags: --to, --expected-revision. |
rm | Permanently remove a node and (recursively) its subtree. Flags: --recursive, --expected-revision. |
rmattr | Remove a custom attribute from a node. Flags: --expected-revision. |
setattr | Set an opaque custom attribute on a node. Flags: --value, --expected-revision. |
stat | Print metadata for one path. Flags: --no-follow. |
touch | Update timestamps or create an empty regular file. Flags: --no-create, --expected-revision. |
trash | Move a node into recoverable trash. Flags: --expected-revision. |
trash-ls | List recoverable trash records (cursor-paginated). Flags: --cursor, --limit. |
tree | Recursively enumerate a subtree (cursor-paginated). Flags: --max-depth, --follow-symlinks, --cursor, --limit. |
truncate | Set a regular file's logical length. Flags: --length, --expected-revision. |
usage | Print workspace byte/node usage and quota limits. (no flags). |
write | Replace a regular file's contents (creates by default). Flags: --text, --no-create, --expected-revision. |
write-at | Write bytes beginning at a logical offset. Flags: --offset, --text, --no-create, --expected-revision. |
Common flags across mutating verbs
--expected-revision shows up on every mutating verb because
optimistic concurrency
is a first-class concern. Set it to the Revision you read earlier;
the operation is rejected with RevisionConflict (HTTP 412) if the
node has changed in between. --cursor and --limit show up on every
paged verb — see the CLI flags reference
for the exact cursor format.