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
| Type | Purpose |
|---|---|
goal | High-level objectives |
decision | Choice points with options |
option | Approaches considered |
action | What was implemented |
outcome | What happened |
observation | Technical 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 config::Config;pub use db::build_metadata_json;pub use db::get_current_git_branch;pub use db::get_current_git_commit;pub use db::CheckboxState;pub use db::CommandLog;pub use db::Database;pub use db::DbRecord;pub use db::DbSummary;pub use db::DecisionContext;pub use db::DecisionEdge;pub use db::DecisionGraph;pub use db::DecisionNode;pub use db::DecisionSession;pub use db::DeleteSummary;pub use db::GitHubIssueCache;pub use db::NodeDocument;pub use db::NodeTheme;pub use db::RoadmapConflict;pub use db::RoadmapItem;pub use db::RoadmapSyncState;pub use db::Theme;pub use db::CURRENT_SCHEMA;pub use events::generate_edge_id;pub use events::Checkpoint;pub use events::CheckpointDocument;pub use events::CheckpointEdge;pub use events::CheckpointNode;pub use events::CheckpointNodeTheme;pub use events::CheckpointTheme;pub use events::Event;pub use events::EventLog;pub use events::EventLogError;pub use events::MaterializedState;pub use events::RebuildResult;pub use export::filter_graph_by_ids;pub use export::filter_graph_from_roots;pub use export::generate_pr_writeup;pub use export::graph_to_dot;pub use export::parse_node_range;pub use export::DotConfig;pub use export::WriteupConfig;pub use hooks::hooks_status;pub use hooks::install_hooks;pub use hooks::integration_status;pub use hooks::uninstall_hooks;pub use narratives::PivotChain;pub use opencode::install_opencode;pub use opencode::opencode_status;pub use opencode::uninstall_opencode;pub use opencode::update_opencode;pub use pulse::PulseReport;
Modules§
- archaeology
- Archaeology - retroactive graph building with atomic operations
- changelog
- Embedded changelog for version update notifications
- config
- Configuration file support for deciduous
- db
- SQLite database with Diesel ORM
- events
- Event log system for multi-user sync
- export
- Export utilities for decision graphs
- github
- GitHub CLI (
gh) Integration - hooks
- Claude Code hooks management
- init
- Project initialization for deciduous
- narratives
- Narratives - evolution story management for the decision graph
- opencode
- OpenCode integration
- pulse
- Pulse - current state health report for the decision graph
- roadmap
- ROADMAP.md Parser and Sync Engine
- schema
- serve
- HTTP server for decision graph viewer