feat: add procedural flows with intake forms, navigation, and seed templates

Adds a new "procedural" tree type for linear step-by-step project workflows
(domain controller setup, M365 onboarding, VPN config, etc). Includes intake
form builder, two-panel step navigation, variable resolution, procedural
exports, 3 seed templates, and UI rename from "Trees" to "Flows".

Also archives 19 implemented plan docs and creates deferred features backlog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-02-14 04:13:52 -05:00
parent 303570ca2c
commit 350c977eda
58 changed files with 11686 additions and 167 deletions

View File

@@ -6,16 +6,18 @@
* - [SAVE_AS:name] → removed from display
*/
export function resolveVariables(text: string, variables: Record<string, string>): string {
// Replace [VAR:name]
// Replace [VAR:name] — empty/missing values show "N/A"
let result = text.replace(/\[VAR:([^\]]+)\]/g, (_, name) => {
const key = name.trim()
return variables[key] ?? `[VAR:${key}]`
const value = variables[key]
return value && value.trim() ? value : 'N/A'
})
// Replace [USER_INPUT:prompt]
result = result.replace(/\[USER_INPUT:([^\]]+)\]/g, (_, prompt) => {
const key = prompt.trim()
return variables[key] ?? `[USER_INPUT:${key}]`
const value = variables[key]
return value && value.trim() ? value : 'N/A'
})
// Remove [SAVE_AS:name]