BoardDown
Local-first, file-based Kanban storage engine with sync capabilities
Think "Markdown meets Kanban" — version controlled, offline-capable, and programmable.
Installation
Quick Start
use ;
use Arc;
async
Storage Backends
FilesystemStorage
Git-friendly .board.md files:
use FilesystemStorage;
let storage = new?;
SqliteStorage
High-performance indexed storage with full-text search:
use SqliteStorage;
let storage = new?;
HybridStorage
SQLite cache + filesystem source of truth:
use ;
let hybrid = new;
Exported Types
This crate re-exports all types from the BoardDown ecosystem:
| Module | Types |
|---|---|
| Core | Workspace, Storage, Query, QueryBuilder, Error, EventBus |
| Schema | Board, Task, TaskId, Status, Column, Metadata, Priority |
| FS | FilesystemStorage, FileWatcher, GitIntegration, HookExecutor |
| DB | SqliteStorage, HybridStorage, FullTextSearch |
| Sync | SyncEngine, CrdtEngine, ConflictResolver, SyncResult |
Task Status
| Syntax | Status | Description |
|---|---|---|
- [ ] |
Status::Todo |
Not started |
- [~] |
Status::InProgress |
Currently working |
- [>] |
Status::Review |
Ready for review |
- [x] |
Status::Done |
Completed |
- [?] |
Status::Blocked |
Blocked/Icebox |
- [!] |
Status::Urgent |
High priority |
File Format
BoardDown uses Markdown files with YAML frontmatter:
id: "sprint-42"
board: "Sprint 42: Auth Refactor"
id-prefix: "BD"
-
- -
Sync Support
Enable conflict-free synchronization:
use ;
let sync = new
.with_storage;
let result = sync.sync.await?;
println!;
License
MIT