Skip to content

CLI reference

The fcheap binary manages a local vault of file and directory snapshots. It prints human-readable output by default and stable JSON where --json is supported.

Usage

bash
fcheap [global flags] <command> [arguments] [flags]

Run fcheap <command> --help for the flags accepted by the installed version. Run fcheap agent for the embedded agent operating guide.

Commands by job

Save and inspect

CommandPurpose
saveSnapshot a file or directory with provenance, hashes, and secret scanning
listBrowse and filter stash summaries
infoRead one complete stash manifest
restoreMaterialize a stash and verify its hashes
dropPermanently delete one stash with explicit confirmation

Search and compare

CommandPurpose
analyzeIndex one stash for per-file search
searchSearch indexed stashes with keyword, semantic, or hybrid retrieval
diffCompare a saved tree with a corresponding current directory
connectUse optional vecgrep to rank source code related to saved evidence

Storage lifecycle

CommandPurpose
compressArchive a stash with zstd, gzip, or uncompressed tar
ttlSet, update, or clear expiry metadata
sweepPreview or apply removal of expired stashes
cleanupScore or categorize cleanup candidates
vacuumRemove orphaned derived entries and compact SQLite
ecosystem-statusSummarize storage and cleanup estimates by producing tool

Configuration and interfaces

CommandPurpose
configInspect and update configuration
doctorCheck paths, indexes, and optional dependencies
studioOpen the interactive terminal interface
mcpStart the stdio MCP server
docsRead embedded documentation or manage the docs site from a checkout
agentPrint the version-matched agent operating guide; add --json for its structured form
completionGenerate shell completion scripts
versionPrint version, commit, and build date

Global flags

Global flags can appear before or after the command:

FlagDefaultDescription
--jsonfalsePrint structured JSON when the command supports it
--quietfalseSuppress non-error human output
--no-colorfalseDisable color; file.cheap also honors NO_COLOR
--stash-dir <path>configured valueOverride the stash vault for this invocation
--log-level <level>configured valueSet debug, info, warn, or error logging on stderr
--helpShow command help
--versionPrint the root command version string

A complete first workflow

Saving and indexing are separate unless you request both:

bash
fcheap save ./evidence --tag bug-123 --tool manual --index
fcheap search "checkout stopped" --mode keyword
fcheap info <stash-id>
fcheap restore <stash-id>

Copy <stash-id> from the save result. The restore command creates a fresh temporary directory when --to is omitted and reports whether every file matched its manifest hash.

Automation contract

Use --json rather than parsing colored tables. Operational logs and debug traces go to stderr, while command results go to stdout.

Some commands can complete their primary operation and still report a partial failure. For example, a snapshot can be saved even if requested indexing fails, and a payload can be deleted even if derived-index cleanup fails. Inspect status and failed fields as well as the process exit code.

An empty search result or missing vecgrep index can be valid data rather than a runtime error. The relevant command pages document those cases.

Local and remote boundaries

The vault, manifest database, and BM25 index stay on the machine. A configured OpenAI or non-loopback Ollama embedder receives text during semantic/hybrid indexing and search. connect executes the separately installed vecgrep binary.

No command in this reference uploads stashes to a shipped file.cheap cloud service; cloud sync is not part of the current product.

More help

Local-first. Open source. Released under the MIT License.