fcp-core-rust
Shared Rust framework for building FCP (File Context Protocol) servers.
What It Provides
fcp-core-rust extracts the common infrastructure that every FCP server needs — tokenizer, operation parser, verb registry, event log, session lifecycle, and response formatter — into a standalone library crate. FCP servers like fcp-rust and fcp-regex depend on it.
This is the Rust equivalent of the fcp-core TypeScript/Python package.
Modules
| Module | Purpose |
|---|---|
tokenizer |
Quote-aware tokenizer — splits FCP operation strings on whitespace, handles quoted strings and escape sequences |
parsed_op |
Operation parser — classifies tokens into verb, positionals, key:value params, and @selectors |
verb_registry |
Verb specification registry with reference card generation grouped by category |
event_log |
Cursor-based event log with undo/redo and named checkpoints |
session |
Session lifecycle dispatcher (new/open/save/checkpoint/undo/redo) with domain hooks trait |
formatter |
Response prefix formatting (+ created, * modified, - removed, = result, ! error) and Levenshtein-based suggestions |
Usage
Add to your Cargo.toml:
[]
= { = "https://github.com/aetherwing-io/fcp-core-rust" }
Parsing Operations
use parse_op;
let op = parse_op.unwrap;
assert_eq!;
assert_eq!;
assert_eq!;
Event Log (Undo/Redo)
use EventLog;
let mut log = new;
log.append;
log.append;
log.checkpoint;
log.append;
let undone = log.undo; // undoes "deleted widget"
let undone = log.undo_to; // undoes back to checkpoint
Verb Registry
use ;
let mut reg = new;
reg.register;
let card = reg.generate_reference_card;
Development
No external dependencies — pure Rust standard library only.
License
MIT