Skip to main content
Mirage connects recursive listings and batch APIs to find, du, ls -R and tree. Your backend can list a whole folder tree together, saving a separate request for every directory.

Example: browse an object store

With an S3 bucket mounted at /data/:
Mirage lists the keys under the object prefix, then uses their paths and metadata to find files or total their sizes. Large listings may take several API pages.

Connect your own backend

Override read_tree(path) in Python or readTree(path) in TypeScript. Return a mapping of relative paths, such as guides/start.md, to their FileStat metadata. Include the full tree below the requested directory, with the same metadata a normal listing would show. Return None in Python or null in TypeScript when a complete tree is unavailable, and Mirage lists directories individually. Commands with depth limits, such as find -maxdepth 1, also list only the levels they need. Mirage applies options such as find -name, find -type and ls -lR to the returned metadata. For search, read_tree discovers files and files_containing selects which ones to read.