vibe-graph-ops 0.2.0

Operations layer for Vibe-Graph - provides typed APIs for sync, scan, graph building
Documentation

Vibe-Graph Operations Layer

This crate provides a clean, typed API for all vibe-graph operations. It can be consumed by both the CLI and REST API, ensuring consistent behavior and type-safe interactions.

Architecture

The ops layer follows hexagonal architecture principles:

  • Requests: Typed input DTOs for each operation
  • Responses: Typed output DTOs with all relevant data
  • OpsContext: The main service that executes operations

Usage

use vibe_graph_ops::{OpsContext, SyncRequest, Config};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let config = Config::load()?;
    let ctx = OpsContext::new(config);
    
    let request = SyncRequest::local(".");
    let response = ctx.sync(request).await?;
    
    println!("Synced {} repositories", response.project.repositories.len());
    Ok(())
}