Czech File Knife (CFK) is a universal file management tool that treats all storage backends (local, cloud, distributed, exotic) as a unified filesystem.
| Component | Status | Notes |
|---|---|---|
cfk-core |
Stable |
Core traits, types, error handling |
cfk-cli |
Working |
Basic file operations (ls, cp, mv, rm, cat, mkdir, stat) |
cfk-providers |
Partial |
Local filesystem complete; cloud backends planned |
cfk-cache |
Stub |
Trait definitions; backend implementations coming |
cfk-search |
Stub |
Basic filename search; Tantivy integration planned |
cfk-vfs |
Stub |
FUSE mounting planned for v0.2.0 |
cfk-integrations |
Working |
aria2, agrep, pandoc integrations |
# List files
cfk ls /path/to/directory
cfk ls -l -H . # Long format with human-readable sizes
# Display file contents
cfk cat /path/to/file.txt
# Copy files
cfk cp source.txt dest.txt
cfk cp -f source.txt dest.txt # Force overwrite
# Move/rename files
cfk mv old.txt new.txt
# Remove files
cfk rm file.txt
cfk rm -r directory/ # Recursive
# Create directories
cfk mkdir new_dir
cfk mkdir -p nested/path/dir # Create parents
# Show file info
cfk stat file.txt
# List registered backends
cfk backends
# Show storage info
cfk df local| Language | Purpose |
|---|---|
Rust |
Core engine, providers, cache, CLI |
Ada/SPARK |
TUI with formal verification (planned) |
Nickel |
Configuration language (planned) |
| Format | Use |
|---|---|
JSON |
API responses, config |
MessagePack |
Binary JSON alternative |
CBOR |
Compact binary |
Protocol Buffers |
gRPC, cross-language |
TOML |
Config files |
-
sled (pure Rust embedded KV)
-
SurrealDB (multi-model)
-
LMDB (via heed)
-
DragonflyDB (Redis-compatible)
-
redb
czech-file-knife/
├── cfk-core/ # Core traits, types, errors
├── cfk-providers/ # Storage backends + transports
├── cfk-cache/ # Caching layer (sled/SurrealDB/LMDB)
├── cfk-search/ # Full-text search (Tantivy)
├── cfk-vfs/ # FUSE virtual filesystem
├── cfk-cli/ # Rust CLI
├── cfk-tui/ # Ada/SPARK TUI (planned)
└── cfk-integrations/ # External tools (aria2, pandoc, etc.)# Run tests
cargo test --workspace
# Build in release mode
cargo build --release
# Run CLI directly
cargo run --bin cfk -- ls .
# Check formatting
cargo fmt --check
# Run lints
cargo clippy --workspace| Platform | CLI | FUSE | Cloud | Status |
|---|---|---|---|---|
Linux x86_64 |
Working |
Planned |
Planned |
Primary |
Linux ARM64 |
Working |
Planned |
Planned |
Supported |
macOS |
Working |
Planned |
Planned |
Supported |
Windows |
Working |
Planned |
Planned |
WinFsp |
RISC-V |
Untested |
Untested |
Untested |
Experimental |
-
Core architecture and traits
-
CLI with basic file operations
-
Local filesystem backend
-
Unit tests