Crate deciduous

Crate deciduous 

Source
Expand description

Deciduous - Decision graph tooling for AI-assisted development

Track every decision, query your reasoning, preserve context across sessions.

§Overview

Deciduous provides a persistent decision graph that survives context loss. Every goal, decision, option, action, and outcome is captured and linked, creating a queryable history of your development process.

§Node Types

TypePurpose
goalHigh-level objectives
decisionChoice points with options
optionApproaches considered
actionWhat was implemented
outcomeWhat happened
observationTechnical insights

§Quick Start

use deciduous::Database;

let db = Database::new("deciduous.db").unwrap();

// Add a goal
let goal_id = db.add_node("goal", "Implement feature X", None, Some(90), None).unwrap();

// Add an action linked to it
let action_id = db.add_node("action", "Writing the code", None, Some(85), None).unwrap();
db.add_edge(goal_id, action_id, "leads_to", None).unwrap();

// Query the graph
let graph = db.get_graph().unwrap();
println!("Nodes: {}, Edges: {}", graph.nodes.len(), graph.edges.len());

Re-exports§

pub use db::CommandLog;
pub use db::Database;
pub use db::DbRecord;
pub use db::DbSummary;
pub use db::DecisionEdge;
pub use db::DecisionGraph;
pub use db::DecisionNode;
pub use db::CURRENT_SCHEMA;
pub use db::get_current_git_branch;
pub use export::graph_to_dot;
pub use export::generate_pr_writeup;
pub use export::filter_graph_from_roots;
pub use export::filter_graph_by_ids;
pub use export::parse_node_range;
pub use export::DotConfig;
pub use export::WriteupConfig;

Modules§

db
SQLite database with Diesel ORM
export
Export utilities for decision graphs
init
Project initialization for deciduous
schema
serve
HTTP server for decision graph viewer