boarddown 0.1.4

Local-first, file-based Kanban storage engine with sync capabilities
Documentation

BoardDown - Local-first, file-based Kanban storage engine with sync capabilities

BoardDown treats your project management data as code:

  • Git-compatible: Boards are Markdown, diff them in PRs
  • Offline-first: Local SQLite with optional cloud sync
  • Programmable: Rust/TS APIs for custom automation
  • Human-readable: Edit in any text editor

Quick Start

use boarddown::{Workspace, FilesystemStorage, Status, Storage};
use std::sync::Arc;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Initialize filesystem storage
    let storage = Arc::new(FilesystemStorage::new("./my-board")?);
    
    // Open workspace
    let ws = Workspace::builder()
        .path("./my-board")
        .storage(storage)
        .build()
        .await?;
    
    // Load a board
    let board = ws.get_board("sprint-42").await?;
    
    // Query tasks
    let tasks = board.query()
        .status(Status::Todo)
        .execute()
        .await?;
    
    println!("Found {} todo tasks", tasks.len());
    Ok(())
}

Storage Backends

  • FilesystemStorage - Git-friendly .board.md files
  • SqliteStorage - High-performance indexed storage with FTS
  • HybridStorage - SQLite cache + filesystem source of truth