Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use this when you are working on file operations like reading, writing, scanning, or deleting files. It summarizes the preferred file APIs and patterns used in this repo. It also notes when to use filesystem helpers for directories.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 72% | 0% |
packages/cyberstrikeBun.file(path) is lazy; call text, json, stream, arrayBuffer, bytes, exists to read.file.size, file.type, file.name.Bun.write(dest, input) writes strings, buffers, Blobs, Responses, or files.Bun.file(...).delete() deletes a file.file.writer() returns a FileSink for incremental writes.Bun.Glob + Array.fromAsync(glob.scan({ cwd, absolute, onlyFiles, dot })) for scans.Bun.which to find a binary, then Bun.spawn to run it.Bun.readableStreamToText/Bytes/JSON for stream output.node:fs/promises for directories (mkdir, readdir, recursive operations).fs for file access.Bun.file(...).exists() before reading.arrayBuffer() and MIME checks via file.type.Bun.Glob + Array.fromAsync for scans.Bun.readableStreamToText.Bun.write(Bun.file(path), text).NOTE: Bun.file(...).exists() will return false if the value is a directory. Use Filesystem.exists(...) instead if path can be file or directory
path.join/path.resolve for paths..catch(...) over try/catch when possible.Other measured skills in the registry, with their headline benchmark lift.