Version 0.1.3 behavior is documented here. Thesupport record separates local verification frompublished MoonX behavior; moonx examples use registry releases.
The C-locale profile supports -a/--all, -d/--dirs-only,-f/--full-path, positive -L/--level, and --noreport, with one or moreroots. Text uses ASCII branches and C byte ordering. Names escape spaces,backslashes, control bytes and non-ASCII bytes. Directory totals includenonempty roots, matching the fixed tree 2.2.1 provider; an empty root itselfdoes not contribute to its report. -d omits the file total.
-P includes file patterns, -I excludes names and matching directorysubtrees, and repeated patterns form unions. Patterns support *, **, ?,bracket sets/ranges with ^ negation, backslash escapes and | alternatives.--ignore-case folds ASCII C-locale bytes. --matchdirs allows a matchingdirectory's immediate contents; nested matches use their relative path.--prune removes empty selected branches, retaining directories that match--matchdirs. --filelimit N counts selected entries before descent; positivelimits annotate a directory instead of traversing it, while zero/negativevalues disable the limit. Prune, depth and filelimit order follows the fixedprovider, including its report behavior after pruning all descendants.
-J emits JSON with escaped names, nested contents and an optional reportentry. -H BASE emits HTML with links; -T TITLE selects its title. The last-J or -H wins. --noreport also removes structured reports. JSON nevercontains ANSI colors. HTML escapes title, base and names, encodes URL pathbytes, declares UTF-8, and identifies the real cli/tree version. These areexplicit product contracts: the upstream 2.2.1 unsafe title/path insertion,generator banner, stylesheet and credits are not reproduced as whole-page parity claims.
Traversal and pruning use a private visit/finish stack; counting and all threerenderers are iterative. The necessary selected nodes are retained for pruneand structured output. Text, JSON and HTML flush bounded output batches ratherthan building a second copy of the complete rendered listing.
-C forces explicit TREE_COLORS type/extension colors, falling back toLS_COLORS. -n disables unforced color; like the provider, an explicit -Ctakes precedence in either order. No new terminal auto-detection is added.TERM must be present for text colors. Suffix definitions are case-sensitiveand last matching definitions win. Types include directories, regular files,FIFO/socket and block/character devices through public FileKind.
The public API cannot read raw mode bits. Text colors therefore rejectpresent su, sg, ex selectors for regular files and tw, ow, stselectors for directories. Omit those definitions to use the remainingcolors; unlike GNU ls, tree treats even ex=0 as an enabled predicate. Thebuilt-in regular-file palette includes ex, so it also needs the missingreader. HTML -C requires executable classification for regular files andexplicitly rejects that combination until raw mode bits become public.Effective access is never substituted for the any-execute-mode-bit test.
-s, -h, --si and --du read actual public size metadata, includingthe fixed provider's float32 human-size rounding. --du sums each selecteddirectory's own size and its selected descendants in postorder. The releasedLinux backend exposes directory inode sizes through file_size; macOS Nativeand Wasm currently report Operation not supported for directories. Suchmetadata errors are reported rather than replaced by an invented size.Unavailable mode categories can be enabled after a released public metadatareader and corresponding platform/provider revalidation.
Symbolic-link entries selected for display remain explicitly rejected becausethe public filesystem API does not expose the target text needed by tree.Ownership, permissions and inode/device-number reports remain outside thisprofile. Existing access failures retain explicit command diagnostics ratherthan reproducing the upstream missing-root malformed JSON output.--help prints usage and --version prints the command and package version.
Standalone --version prints exactly tree 0.1.3 followed by onenewline. Standalone --help starts with Usage: tree, lists bothmetadata options, and ends with a newline. Both write to stdout, leave stdinunread, and exit with status 0. Exact-version publication and verificationremain recorded separately in the support record.