Themes and Tags
As your decision graph grows, themes let you organize nodes into cross-cutting concerns that span multiple branches and time periods.
Branches group nodes by when they were created. Themes group nodes by what they are about. A "transport-layer" theme might span nodes from the original ODBC implementation, the revisit that reconsidered it, and the HTTP replacement—all created at different times on different branches, but all part of the same architectural concern.
Creating Themes
Create a theme with a name, optional color, and optional description:
The color is used in the web viewer to visually distinguish themed nodes. If you omit the color, deciduous assigns one automatically.
Listing Themes
Tagging Nodes
Apply a theme to a node with tag add:
A single node can have multiple themes. The revisit node #34 might belong to both "transport-layer" and a broader "architecture-pivots" theme.
Viewing Tags on a Node
AI-Suggested Tagging
For large graphs, manually tagging every node is tedious. The tag suggest command asks your AI assistant to analyze node titles and descriptions, then propose theme assignments:
Review the suggestions and confirm them:
Removing Tags and Deleting Themes
Remove a tag from a specific node:
Delete a theme entirely (this removes the theme and all its tag associations):
Themes in the Web Viewer
When you run deciduous serve or deploy to GitHub Pages, themed nodes are color-coded with their theme color. The viewer's filter panel lets you show only nodes belonging to a specific theme, making it easy to trace a single concern across the entire project history.
Use branches to filter by when work happened (which feature or sprint). Use themes to filter by what the work was about (which architectural concern). Together, they give you two orthogonal ways to slice the graph.