So I made this project according to how I think prompt management should work - strongly typed interface, defined in the code; the prompt templates are co-located in the same codebase as their dependencies; and there’s type-hint and validation for devEx. Doing this also brings additional benefit: because the variables are strong typed at compose time, it’s save to support complex prompt templates with if/else/for control loops with full type safety.
I’d love to know whether this resonate with others, or is it just my pet peeve.