vtcode-markdown-store
Markdown-backed storage utilities extracted from VT Code.
This crate provides lightweight persistence helpers that serialize
structured data into Markdown files with embedded JSON and YAML blocks.
Human-readable state files replace the need for a database, and
file-level locking via fs2 ensures safe concurrent access.
Features
- Serialize any
serde::Serializetype into Markdown with embedded JSON + YAML sections - Deserialize back from either embedded format
- Exclusive/shared file locking (
fs2) for concurrent safety - Optional project management, key-value store, and cache modules
Public entrypoints
MarkdownStorage— core storage manager (new(),init(),store(),load(),list(),delete(),exists())SimpleKVStorage— simple key-value store backed by Markdown (featurekv)SimpleProjectManager/ProjectStorage/ProjectData— project metadata persistence (featureprojects)SimpleCache— file-system cache with Markdown-backed locking (featurecache)
Usage
use MarkdownStorage;
use ;
let storage = new;
storage.init?;
let note = Note ;
storage.store?;
let loaded: Note = storage.load?;
Feature flags
| Flag | Description |
|---|---|
projects (default) |
Project metadata management |
kv (default) |
Simple key-value storage |
cache (default) |
File-system cache utilities |